Variáveis de ambiente - AWS Amplify Hospedagem

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Variáveis de ambiente

As variáveis de ambiente são pares de valores-chave que é possível adicionar às configurações do seu aplicativo para disponibilizá-las para o Amplify Hosting. Como uma melhor prática, é possível usar variáveis de ambiente para expor dados de configuração do aplicativo. Todas as variáveis de ambiente que você adiciona são criptografadas para impedir o acesso não autorizado.

O Amplify impõe as seguintes restrições às variáveis de ambiente que você cria.

  • O Amplify não permite que você crie nomes de variáveis de ambiente com um AWS prefixo. Esse prefixo é reservado somente para uso interno do Amplify.

  • O valor de uma variável de ambiente não pode exceder 5500 caracteres.

Importante

Não use variáveis de ambiente para armazenar segredos. Para um aplicativo de 2ª geração, use o recurso de gerenciamento secreto no console do Amplify. Para obter mais informações, consulte Segredos e variáveis de ambiente na documentação do Amplify. Para um aplicativo de primeira geração, armazene segredos em um segredo de ambiente criado usando o AWS Systems Manager Parameter Store. Para ter mais informações, consulte Gerenciando segredos do ambiente.

Variáveis de ambiente do Amplify

As seguintes variáveis de ambiente podem ser acessadas por padrão no console do Amplify.

Nome da variável Descrição Valor de exemplo

_BUILD_TIMEOUT

A duração do tempo limite de compilação em minutos

30

_LIVE_UPDATES

A ferramenta será atualizada para a versão mais recente.

[{"name":"Amplify CLI","pkg":"@aws-amplify/cli","type":"npm","version":"latest"}]

USER_DISABLE_TESTS

A etapa de teste é ignorada durante uma compilação. É possível desativar os testes para todas as ramificações ou ramificações específicas em um aplicativo.

Essa variável de ambiente é usada para aplicativos que realizam testes durante a fase de compilação. Para obter mais informações sobre a configuração dessa variável, consulte Desabilitar testes.

true

AWS_APP_ID

O ID da compilação atual

abcd1234

AWS_BRANCH

O nome da ramificação da compilação atual

main, develop, beta, v2.0

AWS_BRANCH_ARN

O nome de recurso da Amazon (ARN) da filial da compilação atual

aws:arn:amplify:us-west-2:123456789012:appname/branch/...

AWS_CLONE_URL

O clone URL usado para buscar o conteúdo do repositório git

git@github.com:<user-name>/<repo-name>.git

AWS_COMMIT_ID

O ID de confirmação da compilação atual

“HEAD” para reconstruções

abcd1234

AWS_JOB_ID

O ID de trabalho da compilação atual.

Isso inclui algum preenchimento com "0" para que sempre tenha o mesmo comprimento.

0000000001

AWS_PULL_REQUEST_ID

O ID do pull request da compilação de pré-visualização da web do pull request.

Essa variável de ambiente não está disponível ao ser usada AWS CodeCommit como seu provedor de repositório.

1

AWS_PULL_REQUEST_SOURCE_BRANCH

O nome da ramificação de recursos de uma prévia de pull request enviada para uma ramificação do aplicativo no console do Amplify.

featureA

AWS_PULL_REQUEST_DESTINATION_BRANCH

O nome da ramificação do aplicativo no console do Amplify para a qual uma pull request da ramificação de recursos está sendo enviada.

main

AMPLIFY_AMAZON_CLIENT_ID

O ID do cliente da Amazon

123456

AMPLIFY_AMAZON_CLIENT_SECRET

O segredo do cliente da Amazon

example123456

AMPLIFY_FACEBOOK_CLIENT_ID

O ID do cliente do Facebook

123456

AMPLIFY_FACEBOOK_CLIENT_SECRET

O segredo do cliente do Facebook

example123456

AMPLIFY_GOOGLE_CLIENT_ID

O ID do cliente do Google

123456

AMPLIFY_GOOGLE_CLIENT_SECRET

O segredo do cliente do Google

example123456

AMPLIFY_DIFF_DEPLOY

Ative ou desative a implantação de front-end baseada em diff. Para ter mais informações, consulte Configurando a criação e implantação de front-end baseados em diff.

