AWS SDK for JavaScript
SDK v2 開発者ガイド

Node.js での使用開始

JavaScript code example that applies to Node.js execution

この Node.js コード例は以下を示しています。

  • プロジェクトの package.json マニフェストを作成する方法。

  • プロジェクトが使用するモジュールをインストールして含める方法。

  • AWS.S3 クライアントクラスから Amazon Simple Storage Service (Amazon S3) サービスオブジェクトを作成する方法。

  • Amazon S3 バケットを作成して、そのバケットにオブジェクトをアップロードする方法。

シナリオ

この例では、Amazon S3 バケットを作成してテキストオブジェクトを追加する、簡単な Node.js モジュールを設定して実行する方法を示します。

Amazon S3 のバケット名はグローバルに一意である必要があるため、この例には、バケット名に組み込むことができる一意の ID 値を生成するサードパーティーの Node.js モジュールが含まれています。この追加モジュールの名前は uuid です。

前提条件タスク

この例をセットアップして実行するには、まず次のタスクを完了する必要があります。

  • Node.js モジュールを開発するための作業ディレクトリを作成します。このディレクトリに awsnodesample という名前を付けます。ディレクトリはアプリケーションで更新できる場所に作成する必要があることに注意してください。たとえば Windows では、ディレクトリを「C:\Program Files」の下に作成しないでください。

  • Node.js をインストールします。詳細については、Node.js ウェブサイトを参照してください。https://nodejs.org/en/download/current/ に、さまざまなオペレーティングシステム用の Node.js の現在および LTS バージョンのダウンロードがあります。

ステップ 1: 認証情報を設定する

アカウントとそのリソースのみが SDK でアクセスされるように、AWS に認証情報を提供する必要があります。アカウント認証情報を取得する方法の詳細については、「認証情報の取得」を参照してください。

この情報を保持するために、共有認証情報ファイルを作成することをお勧めします。この方法については、「共有認証情報ファイルから Node.js に認証情報をロードする」を参照してください。認証情報ファイルは次の例のようになります。

[default] aws_access_key_id = YOUR_ACCESS_KEY_ID aws_secret_access_key = YOUR_SECRET_ACCESS_KEY

ステップ 2: プロジェクトの JSON パッケージを作成する

awsnodesample プロジェクトディレクトリを作成したら、Node.js プロジェクトのメタデータを保持するための package.json ファイルを作成して追加します。Node.js プロジェクトでの package.json 使用の詳細については、docs.nodejitsu.com サイトの「What is the file package.json?」を参照してください。

プロジェクトディレクトリで package.json という名前の新しいファイルを作成します。次にこの JSON をファイルに追加します。

{ "dependencies": {}, "name": "aws-nodejs-sample", "description": "A simple Node.js application illustrating usage of the AWS SDK for Node.js.", "version": "1.0.1", "main": "sample.js", "devDependencies": {}, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "NAME", "license": "ISC" }

ファイルを保存します。必要なモジュールをインストールすると、ファイルの dependencies の部分が完成します。これらの依存関係の例を示す JSON ファイルが GitHub のここにあります。

ステップ 3: SDK および依存関係のインストール

npm (the Node.js package manager) を使用して SDK for JavaScript パッケージをインストールします。

パッケージの awsnodesample ディレクトリのコマンドラインで以下を入力します。

npm install aws-sdk

このコマンドはプロジェクトに SDK for JavaScript をインストールして、package.json を更新し、SDK をプロジェクトの依存関係として一覧表示します。このパッケージに関する情報は、npm ウェブサイトで「aws-sdk」を検索すると見つかります。

次に、コマンドラインに次のように入力して uuid モジュールをプロジェクトにインストールします。これによりモジュールがインストールされ、package.json が更新されます。uuid の詳細については、https://www.npmjs.com/package/uuid のモジュールのページを参照してください。

npm install uuid

これらのパッケージとそれに関連するコードは、プロジェクトの node_modules サブディレクトリにインストールされています。

Node.js パッケージのインストールの詳細については、npm (Node.js パッケージマネージャー) ウェブサイトの、「Downloading and installing packages locally」および「Creating Node.js Modules」を参照してください。AWS SDK for JavaScript のダウンロードとインストールについては、「SDK for JavaScript のインストール」を参照してください。

ステップ 4: Node.js コードを記述する

サンプルコードを含めるために、sample.js という名前の新しいファイルを作成します。SDK for JavaScript および uuid モジュールを含めるために require 関数呼び出しを追加して開始すると、それらが利用可能になります。

認識可能なプレフィックスに一意の ID 値を追加することで、Amazon S3 バケットの作成に使用する一意のバケット名を作成します。この場合は 'node-sdk-sample-' です。uuid モジュールを呼び出して一意の ID を生成します。次に、オブジェクトをバケットにアップロードするために使用される Key パラメータの名前を作成します。

AWS.S3 サービスオブジェクトの createBucket メソッドを呼び出す promise オブジェクトを作成します。応答が成功したら、新しく作成したバケットにテキストをアップロードするために必要なパラメータを作成します。別の promise を使用して、putObject メソッドを呼び出してテキストオブジェクトをバケットにアップロードします。

// Load the SDK and UUID var AWS = require('aws-sdk'); var uuid = require('uuid'); // Create unique bucket name var bucketName = 'node-sdk-sample-' + uuid.v4(); // Create name for uploaded object key var keyName = 'hello_world.txt'; // Create a promise on S3 service object var bucketPromise = new AWS.S3({apiVersion: '2006-03-01'}).createBucket({Bucket: bucketName}).promise(); // Handle promise fulfilled/rejected states bucketPromise.then( function(data) { // Create params for putObject call var objectParams = {Bucket: bucketName, Key: keyName, Body: 'Hello World!'}; // Create object upload promise var uploadPromise = new AWS.S3({apiVersion: '2006-03-01'}).putObject(objectParams).promise(); uploadPromise.then( function(data) { console.log("Successfully uploaded data to " + bucketName + "/" + keyName); }); }).catch( function(err) { console.error(err, err.stack); });

このサンプルコードは、GitHub で入手できます。

ステップ 5: サンプルを実行する

サンプルを実行するには、次のコマンドを入力します。

node sample.js

アップロードが成功すると、コマンドラインに確認メッセージが表示されます。Amazon S3 コンソールにもバケットとアップロードされたテキストオブジェクトがあります。