Node.js for AWS Cloud9 のサンプル9 - AWS Cloud9

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Node.js for AWS Cloud9 のサンプル9

このサンプルを使用して AWS Cloud9 開発環境でいくつかの Node.js スクリプトを実行できます。

このサンプルを作成すると、AWS アカウントに課金される場合があります。Amazon EC2 や Amazon S3 などのサービスに対して発生する可能性がある料金も含まれます。詳細については、「Amazon EC2 料金表」および「Amazon S3 料金表」を参照してください。

Prerequisites

このサンプルを使用する前に、以下の前提条件を満たしていることを確認します。

  • 既存の AWS Cloud9 EC2 開発環境がある。 このサンプルでは、Amazon Linux または Ubuntu サーバーを実行する Amazon EC2 インスタンスに接続された EC2 環境が既にあることを前提としています。別のタイプの環境またはオペレーティングシステムのがある場合、このサンプルの手順を調整して関連ツールをセットアップする必要がある場合があります。詳細については、「AWS Cloud9 で環境を作成します。」を参照してください。

  • 既存の環境に既に開いている AWS Cloud9 IDE がある。 環境を開くと、AWS Cloud9 によってウェブブラウザでその環境の IDE が開きます。詳細については、「AWS Cloud9 で環境を開く」を参照してください。

ステップ 1: 必要なツールのインストール

このステップでは Node.js をインストールして設定します。このサンプルを実行するために必要なものです。

  1. AWS Cloud9 IDE のターミナルセッションで、Node.js がインストール済みであるかどうか確認します。 node --version コマンド。(新しいターミナルセッションを開始するには、メニューバーで、[Window (ウィンドウ)]、[New Terminal (新しいターミナル)] の順に選択します。) 成功すると、出力に Node.js のバージョン番号が表示されます。Node.js がインストール済みである場合は、ステップ 2: コードの追加に進んでください。

  2. を実行 yum update for (Amazon Linux) または apt update for (Ubuntu Server) コマンドを実行して、最新のセキュリティ更新プログラムおよびバグ修正がインストールされていることを確認します。

    Amazon Linux の場合:

    sudo yum -y update

    Ubuntu Server の場合:

    sudo apt update
  3. Node.js をインストールするには、まずこのコマンドを実行して Node Version Manager (nvm) をダウンロードします。 (nvm は Node.js バージョンのインストールと管理に便利な、シンプルな Bash シェルスクリプトです。 詳細については、「」を参照してください。ノードバージョン管理GitHub ウェブサイトで。)

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
  4. nvm の使用を開始するには、ターミナルセッションを閉じてもう一度起動するか、nvm をロードするコマンドを含む ~/.bashrc ファイルを入手します。

    . ~/.bashrc
  5. 最新バージョンの Node.js をインストールするには、次のコマンドを実行します。

    nvm install node

ステップ 2: コードの追加

AWS Cloud9 IDE で、以下の内容のファイルを作成し、という名前で保存します。hello.js。(ファイルを作成するには、メニューバーで [] メニューからファイルNew File (新しいファイル)。 ファイルを保存するには、[] メニューからファイル保存。)

console.log('Hello, World!'); console.log('The sum of 2 and 3 is 5.'); var sum = parseInt(process.argv[2], 10) + parseInt(process.argv[3], 10); console.log('The sum of ' + process.argv[2] + ' and ' + process.argv[3] + ' is ' + sum + '.');

