この記事の目次
AWS SDK for JavaScriptとは

AWSサービスをWebブラウザから使う仕組み
AWS SDK for JavaScriptは、AWSで提供されているサービスのAPIを、Webブラウザで動作するJavaScriptから利用するための仕組みです。 なお、AWSで提供されているサービスのAPIは、Amazon S3などに置いたサーバーサイドのプログラムから利用できます。WebブラウザからAPIを利用するには、認証などを含む特別なやりとりが必要です。 そして、そのような特別なやりとりを担当するSDKが、AWS SDK for JavaScriptです。なお、AWS SDK for JavaScriptは、サポートされているWebブラウザのバージョンが決まっているので注意してください。Amazonが動作保証する仕組み
もちろん、Amazon EC2などに外部からAPIを利用するプログラムを用意し、JavaScript向けのインターフェースを用意すれば、AWS SDK for JavaScriptと同じ機能を実現できます。 しかし、APIは、サービスの改版等で仕様が変わったり、仕様を正しく理解しないまま作ると誤作動を起こしたりする可能性があります。 その点、AWS SDK for JavaScriptは、Amazonが開発し、動作保証している仕組みです。また、AWSからSDKをロードするだけで使えるので、APIを利用する仕組みを開発する手間がかかりません。利用できるサービスには制限がある
前述の通り、AWS SDK for JavaScriptを利用することで、AWSの多くのサービスのAPIを利用できます。しかし、AWSの全てサービスを利用できる訳ではありません。なかには、AWS SDK for JavaScriptから利用できないサービスもあります。 Amazonより、AWS SDK for JavaScriptで利用できるサービスが公開されているので、参照してください。AWS SDK for JavaScript利用のための設定

AWS SDK for JavaScriptのリージョン設定方法
AWS SDK for JavaScriptのリージョンは、グローバル設定オブジェクトを使用して設定します。なお、グローバル設定オブジェクトAWS.Configなので、JavaScritに次のように記述してください。 リージョン設定方法 AWS.config.update({region: ‘ap-northeast-1’}); この例では、リージョンを’ap-northeast-1’、つまり「Asia Pacific (Tokyo)」 に設定します。AWS SDK for JavaScriptの認証方法
AWS SDK for JavaScriptで推奨される認証方法は、Amazon Cognito ID認証情報オブジェクト、AWS.CognitoIdentityCredentialsの使用です。そして、このオブジェクトのインスタンス、IdentityPoolIdに、アタッチ済みのIDを指定します。 AWS.CognitoIdentityCredentialsの使用例 AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: ap-northeast-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx }); この例では、アタッチ済みのIDとして「ap-northeast-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx」を指定して、認証しています。アクセス制限に注意
WebブラウザからAWSの各種サービスのAPIを利用できるからといって、どこからでもAWS SDK for JavaScriptが利用できるとは限りません。 例えば、AWS SDK for JavaScriptは、AWSのAPIとのAjax通信が必要です。更に、WebブラウザにはHTMLを開いたサーバーに対してのみAjax通信でアクセスできる、という制限があります。そうでないと、フィッシングやウィルスなどの攻撃が成功してしまうからです。 そのため、AWS SDK for JavaScriptを利用するJavaScriptを記述したHTMLを、Amazon S3に置き、そのリージョンを指定してから利用してください。AWS SDK for JavaScriptを利用するための設定例

まとめ
