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á.
Endpoints específicos de serviço
nota
Para obter ajuda na compreensão do layout das páginas de configurações ou na interpretação da tabela Support by AWS SDKs and tools a seguir, consulteEntendendo as páginas de configurações deste guia.
A configuração de endpoint específico de serviço oferece a opção de usar um endpoint de sua escolha para solicitações de API e para ter a persistência dessa escolha. Essas configurações oferecem flexibilidade para permitir endpoints locais, endpoints da VPC e ambientes de desenvolvimento da AWS local de terceiros. Diferentes endpoints podem ser usados para ambientes de teste e produção. Você pode especificar um URL de endpoint para Serviços da AWS individuais.
Configure essa funcionalidade usando o seguinte:
endpoint_url- configuração de AWSconfigarquivo compartilhadoAWS_ENDPOINT_URL: variável de ambienteaws.endpointUrl- Propriedade do sistema JVM: somente Java/Kotlin-
Quando especificada diretamente em um perfil ou como uma variável de ambiente, esta configuração especifica o endpoint usado para todas as solicitações de serviço. Este endpoint é substituído por qualquer endpoint específico do serviço configurado.
Você também pode usar essa configuração em uma
servicesseção de um AWSconfigarquivo compartilhado para definir um endpoint personalizado para um serviço específico. Para obter uma lista de todas as chaves de identificação de serviço a serem usadas nas subseções dentro da seçãoservices, consulte Identificadores para endpoints específicos de serviço.Valor padrão:
noneValores válidos: um URL incluindo o esquema e o host do endpoint. Opcionalmente, o URL pode conter um componente de caminho que contenha um ou mais segmentos de caminho.
AWS_ENDPOINT_URL_<SERVICE>: variável de ambienteaws.endpointUrl<ServiceName>- Propriedade do sistema JVM: somente Java/Kotlin-
AWS_ENDPOINT_URL_<SERVICE>, onde<SERVICE>está o AWS service (Serviço da AWS) identificador, define um endpoint personalizado para um serviço específico. Para obter uma lista de todas as variáveis de ambiente específicas do serviço, consulte Identificadores para endpoints específicos de serviço.Este endpoint específico do serviço substitui qualquer endpoint global configurado em
AWS_ENDPOINT_URL.Valor padrão:
noneValores válidos: um URL incluindo o esquema e o host do endpoint. Opcionalmente, o URL pode conter um componente de caminho que contenha um ou mais segmentos de caminho.
ignore_configured_endpoint_urls- configuração de AWSconfigarquivo compartilhadoAWS_IGNORE_CONFIGURED_ENDPOINT_URLS: variável de ambienteaws.ignoreConfiguredEndpointUrls- Propriedade do sistema JVM: somente Java/Kotlin-
Esta configuração é usada para ignorar todas as configurações personalizadas de endpoints.
Observe que qualquer endpoint explícito definido no código ou no próprio cliente de serviço é usado independentemente desta configuração. Por exemplo, incluir o parâmetro da linha de
--endpoint-urlcomando com um AWS CLI comando ou passar uma URL de endpoint para um construtor de cliente sempre terá efeito.Valor padrão:
falseValores válidos:
-
true: o SDK ou a ferramenta não lê nenhuma opção de configuração personalizada do arquivoconfigcompartilhado ou das variáveis de ambiente para definir um URL de endpoint. -
false: o SDK ou a ferramenta usa todos os endpoints disponíveis fornecidos pelo usuário a partir do arquivoconfigcompartilhado ou de variáveis de ambiente.
-
Configurar endpoints usando variáveis de ambiente
Para rotear solicitações de todos os serviços para um URL de endpoint personalizado, defina a variável de ambiente global AWS_ENDPOINT_URL.
export AWS_ENDPOINT_URL=http://localhost:4567
Para encaminhar solicitações de um URL específico AWS service (Serviço da AWS) para um endpoint personalizado, use a variável de AWS_ENDPOINT_URL_<SERVICE> ambiente. Amazon DynamoDB tem um serviceId de DynamoDBAWS_ENDPOINT_URL_DYNAMODB. Este endpoint tem precedência sobre o endpoint global definido em AWS_ENDPOINT_URL para este serviço.
export AWS_ENDPOINT_URL_DYNAMODB=http://localhost:5678
Como outro exemplo, AWS Elastic Beanstalk tem um serviceId de Elastic BeanstalkserviceId por sublinhados e colocando todas as letras em maiúsculas. Para configurar o endpoint para este serviço, a variável de ambiente correspondente é AWS_ENDPOINT_URL_ELASTIC_BEANSTALK. Para obter uma lista de todas as variáveis de ambiente específicas do serviço, consulte Identificadores para endpoints específicos de serviço.
export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:5567
Configurar endpoints usando o arquivo compartilhado config
No arquivo compartilhado config, endpoint_url é usado em locais diferentes para diferentes funcionalidades.
-
endpoint_urlespecificado diretamente em umprofiletorna esse endpoint no endpoint global. -
endpoint_urlaninhado sob uma chave identificadora de serviço em uma seçãoservices, faz com que esse endpoint se aplique às solicitações feitas somente para esse serviço. Para obter detalhes sobre como definir uma seçãoservicesno arquivo compartilhado Formato do arquivo de configuração, consulteconfig.
O exemplo a seguir usa uma definição services para configurar um URL de endpoint específico do serviço para o Amazon S3 e um endpoint global personalizado para ser usado para todos os demais serviços:
[profiledev-s3-specific-and-global] endpoint_url =http://localhost:1234services =s3-specific[servicess3-specific] s3 = endpoint_url =https://play.min.io:9000
Um único perfil pode configurar endpoints para vários serviços. Este exemplo mostra como definir o endpoint específico do serviço para o Amazon URLs S3 e AWS Elastic Beanstalk
no mesmo perfil. AWS Elastic Beanstalk tem um serviceId de Elastic BeanstalkserviceId por sublinhados e colocando todas as letras em minúsculas. Assim, a chave identificadora de serviço se torna elastic_beanstalk e as configurações deste serviço começam na linha elastic_beanstalk = . Para obter uma lista de todas as chaves de identificação de serviço a serem usadas na seção services, consulte Identificadores para endpoints específicos de serviço.
[servicestesting-s3-and-eb] s3 = endpoint_url =http://localhost:4567elastic_beanstalk = endpoint_url =http://localhost:8000[profiledev] services =testing-s3-and-eb
A seção de configuração de serviço pode ser usada a partir de vários perfis. Por exemplo, dois perfis podem usar a mesma definição services ao alterar outras propriedades do perfil:
[servicestesting-s3] s3 = endpoint_url =https://localhost:4567[profiletesting-json] output = json services =testing-s3[profiletesting-text] output = text services =testing-s3
Configure endpoints em perfis usando credenciais baseadas em funções
Se o seu perfil tiver credenciais baseadas em perfis configurados por meio de um parâmetro source_profile para a funcionalidade “assumir função” do IAM, o SDK usará somente configurações de serviço para o perfil especificado. Ele não usa perfis com funções vinculadas a ele. Por exemplo, usando o seguinte arquivo compartilhado config:
[profileA] credential_source =Ec2InstanceMetadataendpoint_url =https://profile-a-endpoint.aws/[profileB] source_profile =Arole_arn =arn:aws:iam::123456789012:role/roleBservices =profileB[servicesprofileB] ec2 = endpoint_url =https://profile-b-ec2-endpoint.aws
Se você usar o perfil B e fizer uma chamada em seu código para a Amazon EC2, o endpoint será resolvido como. https://profile-b-ec2-endpoint.aws Se o seu código fizer uma solicitação para qualquer outro serviço, a resolução do endpoint não seguirá nenhuma lógica personalizada. O endpoint não é resolvido para o endpoint global definido no perfil A. Para que um endpoint global tenha efeito para o perfil B, você precisaria configurar endpoint_url diretamente no perfil B. Para obter mais informações sobre a configuração source_profile, consulte Assuma o perfil de provedor de credenciais.
Precedência de configurações
As configurações deste atributo podem ser usadas ao mesmo tempo, mas somente um valor terá prioridade por serviço. Para chamadas de API feitas para um determinado AWS service (Serviço da AWS), a seguinte ordem é usada para selecionar um valor:
-
Qualquer configuração explícita definida no código ou no próprio cliente de serviço tem precedência sobre qualquer outra coisa.
-
Para o AWS CLI, esse é o valor fornecido pelo parâmetro da linha de
--endpoint-urlcomando. Para um SDK, as atribuições explícitas podem assumir a forma de um parâmetro que você define ao instanciar um AWS service (Serviço da AWS) cliente ou objeto de configuração.
-
-
O valor fornecido por uma variável de ambiente específica do serviço, como
AWS_ENDPOINT_URL_DYNAMODB. -
O valor fornecido pela variável de ambiente global do endpoint
AWS_ENDPOINT_URL. -
O valor fornecido pela configuração
endpoint_urlaninhada em uma chave identificadora de serviço em uma seçãoservicesdo arquivo compartilhadoconfig. -
O valor fornecido pela configuração
endpoint_urlespecificado diretamente em umprofiledo arquivo compartilhadoconfig. -
Qualquer URL de endpoint padrão para o respectivo AWS service (Serviço da AWS) é usada por último.
Support by AWS SDKs and tools
Os itens a seguir SDKs oferecem suporte aos recursos e configurações descritos neste tópico. Quaisquer exceções parciais estão anotadas. Todas as configurações de propriedade do sistema JVM são suportadas pelo AWS SDK para Java e pelo AWS SDK para Kotlin único.
| SDK | Compatível | Notas ou mais informações |
|---|---|---|
| AWS CLI v2 | Sim | |
| SDK para C++ | Não | |
| SDK para Go V2 (1.x) |
Sim | |
| SDK para Go 1.x (V1) | Não | |
| SDK para Java 2.x | Sim | |
| SDK para Java 1.x | Não | |
| SDK para 3.x JavaScript | Sim | |
| SDK para 2.x JavaScript | Não | |
| SDK para Kotlin | Sim | |
| SDK para .NET 4.x | Sim | |
| SDK para .NET 3.x | Sim | |
| SDK para PHP 3.x | Sim | |
| SDK para Python (Boto3) |
Sim | |
| SDK para Ruby 3.x | Sim | |
| SDK para Rust | Sim | |
| SDK para Swift | Sim | |
| Ferramentas para PowerShell V5 | Sim | |
| Ferramentas para PowerShell V4 | Sim |