

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
<a name="feature-ss-endpoints"></a>

**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, consulte[Entender as páginas de configurações deste guia](settings-reference.md#settingsPages).

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 AWS `config` arquivo compartilhado`AWS_ENDPOINT_URL`: variável de ambiente`aws.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 `services` seção de um AWS `config` arquivo 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ção `services`, consulte [Identificadores para endpoints específicos de serviço](ss-endpoints-table.md).  
**Valor padrão**: `none`  
**Valores 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 ambiente`aws.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](ss-endpoints-table.md).   
Este endpoint específico do serviço substitui qualquer endpoint global configurado em `AWS_ENDPOINT_URL`.   
**Valor padrão**: `none`  
**Valores 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 AWS `config` arquivo compartilhado`AWS_IGNORE_CONFIGURED_ENDPOINT_URLS`: variável de ambiente`aws.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-url` comando com um AWS CLI comando ou passar uma URL de endpoint para um construtor de cliente sempre terá efeito.  
Valor padrão: `false`  
**Valores válidos:**  
+ **`true`**: o SDK ou a ferramenta não lê nenhuma opção de configuração personalizada do arquivo `config` compartilhado 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 arquivo `config` compartilhado ou de variáveis de ambiente.

## Configurar endpoints usando variáveis de ambiente
<a name="ss-endpoints-envar"></a>

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 [https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10). Para esse serviço, a variável de ambiente do URL do endpoint é `AWS_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 [https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9). O AWS service (Serviço da AWS) identificador é baseado no modelo de API, substituindo todos os espaços `serviceId` 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](ss-endpoints-table.md). 

```
export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK={{http://localhost:5567}}
```

## Configurar endpoints usando o arquivo compartilhado `config`
<a name="ss-endpoints-config"></a>

No arquivo compartilhado `config`, `endpoint_url` é usado em locais diferentes para diferentes funcionalidades.
+ `endpoint_url` especificado diretamente em um `profile` torna esse endpoint no endpoint global. 
+ `endpoint_url` aninhado sob uma chave identificadora de serviço em uma seção `services`, faz com que esse endpoint se aplique às solicitações feitas somente para esse serviço. Para obter detalhes sobre como definir uma seção `services` no arquivo compartilhado [Formato do arquivo de configuração](file-format.md#file-format-config), consulte `config`. 

 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: 

```
[profile {{dev-s3-specific-and-global}}]
endpoint_url = {{http://localhost:1234}}
services = {{s3-specific}}

[services {{s3-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 [https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9). O AWS service (Serviço da AWS) identificador é baseado no modelo de API, substituindo todos os espaços `serviceId` 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](ss-endpoints-table.md). 

```
[services {{testing-s3-and-eb}}]
s3 = 
  endpoint_url = {{http://localhost:4567}}
elastic_beanstalk = 
  endpoint_url = {{http://localhost:8000}}

[profile {{dev}}]
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: 

```
[services {{testing-s3}}]
s3 = 
  endpoint_url = {{https://localhost:4567}}

[profile {{testing-json}}]
output = json
services = {{testing-s3}}

[profile {{testing-text}}]
output = text
services = {{testing-s3}}
```

## Configure endpoints em perfis usando credenciais baseadas em funções
<a name="ss-endpoints-role"></a>

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`: 

```
[profile {{A}}]
credential_source = {{Ec2InstanceMetadata}}
endpoint_url = {{https://profile-a-endpoint.aws/}}

[profile {{B}}]
source_profile = {{A}}
role_arn = {{arn:aws:iam::123456789012:role/roleB}}
services = {{profileB}}

[services {{profileB}}]
ec2 = 
  endpoint_url = {{https://profile-b-ec2-endpoint.aws}}
```

 Se você usar o perfil `B` e fizer uma chamada em seu código para o 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](feature-assume-role-credentials.md). 

## Precedência de configurações
<a name="ss-endpoints-precedence"></a>

 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: 

1. 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-url` comando. 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.

1. O valor fornecido por uma variável de ambiente específica do serviço, como `AWS_ENDPOINT_URL_DYNAMODB`.

1. O valor fornecido pela variável de ambiente global do endpoint `AWS_ENDPOINT_URL`.

1. O valor fornecido pela configuração `endpoint_url` aninhada em uma chave identificadora de serviço em uma seção `services` do arquivo compartilhado `config`.

1. O valor fornecido pela configuração `endpoint_url` especificado diretamente em um `profile` do arquivo compartilhado `config`.

1. Qualquer URL de endpoint padrão para o respectivo AWS service (Serviço da AWS) é usada por último.

## Support by AWS SDKs and tools
<a name="ss-endpoints-sdk-compat"></a>

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](https://docs.aws.amazon.com/cli/latest/userguide/) | Sim |  | 
| [SDK para C\+\+](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | Sim |  | 
| [SDK para Go V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | Sim |  | 
| [SDK para Go 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | Não |  | 
| [SDK para Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | Sim |  | 
| [SDK para Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | Não |  | 
| [SDK para 3.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | Sim |  | 
| [SDK para 2.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | Não |  | 
| [SDK para Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | Sim |  | 
| [SDK para .NET 4.x](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | Sim |  | 
| [SDK para .NET 3.x](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | Sim |  | 
| [SDK para PHP 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | Sim |  | 
| [SDK para Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | Sim |  | 
| [SDK para Ruby 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | Sim |  | 
| [SDK para Rust](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | Sim |  | 
| [SDK para Swift](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | Sim |  | 
| [Ferramentas para PowerShell V5](https://docs.aws.amazon.com/powershell/latest/userguide/) | Sim |  | 
| [Ferramentas para PowerShell V4](https://docs.aws.amazon.com/powershell/v4/userguide/) | Sim |  | 