

AWS SDK for JavaScript v2 はサポート終了となりました。[AWS SDK for JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) に移行することをお勧めします。その他の詳細、移行方法については、こちらの[発表内容](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)を参照してください。

# ブラウザ用 SDK の構築
<a name="building-sdk-for-browsers"></a>

SDK for JavaScript は、デフォルトセットのサービスをサポートする JavaScript ファイルとして提供されています。このファイルは通常、ホストされている SDK パッケージを参照する ` <script>` タグを使用してブラウザスクリプトにロードされます。ただし、デフォルトセット以外のサービスのサポートが必要な場合や、SDK をカスタマイズする必要がある場合があります。

ブラウザで CORS を強制する環境の外側で SDK を使用し、SDK for JavaScript によって提供されるすべてのサービスにアクセスする場合は、リポジトリを複製し、SDK のデフォルトのホストバージョンをビルドするのと同じビルドツールを実行することで、SDK のカスタムコピーをローカルにビルドできます。次のセクションでは、追加のサービスと API バージョンを使用して SDK を構築するステップについて説明します。

**Topics**
+ [SDK Builder を使用した SDK for JavaScript の構築](#using-the-sdk-builder)
+ [CLI を使用した SDK for JavaScript のビルド](#using-command-line-tools)
+ [特定のサービスと API バージョンの構築](#building-specific-services-versions)
+ [Browserify による依存関係としての SDK の構築](#building-using-browserify)

## SDK Builder を使用した SDK for JavaScript の構築
<a name="using-the-sdk-builder"></a>

AWS SDK for JavaScript の独自ビルドを作成する最も簡単な方法は、[https://sdk.amazonaws.com/builder/js](https://sdk.amazonaws.com/builder/js) にある SDK ビルダーウェブアプリケーションを使用することです。SDK ビルダーを使用して、ビルドに含めるサービスとその API バージョンを指定します。

サービスを追加または削除する開始点として、[**Select all services**] (すべてのサービスを選択) または [**Select default services**] (デフォルトサービスを選択) を選択します。コードを読みやすくするには [**Development**] (開発) を選択し、デプロイする縮小ビルドを作成するには [**Minified**] (縮小) を選択します。含めるサービスとバージョンを選択したら、[**Build**] (ビルド) を選択し、カスタム SDK をビルドしてダウンロードします。

## CLI を使用した SDK for JavaScript のビルド
<a name="using-command-line-tools"></a>

AWS CLI を使用して SDK for JavaScript をビルドするには、まず SDK ソースを含む Git リポジトリのクローンを作成する必要があります。Git と Node.js をコンピュータにインストールしておく必要があります。

まず、GitHub からリポジトリのクローンを作成し、ディレクトリをそのディレクトリに変更します。

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

リポジトリのクローンを作成したら、SDK とビルドツールの両方の依存関係モジュールをダウンロードします。

```
npm install
```

これで、パッケージ化されたバージョンの SDK を構築することができます。

### コマンドラインから構築する
<a name="building-from-command-line"></a>

ビルダーツールは、`dist-tools/browser-builder.js` にあります。次のように入力して、このスクリプトを実行します。

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

このコマンドは aws-sdk.js ファイルをビルドします。このファイルは圧縮されていません。デフォルトでは、このパッケージには標準的なサービスセットのみが含まれています。

### ビルド出力を縮小する
<a name="minifying-build-output"></a>

ネットワーク上のデータ量を削減するために、JavaScript ファイルは*縮小*と呼ばれるプロセスによって圧縮されます。縮小化は、コメント、不要なスペース、および人間が読みやすくするために役立つがコードの実行に影響を与えないその他の文字を削除します。ビルダーツールは、非圧縮または縮小出力を生成できます。ビルド出力を縮小するには、`MINIFY` 環境変数を設定します。

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

## 特定のサービスと API バージョンの構築
<a name="building-specific-services-versions"></a>

SDK に組み込むサービスを選択できます。サービスを選択するには、サービス名をコンマで区切ってパラメータとして指定します。例えば、Amazon S3 と Amazon EC2 のみを構築するには、次のコマンドを使用します。

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

サービス名の後にバージョン名を追加することによって、サービスビルドの特定の API バージョンを選択することもできます。例えば、Amazon DynamoDB の両方の API バージョンを構築するには、次のコマンドを使用します。

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

サービス識別子と API バージョンは、[https://github.com/aws/aws-sdk-js/tree/master/apis](https://github.com/aws/aws-sdk-js/tree/master/apis) のサービス固有の設定ファイルで利用可能です。

### すべてのサービスを構築する
<a name="building-all-services"></a>

`all` パラメータを含めることで、すべてのサービスと API バージョンを構築できます。

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

### 特定のサービスの構築
<a name="building-specific-services"></a>

ビルドに含まれる選択されたサービスセットをカスタマイズするには、必要なサービスのリストを含む ` AWS_SERVICES` 環境変数を Browserify コマンドに渡します。次の例では、Amazon EC2、Amazon S3、DynamoDB のサービスを構築します。

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

## Browserify による依存関係としての SDK の構築
<a name="building-using-browserify"></a>

Node.js には、サードパーティー開発者からのコードと機能を含めるためのモジュールベースのメカニズムがあります。このモジュール方式は、ウェブブラウザで実行されている JavaScript ではネイティブにサポートされていません。ただし、Browserify と呼ばれるツールを使用すると、Node.js モジュールアプローチを使用したり、Node.js 用に書かれたモジュールをブラウザで使用したりできます。Browserify は、ブラウザスクリプトのモジュール依存関係を、ブラウザで使用できる自己完結型の単一の JavaScript ファイルに構築します。

Browserify を使用すると、ブラウザスクリプトのライブラリ依存関係として SDK を構築できます。たとえば、次の Node.js コードには SDK が必要です。

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

このサンプルコードは、Browserify を使用してブラウザ互換バージョンにコンパイルすることができます。

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

SDK の依存関係を含むアプリケーションは、`browser-app.js` を介してブラウザで利用可能になります。

Browserify の詳細については、「[Browserify ウェブサイト](http://browserify.org/)」を参照してください。