

O AWS SDK para JavaScript v2 chegou ao fim do suporte. Recomendamos migrar para o [AWS SDK para JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Para ver detalhes e informações sobre como migrar, consulte este [anúncio](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

# Usar o objeto de configuração global
<a name="global-config-object"></a>

Existem duas maneiras de configurar o SDK:
+ Defina a configuração global usando `AWS.Config`.
+ Passe informações de configuração extras para um objeto de serviço.

Definir a configuração global com `AWS.Config` normalmente é mais fácil como conceitos básicos, mas a configuração no nível de serviço pode oferecer mais controle sobre serviços individuais. A configuração global especificada pelo serviço `AWS.Config` fornece configurações padrão para objetos de serviço criados de maneira subsequente, o que simplifica a configuração. No entanto, é possível atualizar a configuração de objetos de serviço individuais quando as necessidades variam em relação à configuração global.

## Definir configuração global
<a name="setting-global-configuration"></a>

Depois de carregar o pacote `aws-sdk` em seu código, você poderá usar a variável global ` AWS` para acessar as classes do SDK e interagir com serviços individuais. O SDK inclui um objeto de configuração global, `AWS.Config`, que pode ser usado para especificar as definições de configuração do SDK exigidas pelo aplicativo.

Configure o SDK definindo as propriedades de `AWS.Config` de acordo com as necessidades do aplicativo. A tabela a seguir resume as propriedades `AWS.Config` mais usadas para definir a configuração do SDK.


****  

| Opções de configuração | Descrição | 
| --- | --- | 
|  credentials  | Obrigatória. Especifica as credenciais usadas para determinar o acesso a serviços e recursos. | 
|  region  | Obrigatória. Especifica a região qual as solicitações de serviços são feitas. | 
|  maxRetries  | Opcional. Especifica o número máximo de vezes que uma determinada solicitação é executada novamente. | 
|  logger  | Opcional. Especifica um objeto logger no qual as informações de depuração são gravadas. | 
|  update  | Opcional. Atualiza a configuração atual com novos valores. | 

Para obter mais informações sobre o objeto de configuração, consulte [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html) na Referência da API.

### Exemplos de configuração global
<a name="global-configuration-examples"></a>

Defina a região e as credenciais em `AWS.Config`. Defina essas propriedades como parte do construtor `AWS.Config`, conforme mostrado no seguinte exemplo de script do navegador:

```
var myCredentials = new AWS.CognitoIdentityCredentials({IdentityPoolId:'IDENTITY_POOL_ID'});
var myConfig = new AWS.Config({
  credentials: myCredentials, region: 'us-west-2'
});
```

Também é possível definir essas propriedades após a criação de `AWS.Config` usando o método `update`, conforme mostrado no seguinte exemplo que atualiza a região:

```
myConfig = new AWS.Config();
myConfig.update({region: 'us-east-1'});
```

É possível obter suas credenciais padrão chamando o método estático ` getCredentials` de `AWS.config`:

```
var AWS = require("aws-sdk");

AWS.config.getCredentials(function(err) {
  if (err) console.log(err.stack);
  // credentials not loaded
  else {
    console.log("Access key:", AWS.config.credentials.accessKeyId);
  }
});
```

Da mesma forma, se você tiver definido a região corretamente no arquivo `config`, obterá esse valor definindo a variável de ambiente `AWS_SDK_LOAD_CONFIG` como qualquer valor e chamando a propriedade estática `region` de `AWS.config`:

```
var AWS = require("aws-sdk");

console.log("Region: ", AWS.config.region);
```

## Definir configuração por serviço
<a name="service-specific-configuration"></a>

Cada serviço usado no SDK para JavaScript é acessado por meio de um objeto de serviço que faz parte da API desse serviço. Por exemplo, para acessar o serviço Amazon S3, você cria o objeto de serviço Amazon S3. Especifique as definições de configuração específicas de um serviço como parte do construtor desse objeto de serviço. Quando você define valores de configuração em um objeto de serviço, o construtor utiliza todos os valores de configuração usados por `AWS.Config`, inclusive credenciais.

Por exemplo, se você precisar acessar objetos do Amazon EC2 em várias regiões, crie um objeto de serviço do Amazon EC2 para cada região e defina a configuração da região de cada objeto de serviço de acordo.

```
var ec2_regionA = new AWS.EC2({region: 'ap-southeast-2', maxRetries: 15, apiVersion: '2014-10-01'});
var ec2_regionB = new AWS.EC2({region: 'us-east-1', maxRetries: 15, apiVersion: '2014-10-01'});
```

Também é possível definir valores de configuração específicos de um serviço ao configurar o SDK com `AWS.Config`. O objeto de configuração global é compatível com várias opções de configuração específicas do serviço. Para obter mais informações sobre a configuração específica do serviço, consulte [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html) na Referência da API do AWS SDK para JavaScript.

## Dados de configuração imutáveis
<a name="immutable-config"></a>

As alterações na configuração global se aplicam a solicitações de todos os objetos de serviço recém-criados. Os objetos de serviço recém-criados são configurados com os dados de configuração global atuais primeiro e todas as opções de configuração local. As atualizações feitas no objeto `AWS.config` global não se aplicam a objetos de serviço criados anteriormente.

Os objetos de serviço existentes devem ser atualizados manualmente com novos dados de configuração ou você deve criar e usar um novo objeto de serviço que tenha os novos dados de configuração. O exemplo a seguir cria um novo objeto de serviço do Amazon S3 com novos dados de configuração:

```
s3 = new AWS.S3(s3.config);
```