ステップ 3: コードの実行

  1. AWS Cloud9 IDE のメニューバーで、[] を選択します。Run実行設定新しい実行設定

  2. リポジトリの [][新規]-アイドルタブで、[] メニューからランナー: Auto[] を選択してから、[Node.js

  3. [Command (コマンド)] に「hello.js 5 9」と入力します。コードでは、5表すprocess.argv[2], および9表すprocess.argv[3]。(process.argv[0] はランタイム (node) の名前を表し、process.argv[1] はファイル (hello.js) の名前を表します。)

  4. [Run (実行)] ボタンを選択して、出力を比較します。

    Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.

            AWS Cloud9 IDE でコードを実行した場合の Node.js 出力

ステップ 4: Node.js 内の AWS SDK for JavaScript をインストールして設定する

AWS Cloud9 で Node.js スクリプトを実行する場合、JavaScript バージョン 3(V3)用の AWS SDK と JavaScript バージョン 2 用の古い AWS SDK(V2)のいずれかを選択できます。V2 と同様に V3 を使用すると、Amazon Web Services 簡単に操作できますが、TypeScript で記述されており、モジュール化されたパッケージなど、頻繁にリクエストされる機能がいくつか追加されています。

AWS SDK for JavaScript (V3)

このサンプルを強化して Node.js の AWS SDK for JavaScript を使用し、Amazon S3 バケットを作成して利用可能なバケットをリストし、その後作成したばかりのバケットを削除します。

このステップでは、Node.js にある AWS SDK for JavaScript の Amazon S3 サービスクライアントモジュールをインストールして設定します。これを使用すると、JavaScript コードから Amazon S3 AWS のサービスを JavaScript コードから簡単に操作できます。

他の AWS のサービスを使用する場合は、個別にインストールする必要があります。AWS モジュールのインストールの詳細については、を参照してください。()AWS 開発者ガイド(V3)

Node.js に AWS SDK for JavaScript をインストールしたあと、環境に認証情報管理をセットアップする必要があります。Node.js 内の AWS SDK for JavaScript が AWS のサービスとやり取りするために必要です。

Node.js 内の AWS SDK for JavaScript in Node.js をインストールするには

npm を使用してinstallコマンド。

npm install @aws-sdk/client-s3

詳細については、「」を参照してください。SDK for JavaScript のインストール()AWS SDK for JavaScript 開発者ガイド

環境で認証情報管理を設定するには

Node.js の AWS SDK for JavaScript を使用して AWS のサービスを呼び出すたびに、呼び出しとともに一連の認証情報を指定する必要があります。これらの認証情報は Node.js 内の AWS SDK for JavaScript にその呼び出しを行う適切なアクセス許可があるかどうかを判別します。認証情報に適切なアクセス権限がない場合、呼び出しは失敗します。

このステップでは、環境に認証情報を保存します。これを行うには、AWS Cloud9 の環境から AWS のサービスを呼び出す9の手順を実行してから、このトピックに戻ります。

詳細については、を参照してください。Node.js での認証情報の設定()AWS SDK for JavaScript 開発者ガイド

AWS SDK for JavaScript (V2)

このサンプルを強化して Node.js の AWS SDK for JavaScript を使用し、Amazon S3 バケットを作成して利用可能なバケットをリストし、その後作成したばかりのバケットを削除します。

このステップでは、Node.js に JavaScript 用の AWS SDK をインストールして設定します。これを使用すると、JavaScript コードから Amazon S3 などの AWS のサービスを操作するのが便利になります。Node.js に AWS SDK for JavaScript をインストールしたあと、環境に認証情報管理をセットアップする必要があります。Node.js 内の AWS SDK for JavaScript が AWS のサービスとやり取りするために必要です。

Node.js 内の AWS SDK for JavaScript in Node.js をインストールするには

npm を使用してinstallコマンド。

npm install aws-sdk

詳細については、「」を参照してください。SDK for JavaScript のインストール()AWS SDK for JavaScript 開発者ガイド

環境で認証情報管理を設定するには

Node.js の AWS SDK for JavaScript を使用して AWS のサービスを呼び出すたびに、呼び出しとともに一連の認証情報を指定する必要があります。これらの認証情報は Node.js 内の AWS SDK for JavaScript にその呼び出しを行う適切なアクセス許可があるかどうかを判別します。認証情報に適切なアクセス権限がない場合、呼び出しは失敗します。

このステップでは、環境に認証情報を保存します。これを行うには、AWS Cloud9 の環境から AWS のサービスを呼び出す9の手順を実行してから、このトピックに戻ります。

詳細については、を参照してください。Node.js での認証情報の設定()AWS SDK for JavaScript 開発者ガイド

ステップ 5: AWS SDK コードを追加

AWS SDK for JavaScript (V3)

このステップでは、今度は Amazon S3 を操作してバケットを作成し、利用できるバケットのリストを表示した後、作成したばかりのバケットを削除するコードをいくつか追加します。このコードは後で実行します。

AWS Cloud9 IDE で、以下の内容のファイルを作成し、という名前で保存します。s3.js

if (process.argv.length < 4) { console.log( "Usage: node s3.js <the bucket name> <the AWS Region to use>\n" + "Example: node s3.js my-test-bucket us-east-2" ); process.exit(1); } const { S3Client, ListBucketsCommand, CreateBucketCommand, DeleteBucketCommand } = require("@aws-sdk/client-s3"); const async = require("async"); // To call AWS operations asynchronously. const bucket_name = process.argv[2]; const region = process.argv[3]; const s3 = new S3Client({ region: REGION }); const create_bucket_params = { Bucket: bucket_name, CreateBucketConfiguration: { LocationConstraint: region, }, }; const delete_bucket_params = { Bucket: bucket_name }; // List all of your available buckets in this AWS Region. const run = async () => { try { const data = await s3.send(new ListBucketsCommand({})); console.log("My buckets now are:\n"); for (var i = 0; i < data.Buckets.length; i++) { console.log(data.Buckets[i].Name); } } catch (err) { console.log("Error", err); } try { console.log("\nCreating a bucket named " + bucket_name + "...\n"); const data = await s3.send(new CreateBucketCommand(create_bucket_params)); console.log("My buckets now are:\n"); for (var i = 0; i < data.Buckets.length; i++) { console.log(data.Buckets[i].Name); } } catch (err) { console.log(err.code + ": " + err.message); } try { console.log("\nDeleting the bucket named " + bucket_name + "...\n"); const data = await s3.send(new DeleteBucketCommand(delete_bucket_params)); } catch (err) { console.log(err.code + ": " + err.message); } }; run();
AWS SDK for JavaScript (V2)

このステップでは、今度は Amazon S3 を操作してバケットを作成し、利用できるバケットのリストを表示した後、作成したばかりのバケットを削除するコードをいくつか追加します。このコードは後で実行します。

AWS Cloud9 IDE で、以下の内容のファイルを作成し、という名前で保存します。s3.js

if (process.argv.length < 4) { console.log('Usage: node s3.js <the bucket name> <the AWS Region to use>\n' + 'Example: node s3.js my-test-bucket us-east-2'); process.exit(1); } var AWS = require('aws-sdk'); // To set the AWS credentials and region. var async = require('async'); // To call AWS operations asynchronously. AWS.config.update({ region: region }); var s3 = new AWS.S3({apiVersion: '2006-03-01'}); var bucket_name = process.argv[2]; var region = process.argv[3]; var create_bucket_params = { Bucket: bucket_name, CreateBucketConfiguration: { LocationConstraint: region } }; var delete_bucket_params = {Bucket: bucket_name}; // List all of your available buckets in this AWS Region. function listMyBuckets(callback) { s3.listBuckets(function(err, data) { if (err) { } else { console.log("My buckets now are:\n"); for (var i = 0; i < data.Buckets.length; i++) { console.log(data.Buckets[i].Name); } } callback(err); }); } // Create a bucket in this AWS Region. function createMyBucket(callback) { console.log('\nCreating a bucket named ' + bucket_name + '...\n'); s3.createBucket(create_bucket_params, function(err, data) { if (err) { console.log(err.code + ": " + err.message); } callback(err); }); } // Delete the bucket you just created. function deleteMyBucket(callback) { console.log('\nDeleting the bucket named ' + bucket_name + '...\n'); s3.deleteBucket(delete_bucket_params, function(err, data) { if (err) { console.log(err.code + ": " + err.message); } callback(err); }); } // Call the AWS operations in the following order. async.series([ listMyBuckets, createMyBucket, listMyBuckets, deleteMyBucket, listMyBuckets ]);

手順 6: AWS SDK コードの実行

  1. npm を使用して Amazon S3 オペレーションを非同期的に呼び出すコードを有効にして install コマンド。

    npm install async
  2. AWS Cloud9 IDE のメニューバーで、[] を選択します。Run実行設定新しい実行設定

  3. リポジトリの [][新規]-アイドルタブで、[] メニューからランナー: Auto[] を選択してから、[Node.js

  4. [Command (コマンド)] に、「s3.js my-test-bucket us-east-2」と入力します。ここで my-test-bucket は作成して削除するバケットの名前、us-east-2 はバケットを作成する AWS リージョンの ID です。その他の ID については、Amazon Simple Storage Service (Amazon S3)()Amazon Web Services 全般のリファレンス

    注記

    Amazon S3 バケット名は AWS アカウントで一意であるだけでなく、AWS で一意である必要があります。

  5. [Run (実行)] ボタンを選択して、出力を比較します。

    My buckets now are: Creating a new bucket named 'my-test-bucket'... My buckets now are: my-test-bucket Deleting the bucket named 'my-test-bucket'... My buckets now are:

ステップ 7: クリーンアップ

このサンプルを使用し終わった後 AWS アカウントに料金が継続的に発生するのを防ぐには、環境を削除する必要があります。手順については、「AWS Cloud9」を参照してください。