true

AMPLIFY_DIFF_DEPLOY_ROOT

O caminho a ser usado para comparações de implantação de front-end baseadas em diff, em relação à raiz do seu repositório.

dist

AMPLIFY_DIFF_BACKEND

Ative ou desative as compilações de back-end baseadas em diff. Isso se aplica somente aos aplicativos de primeira geração. Para ter mais informações, consulte Configurando compilações de back-end baseadas em diff para um aplicativo de primeira geração.

true

AMPLIFY_BACKEND_PULL_ONLY

O Amplify gerencia essa variável de ambiente. Isso se aplica somente aos aplicativos de primeira geração. Para ter mais informações, consulte Edite um front-end existente para apontar para um back-end diferente.

true

AMPLIFY_BACKEND_APP_ID

O Amplify gerencia essa variável de ambiente. Isso se aplica somente aos aplicativos de primeira geração. Para ter mais informações, consulte Edite um front-end existente para apontar para um back-end diferente.

abcd1234

AMPLIFY_SKIP_BACKEND_BUILD

Se você não tiver uma seção de back-end em sua especificação de compilação e quiser desativar as compilações de back-end, defina essa variável de ambiente como true. Isso se aplica somente aos aplicativos de primeira geração.

true

AMPLIFY_ENABLE_DEBUG_OUTPUT

Defina essa variável true para imprimir um rastreamento de pilha nos registros. Isso é útil para depurar erros de compilação de back-end.

true

AMPLIFY_MONOREPO_APP_ROOT

O caminho a ser usado para especificar a raiz do aplicativo monorepo, em relação à raiz do seu repositório.

apps/react-app

AMPLIFY_USERPOOL_ID

O ID do grupo de usuários do Amazon Cognito importado para autenticação

us-west-2_example

AMPLIFY_WEBCLIENT_ID

O ID do cliente do aplicativo a ser usado por aplicativos da web

O cliente do aplicativo deve ser configurado com acesso ao grupo de usuários do Amazon Cognito especificado pela variável de ambiente AMPLIFY _ USERPOOL _ID.

123456

AMPLIFY_NATIVECLIENT_ID

O ID do cliente do aplicativo a ser usado por aplicativos nativos

O cliente do aplicativo deve ser configurado com acesso ao grupo de usuários do Amazon Cognito especificado pela variável de ambiente AMPLIFY _ USERPOOL _ID.

123456

AMPLIFY_IDENTITYPOOL_ID

O ID do banco de identidades do Amazon Cognito

example-identitypool-id

AMPLIFY_PERMISSIONS_BOUNDARY_ARN

O ARN para que a IAM política seja usada como um limite de permissões que se aplica a todas as IAM funções criadas pelo Amplify. Para obter mais informações, consulte Limite de IAM permissões para funções geradas pelo Amplify.

arn:aws:iam::123456789012:policy/example-policy

AMPLIFY_DESTRUCTIVE_UPDATES

Defina essa variável de ambiente como true para permitir que um GraphQL API seja atualizado com operações de esquema que podem potencialmente causar perda de dados.

true

nota

As variáveis de AMPLIFY_AMAZON_CLIENT_SECRET ambiente AMPLIFY_AMAZON_CLIENT_ID e são OAuth tokens, não uma chave de AWS acesso e uma chave secreta.

Definição de variáveis de ambiente

Use as instruções a seguir para definir variáveis de ambiente para um aplicativo no console do Amplify.

nota

As variáveis de ambiente são visíveis no menu de configurações do aplicativo do console Amplify somente quando um aplicativo é configurado para implantação contínua e conectado a um repositório git. Para obter instruções sobre esse tipo de implantação, consulte Introdução ao código existente.

Para definir variáveis de ambiente
  1. Faça login AWS Management Console e abra o console do Amplify.

  2. No console do Amplify, escolha Hospedagem e, em seguida, escolha Variáveis de ambiente.

  3. Na página Variáveis de ambiente, selecione Gerenciar variáveis de ambiente.

  4. Em Variável, insira sua chave. Em Valor, insira seu valor. Por padrão, o Amplify aplica as variáveis de ambiente em todas as ramificações para que você não precise inseri-las novamente quando conecta uma nova ramificação.

  5. (Opcional) Para personalizar uma variável de ambiente especificamente para uma ramificação, adicione uma substituição de ramificação da seguinte forma:

    1. Escolha Ações e Adicionar substituição de variável.

    2. Agora, você tem um conjunto de variáveis de ambiente específicas para sua ramificação.

  6. Escolha Salvar.

