

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/).

# Criar o SDK para navegadores
<a name="building-sdk-for-browsers"></a>

O SDK para JavaScript é fornecido como um arquivo JavaScript com suporte incluído para um conjunto padrão de serviços. Esse arquivo costuma ser carregado em scripts de navegador que usam uma tag ` <script>` que faz referência ao pacote do SDK hospedado. No entanto, talvez você precise de suporte para serviços diferentes do conjunto padrão ou que precisem personalizar o SDK.

Se trabalhar com o SDK fora de um ambiente que imponha CORS no navegador e quiser acesso a todos os serviços fornecidos pelo SDK para JavaScript, você poderá criar uma cópia personalizada do SDK localmente clonando o repositório e executando as mesmas ferramentas de criação que compilam a versão hospedada padrão do SDK. As seções a seguir descrevem as etapas para compilar o SDK com serviços extras e versões da API.

**Topics**
+ [Usar o SDK Builder para criar o SDK para JavaScript](#using-the-sdk-builder)
+ [Usar a CLI para criar o SDK para JavaScript](#using-command-line-tools)
+ [Criar serviços específicos e versões de API](#building-specific-services-versions)
+ [Compilar o SDK como uma dependência com Browserify](#building-using-browserify)

## Usar o SDK Builder para criar o SDK para JavaScript
<a name="using-the-sdk-builder"></a>

A maneira mais fácil de criar a própria compilação do AWS SDK para JavaScript é usar o aplicativo web de criador de SDKs em [https://sdk.amazonaws.com/builder/js](https://sdk.amazonaws.com/builder/js). Use o criador de SDKs para especificar serviços e as versões da API a serem incluídos na compilação. 

Escolha **Select all services (Selecionar todos os serviços)** ou **Select all services (Selecionar serviços padrão)** como um ponto de partida de onde é possível adicionar ou remover serviços. Escolha **Development (Desenvolvimento)** para obter um código mais legível ou **Minified (Minimizado)** para criar uma compilação mini a ser implantada. Depois de escolher os serviços e as versões a serem incluídos, escolha **Build (Criar)** para criar e fazer download do SDK personalizado.

## Usar a CLI para criar o SDK para JavaScript
<a name="using-command-line-tools"></a>

Para compilar o SDK para JavaScript usando a AWS CLI, você primeiro precisa clonar o repositório Git que contém a fonte do SDK. Você deve ter Git e Node.js instalados no computador.

Primeiro, clone o repositório do GitHub e altere o diretório para o diretório:

```
git clone https://github.com/aws/aws-sdk-js.git
cd aws-sdk-js
```

Depois de clonar o repositório, faça download dos módulos de dependência do SDK e da ferramenta de compilação:

```
npm install
```

Já é possível criar uma versão em pacote do SDK.

### Criar a partir da linha de comando
<a name="building-from-command-line"></a>

A ferramenta de construção está em `dist-tools/browser-builder.js`. Execute este script digitando:

```
node dist-tools/browser-builder.js > aws-sdk.js
```

Este comando cria o arquivo aws-sdk.js. Este arquivo está descompactado. Por padrão, esse pacote só inclui o conjunto padrão de serviços. 

### Minimizar saída de compilação
<a name="minifying-build-output"></a>

Para reduzir a quantidade de dados na rede, os arquivos JavaScript podem ser compactados por meio de um processo chamado *minimização*. A minimização remove comentários, espaços desnecessários e outros caracteres que auxiliam na legibilidade humana, mas que não afetam a execução do código. A ferramenta de criação pode produzir uma saída descompactada ou minimizada. Para minimizar a saída de criação, defina a variável de ambiente `MINIFY`:

```
MINIFY=1 node dist-tools/browser-builder.js > aws-sdk.js
```

## Criar serviços específicos e versões de API
<a name="building-specific-services-versions"></a>

É possível selecionar quais serviços compilar no SDK. Para selecionar serviços, especifique os nomes de serviço, delimitados por vírgulas, como parâmetros. Por exemplo, para criar apenas Amazon S3 e Amazon EC2, use o seguinte comando:

```
node dist-tools/browser-builder.js s3,ec2 > aws-sdk-s3-ec2.js
```

Você também pode selecionar versões da API específicas da criação de serviços adicionando o nome da versão após o nome do serviço. Por exemplo, para criar ambas as versões da API do Amazon DynamoDB, use o seguinte comando:

```
node dist-tools/browser-builder.js dynamodb-2011-12-05,dynamodb-2012-08-10
```

Identificadores de serviço e versões de API estão disponíveis nos arquivos de configuração específicos do serviço em [ https://github.com/aws/aws-sdk-js/tree/master/apis](https://github.com/aws/aws-sdk-js/tree/master/apis).

### Criar todos os serviços
<a name="building-all-services"></a>

Você pode criar todos os serviços e versões de API incluindo o parâmetro `all`:

```
node dist-tools/browser-builder.js all > aws-sdk-full.js
```

### Criar serviços específicos
<a name="building-specific-services"></a>

Para personalizar o conjunto selecionado de serviços incluídos na compilação, passe a variável de ambiente ` AWS_SERVICES` para o comando Browserify que contém a lista de serviços que você deseja. O exemplo a seguir cria os serviços Amazon EC2, Amazon S3 e DynamoDB.

```
$ AWS_SERVICES=ec2,s3,dynamodb browserify index.js > browser-app.js
```

## Compilar o SDK como uma dependência com Browserify
<a name="building-using-browserify"></a>

Node.js tem um mecanismo baseado no módulo para incluir código e funcionalidade de desenvolvedores de terceiros. Essa abordagem modular não tem suporte nativo do JavaScript em execução em navegadores da web. No entanto, com uma ferramenta chamada Browserify, é possível usar a abordagem do módulo Node.js e usar os módulos escritos para Node.js no navegador. Browserify cria as dependências de módulo para um script de navegador em um único arquivo JavaScript autocontido que é possível usar no navegador.

É possível compilar o SDK como uma dependência de biblioteca para qualquer script de navegador usando Browserify. Por exemplo, o seguinte código Node.js exige o SDK:

```
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
s3.listBuckets(function(err, data) { console.log(err, data); });
```

Este código de exemplo pode ser compilado em uma versão compatível com navegador usando Browserify:

```
$ browserify index.js > browser-app.js
```

O aplicativo, inclusive as dependências do SDK, é disponibilizado no navegador por meio de `browser-app.js`.

Para obter mais informações sobre o Browserify, consulte o [site do Browserify](http://browserify.org/).