AWS Step Functions から Amazon SQS キューにあるメッセージの数を取得する方法を教えてください

2023.01.11

困っていた内容

AWS Step Functions の AWS SDK 統合を利用して、特定の Amazon SQS キューにあるメッセージの数を取得したいです。

GetQueueAttributes API で取得できるようなのですが、GetQueueAttributes API のリファレンスを見ても "QueueUrl" 以外の API パラメータをどのように指定すればよいかわかりませんでした。

どう対応すればいいの?

GetQueueAttributes API でキューの属性の値を取得するときは、"QueueUrl" のほかに "AttributeNames" を指定します。

"AttributeNames" には、値を取得したい属性の名前をリスト形式で指定する必要があります。

キューにあるメッセージの数を取得したい場合は、下記のようにパラメータを指定してください。

"Parameters": {
    "QueueUrl": "<キューURL>",
    "AttributeNames": [
      "ApproximateNumberOfMessages"
    ]
},

まとめ

Step Functions から AWS SDK 統合で API を呼び出すときのパラメータの指定方法は、SDK のドキュメント が参考になると思います。

参考資料

AWS SDK のサービスの統合

Class: AWS.SQS — AWS SDK for JavaScript