Acesse variáveis de ambiente no momento da compilação

Para acessar uma variável de ambiente durante uma compilação, edite as configurações da compilação para incluir a variável de ambiente nos comandos de compilação.

Cada comando em sua configuração de compilação é executado dentro de um shell Bash. Para obter mais informações sobre como trabalhar com variáveis de ambiente no Bash, consulte Expansões do Shell no Manual do GNU Bash.

Para editar as configurações da compilação para incluir uma variável de ambiente
  1. Faça login AWS Management Console e abra o console do Amplify.

  2. No console do Amplify, escolha Hospedagem e, em seguida, selecione Configurações de criação.

  3. Na seção Especificação de compilação do aplicativo, escolha Editar.

  4. Adicione a variável de ambiente ao comando de compilação. Agora você deve ser capaz de acessar a variável de ambiente durante a próxima compilação. Este exemplo altera o comportamento do npm (BUILD_ENV) e adiciona um API token (TWITCH_CLIENT_ID) para um serviço externo a um arquivo de ambiente para uso posterior.

    build: commands: - npm run build:$BUILD_ENV - echo "TWITCH_CLIENT_ID=$TWITCH_CLIENT_ID" >> backend/.env
  5. Escolha Salvar.

Tornando as variáveis de ambiente acessíveis aos runtimes do lado do servidor

Por padrão, um componente do servidor Next.js não tem acesso às variáveis de ambiente do seu aplicativo. Esse comportamento é intencional para proteger todos os segredos armazenados nas variáveis de ambiente que seu aplicativo usa durante a fase de compilação.

Para tornar variáveis de ambiente específicas acessíveis ao Next.js, você deve modificar o arquivo de especificação de compilação do Amplify para definir as variáveis de ambiente nos arquivos de ambiente que o Next.js reconhece. Isso permite que o Amplify carregue as variáveis de ambiente antes de compilar o aplicativo. Para obter mais informações sobre como modificar sua especificação de compilação, veja exemplos de como adicionar variáveis de ambiente na seção de comandos de compilação.

Crie um novo ambiente de back-end com parâmetros de autenticação para login social

Para conectar uma ramificação a um aplicativo
  1. Faça login AWS Management Console e abra o console do Amplify.

  2. O procedimento para conectar uma ramificação a um aplicativo varia dependendo se você está conectando uma ramificação a um novo aplicativo ou a um aplicativo existente.

    • Conectando uma ramificação a um novo aplicativo

      1. Na página Configurações de compilação, localize a seção Selecionar um ambiente de back-end para usar com esta ramificação. Em Ambiente, escolha Criar novo ambiente e insira o nome do seu ambiente de back-end. A captura de tela a seguir mostra a seção Selecionar um ambiente de back-end para usar com esta ramificação da página Configurações de compilação com a inserção do nome backend do ambiente de back-end.

        A seção Selecione um ambiente de back-end para usar com essa ramificação da página de configurações de compilação.
      2. Expanda a seção Configurações avançadas na página Configurações de compilação e adicione variáveis de ambiente para chaves de login social. Por exemplo, AMPLIFY_FACEBOOK_CLIENT_SECRET é uma variável de ambiente válida. Para ver a lista de variáveis de ambiente do sistema Amplify que estão disponíveis por padrão, consulte a tabela em Variáveis de ambiente do Amplify.

    • Conectando uma ramificação a um aplicativo existente

      1. Se você estiver conectando uma nova ramificação a um aplicativo existente, defina as variáveis do ambiente de login social antes de conectar a ramificação. No painel de navegação, escolha Configurações do aplicativo, Variáveis de ambiente.

      2. Na seção Variáveis de ambiente, escolha Gerenciar variáveis.

      3. Na seção Gerenciar variáveis, escolha Adicionar variável.

      4. Em Variável (chave), insira seu ID de cliente. Para Valor, insira o segredo do cliente.

      5. Escolha Salvar.

