Amazon SQS でのキューの使用 - AWS SDK for JavaScript

AWS SDK for JavaScript v2 のサポート終了が間近に迫っていることが発表されています。AWS SDK for JavaScript v3 に移行することをお勧めします。日付、その他の詳細、移行方法については、リンク先の発表内容を参照してください。

Amazon SQS でのキューの使用

JavaScript code example that applies to Node.js execution

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

  • すべてのメッセージキューのリストを取得する方法

  • 特定のキューの URL を取得する方法

  • キューを作成および削除する方法

例について

この例では、一連の Node.js モジュールは、キューの操作に使用されます。Node.js モジュールは SDK for JavaScript を使用して、キューが AWS.SQS クライアントクラスの次のメソッドを呼び出せるようにします。

Amazon SQS メッセージの詳細については、Amazon Simple Queue Service デベロッパーガイドキューの仕組みを参照してください。

前提条件タスク

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

キューの一覧表示

sqs_listqueues.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。Amazon SQS にアクセスするには、AWS.SQS サービスオブジェクトを作成します。キューの一覧表示に必要なパラメータを含む JSON オブジェクトを作成します。これはデフォルトでは空のオブジェクトになります。listQueues メソッドを呼び出して、キューの一覧を取得します。コールバックは、すべてのキューの URL を返します。

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create an SQS service object var sqs = new AWS.SQS({ apiVersion: "2012-11-05" }); var params = {}; sqs.listQueues(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.QueueUrls); } });

この例を実行するには、コマンドラインに次のように入力します。

node sqs_listqueues.js

このサンプルコードは、このGitHubにあります。

キューの作成

sqs_createqueue.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。Amazon SQS にアクセスするには、AWS.SQS サービスオブジェクトを作成します。キューの一覧表示に必要なパラメータを含む JSON オブジェクトを作成します。これには、作成したキューの名前を含める必要があります。パラメータには、メッセージ配信が遅延する秒数や、受信したメッセージを保持する秒数など、キューの属性も含めることができます。createQueue メソッドを呼び出します。コールバックは、作成したキューの URL を返します。

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create an SQS service object var sqs = new AWS.SQS({ apiVersion: "2012-11-05" }); var params = { QueueName: "SQS_QUEUE_NAME", Attributes: { DelaySeconds: "60", MessageRetentionPeriod: "86400", }, }; sqs.createQueue(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.QueueUrl); } });

この例を実行するには、コマンドラインに次のように入力します。

node sqs_createqueue.js

このサンプルコードは、このGitHubにあります。

キューの URL の取得

sqs_getqueueurl.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。Amazon SQS にアクセスするには、AWS.SQS サービスオブジェクトを作成します。キューの一覧表示に必要なパラメータを含む JSON オブジェクトを作成します。これには、必要な URL を持つキューの名前を含める必要があります。getQueueUrl メソッドを呼び出します。コールバックは、指定したキューの URL を返します。

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create an SQS service object var sqs = new AWS.SQS({ apiVersion: "2012-11-05" }); var params = { QueueName: "SQS_QUEUE_NAME", }; sqs.getQueueUrl(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.QueueUrl); } });

この例を実行するには、コマンドラインに次のように入力します。

node sqs_getqueueurl.js

このサンプルコードは、このGitHubにあります。

キューの削除

sqs_deletequeue.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。Amazon SQS にアクセスするには、AWS.SQS サービスオブジェクトを作成します。キューの削除に必要なパラメータを含む JSON オブジェクトを作成します。これは、削除するキューの URL で構成されます。deleteQueue メソッドを呼び出します。

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create an SQS service object var sqs = new AWS.SQS({ apiVersion: "2012-11-05" }); var params = { QueueUrl: "SQS_QUEUE_URL", }; sqs.deleteQueue(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

この例を実行するには、コマンドラインに次のように入力します。

node sqs_deletequeue.js

このサンプルコードは、このGitHubにあります。