| サンプル集 |
|
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■WordPress ■PowerShell ■other |
| Linuxコマンド |
| 用語集 |
| debian メモ |
| apache2 メモ |
| MySQL メモ |
| Oracle メモ |
| HOME |
SQSからLambda関数を起動するテストをしてみます。
まずはSQSを作成します。
| タイプ | FIFO |
|---|---|
| 名前 | MyQueue.fifo |

Lambda関数を作成します。
| 関数の作成 | 一から作成 |
|---|---|
| 名前 | MyFunctionFromSQS |
| ランタイム | Python 3.9 |

引数で受け取ったeventをprintするようにします。
| lambda_function.py | ||
|
LambdaのトリガーにSQSを指定します。

エラーがでました。

エラーメッセージは以下でした。
指定された実行ロールには、SQS で ReceiveMessage を呼び出す権限がありません。
権限が足りないとのことです。 作る手順の問題かもしれないので、SQSからLambda関数をトリガーに指定してみます。

同じエラーが出ました。

Lambdaの画面の下に以下のメッセージが表示されていました。
SQSトリガから読み込むためには、実行ロールに適切な権限が必要です。
Lambdaの設定のアクセス権限を開きます。

ロール名に「myFunctionFromSQS-role-u258berm」という表示があります。クリックします。

画面を下にスクロールさせます。

許可ポリシーにAWSLambdaBasicExecutionRole-dcecf9c...と表示されています。

編集をクリックします。

ビジュアルをクリックします。

許可をさらに追加をクリックし、sqsを選択します。

読み取りの中にReceiveMessageというものがありました。
ReceiveMessageにチェックをします。

メッセージが表示されました。
「このアカウント内のいずれか」をチェックします。

「次へ」をクリックします。

SQSが追加されています。「変更を保存」をクリックします。

再度Lambdaのトリガーを設定してみます。

DeleteMessageも必要なようです。DeleteMessageを追加したところ、GetQueueAttributesが必要というエラーが出たためGetQueueAttributesも追加しました。

トリガーにSQSを設定することができました。
SQSにメッセージを送信してみます。

メッセージが送信できると画面上部に「メッセージは送信され、受信可能です。」と表示されました。

CloudWatchのログを確認してみます。

print(event)で表示されて内容に、SQSに送信したメッセージも表示されています。
Copyright (C) 2023 ymlib.com
