# Use o template Upstash GeoLocation

import Tag from '~/components/webkit/Tag.vue';

<Tag severity="info">
Preview
</Tag>

**Upstash GeoLocation** é uma automação desenvolvida para implantar um banco de dados diretamente no edge enquanto permite a configuração de mensagens personalizadas que serão entregues de acordo com a localização geográfica do usuário.

Essas mensagens são entregues por meio de uma interface estática, baseada em HTML e gerada pelo template após a implantação.

---

## Pré-requisitos

Antes de usar este template, você precisa:

- Criar uma [conta no Upstash](https://console.upstash.com/).
- Criar um banco de dados global para obter a melhor latência de edge disponível no [console do Upstash](https://console.upstash.com/).
- Ter uma [conta no GitHub](https://github.com/signup) para conectar com a Azion e criar seu novo repositório.
  - Cada push será implantado automaticamente neste repositório para manter seu projeto atualizado.
- O template usa [Application Accelerator](/pt-br/documentacao/produtos/build/applications/application-accelerator/) e [Functions](/pt-br/documentacao/produtos/build/applications/functions/). Isso pode gerar custos relacionados ao uso. Consulte a [página de preços](/pt-br/documentacao/produtos/precos/) para mais informações.

:::caution[Atenção]
Qualquer custo gerado pelo uso do Upstash será processado e cobrado separadamente na plataforma do Upstash. Visite a [documentação do Upstash](https://docs.upstash.com/redis/features/globaldatabase#pricing) para obter mais detalhes.
:::

---

## Implante o template

Você pode obter e configurar seu template pelo Azion Console. Para implantá-lo facilmente no edge, clique no botão abaixo.

  <DocButton
    label="Implantar"
    href="https://console.azion.com/create/upstash/upstash-geolocation"
    icon="ai ai-azion"
    size="medium"
  />

---

## Configure o template

No formulário de configuração, forneça as informações para configurar sua aplicação. Preencha os campos apresentados.

Os campos identificados com asterisco são obrigatórios.

1. Conecte a Azion com sua conta no GitHub.
- Uma janela pop-up será aberta para confirmar a instalação da [Azion GitHub App](/pt-br/documentacao/produtos/guias/azion-github-app/), uma ferramenta que conecta sua conta do GitHub com a plataforma da Azion.
- Defina suas permissões e acesso ao repositório conforme desejado.
2. Selecione o **Git Scope** com o qual trabalhar.
3. Defina um nome para sua application.
- O bucket para armazenamento e a function usarão o mesmo nome.
- Use um nome único e fácil de lembrar. Se o nome já tiver sido usado, a plataforma retornará uma mensagem de erro.
4. Complete os campos:
- **Upstash Redis Rest URL** *: a URL para acessar seu banco de dados Upstash usando REST.
   - Acesse o console do Upstash e copie o `UPSTASH_REDIS_REST_URL` na página do banco de dados.
- **Upstash Redis Rest Token** *: o token para autorizar o acesso ao seu banco de dados Upstash usando REST.
   - Acesse o console do Upstash e copie o `UPSTASH_REDIS_REST_TOKEN na` página do banco de dados.
4. Clique no botão **Deploy** para iniciar o processo de implantação.

Durante a implantação, você poderá acompanhar o processo através de uma janela mostrando os logs. Quando estiver concluída, a página mostra informações sobre a aplicação e algumas opções para continuar sua jornada.

:::note
O link para sua application permite que você veja como ela fica no navegador. No entanto, leva um certo tempo para propagar e configurá-la nas edge locations da Azion. Pode ser necessário aguardar alguns minutos para que a URL seja ativada e para que a página da aplicação seja efetivamente exibida no navegador.
:::

### Principais configurações

O Upstash GeoLocation cria uma nova application na Azion e seu domínio. Também cria uma function para fornecer os argumentos para o template, incluindo os argumentos para a geolocalização, um novo repositório em sua conta no GitHub com base em um [template público](https://github.com/aziontech/azion-samples/tree/dev/templates/upstash-geolocation), que inclui uma GitHub Action para facilitar o continuous deployment, e uma interface estática para exibir as mensagens.

Nesta função, a biblioteca `upstash/redis` é integrada, conectando-se ao seu banco de dados global no Upstash e recuperando a mensagem com base na localização do usuário. Esta localização é retirada dos metadados `["geoip_country_code"]`.

O template também incorpora em seu banco de dados mensagens baseadas na localização, que são recuperadas da integração com o Upstash, semelhante a este exemplo:

```bash
Welcome to Upstash CLI

set BR "Olá, tudo bem!"
OK
set GB "Ey up?"
OK
set US "Yo, what's up?"
OK
set IN "Namaste"
OK
```

Você pode personalizar essas mensagens em seu banco de dados do Upstash para atender às suas necessidades.

Para saber como editar e personalizar as configurações de seu projeto, vá para a seção [Gerenciar seu projeto na Azion](#gerencie-seu-projeto-na-azion).

---

## Gerencie seu projeto na Azion

Considerando que essa configuração inicial pode não ser ideal para sua aplicação, todas as configurações podem ser personalizadas sempre que você precisar usando o Azion Console. Depois que o template for implantado, você também terá controle total sobre a personalização de sua conta e banco de dados do Upstash.

Para gerenciar e editar as configurações da sua aplicação, siga estas etapas:

1. [Acesse o Azion Console](https://console.azion.com).
2. No canto superior esquerdo, selecione **Products menu** > **Applications**.
- Você será redirecionado para a página de **Applications**. Ela lista todas as applications que você criou.
3. Encontre a application relacionada ao template e selecione-a.
- A lista é organizada em ordem alfabética. Você também pode usar a **barra de busca** localizada no canto superior esquerdo da lista; atualmente, ela é filtrada apenas pelo **Application Name**, ou nome da application.

Depois de selecionar a aplicação em que você trabalhará, você será direcionado para uma página que contém todas as configurações que você pode ajustar.

:::tip[dica]
Leia a documentação sobre o [gerenciamento de applications](/pt-br/documentacao/produtos/build/applications/primeiros-passos/) para obter mais detalhes. Para perguntas específicas relacionadas ao Upstash, consulte a [documentação](https://docs.upstash.com/) do Upstash.
:::

### Adicione um domínio personalizado

A application criada tem um Azion Workload Domain atribuído para torná-la acessível através do navegador. O domínio tem o seguinte formato: `xxxxxxxxxx.map.azionedge.net`. No entanto, você pode adicionar um domínio personalizado para que os usuários acessem sua aplicação por meio dele.

import DocButton from '~/components/webkit/DocButton.vue';

<DocButton href="/pt-br/documentacao/produtos/guias/configurar-dominio/" label="consulte o guia para configurar domínios" kind="secondary" size="medium" /> 

---