Variáveis de ambiente da estrutura de front-end

Se você estiver desenvolvendo seu aplicativo com uma estrutura de front-end que suporta suas próprias variáveis de ambiente, é importante entender que elas não são iguais às variáveis de ambiente que você configura no console do Amplify. Por exemplo, React (prefixado REACT _APP) e Gatsby (prefixadoGATSBY) permitem que você crie variáveis de ambiente de tempo de execução que essas estruturas agrupam automaticamente em sua compilação de produção de front-end. Para entender os efeitos do uso dessas variáveis de ambiente para armazenar valores, consulte a documentação da estrutura de front-end que você está usando.

Armazenar valores confidenciais, como API chaves, dentro dessas variáveis de ambiente prefixadas da estrutura de front-end não é uma prática recomendada e é altamente desencorajado. Para obter um exemplo de uso das variáveis de ambiente de tempo de compilação do Amplify para essa finalidade, consulte Acesse variáveis de ambiente no momento da compilação.

Gerenciando segredos do ambiente

Com o lançamento do Amplify Gen 2, o fluxo de trabalho para segredos de ambiente é simplificado para centralizar o gerenciamento de segredos e variáveis de ambiente no console do Amplify. Para obter instruções sobre como configurar e acessar segredos para um aplicativo Amplify Gen 2, consulte Segredos e variáveis de ambiente na documentação do Amplify.

Os segredos de ambiente de um aplicativo de primeira geração são semelhantes às variáveis de ambiente, mas são pares de valores-chave do AWS Systems Manager Parameter Store que podem ser criptografados. Alguns valores devem ser criptografados, como a chave privada Sign in with Apple para Amplify.

Defina e acesse segredos do ambiente para um aplicativo de primeira geração

Use as instruções a seguir para definir um segredo de ambiente para um aplicativo Amplify de primeira geração usando o AWS Systems Manager console.

Para definir um segredo de ambiente
  1. Faça login no AWS Management Console e abra o AWS Systems Manager console.

  2. No painel de navegação, escolha Gerenciamento de aplicativos e, em seguida, escolha Parameter Store.

  3. Na página Armazenamento de parâmetros do AWS Systems Manager, escolha Criar parâmetro.

  4. Na página Criar parâmetro, na seção Detalhes de parâmetro, faça o seguinte:

    1. Para Nome, digite um parâmetro no formato/amplify/{your_app_id}/{your_backend_environment_name}/{your_parameter_name}.

    2. Em Type (Tipo), escolha SecureString.

    3. Em Fonte da KMS chave, escolha Minha conta atual para usar a chave padrão para sua conta.

    4. Em Valor, insira seu valor secreto para criptografar.

  5. Escolha Criar parâmetro.

nota

O Amplify só tem acesso às chaves abaixo de /amplify/{your_app_id}/{your_backend_environment_name} para a compilação do ambiente específico. Você deve especificar o padrão AWS KMS key para permitir que o Amplify decifre o valor.

Acessar segredos de ambiente

Acessar um segredo de ambiente para um aplicativo de primeira geração durante uma compilação é semelhante ao acesso a variáveis de ambiente, exceto que os segredos do ambiente são armazenados process.env.secrets como uma JSON string.

Segredos do ambiente do Amplify

Especifique um parâmetro do Systems Manager no formato /amplify/{your_app_id}/{your_backend_environment_name}/AMPLIFY_SIWA_CLIENT_ID.

É possível usar as seguintes segredos de ambiente que podem ser acessadas por padrão no Amplify.

Nome da variável Descrição Valor de exemplo

AMPLIFY_SIWA_CLIENT_ID

O login com o ID do cliente da Apple

com.yourapp.auth

AMPLIFY_SIWA_TEAM_ID

O login com o ID da equipe da Apple

ABCD123

AMPLIFY_SIWA_KEY_ID

O login com o ID da chave da Apple

ABCD123

AMPLIFY_SIWA_PRIVATE_KEY

O login com a chave privada da Apple

-----BEGIN PRIVATE KEY-----

****......

-----END PRIVATE KEY-----