メニュー
AWS Lambda
開発者ガイド

ステップ 3: Lambda 関数を呼び出す (AWS CLI)

このセクションでは、AWS CLI コマンド invoke を使用して Lambda 関数を手動で呼び出します。

Copy
$ aws lambda invoke \ --invocation-type RequestResponse \ --function-name helloworld \ --region us-west-2 \ --log-type Tail \ --payload '{"key1":"value1", "key2":"value2", "key3":"value3"}' \ --profile adminuser \ outputfile.txt

必要に応じて、ペイロードをファイル (たとえば、input.txt) に保存し、パラメータとしてファイル名を指定できます。

Copy
--payload file://input.txt \

前述の invoke コマンドでは、呼び出しタイプとして RequestResponse を指定します。これにより、関数を実行するとすぐにレスポンスが返されます。または、呼び出しタイプとして Event を指定すると、関数を非同期的に呼び出すことができます。

--log-type パラメータを指定することにより、コマンドは、関数によって生成されたログの末尾もリクエストします。レスポンスのログデータは、次のレスポンスの例に示すように、base64 でエンコードされています。

Copy
{ "LogResult": "base64-encoded-log", "StatusCode": 200 }

Linux および Mac では、base64 コマンドを使用してログをデコードできます。

Copy
$ echo base64-encoded-log | base64 --decode

ログの例のデコードされたバージョンを次に示します。

Copy
START RequestId: 16d25499-d89f-11e4-9e64-5d70fce44801 2015-04-01T18:44:12.323Z 16d25499-d89f-11e4-9e64-5d70fce44801 value1 = value1 2015-04-01T18:44:12.323Z 16d25499-d89f-11e4-9e64-5d70fce44801 value2 = value2 2015-04-01T18:44:12.323Z 16d25499-d89f-11e4-9e64-5d70fce44801 value3 = value3 2015-04-01T18:44:12.323Z 16d25499-d89f-11e4-9e64-5d70fce44801 result: "value1" END RequestId: 16d25499-d89f-11e4-9e64-5d70fce44801 REPORT RequestId: 16d25499-d89f-11e4-9e64-5d70fce44801 Duration: 13.35 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 9 MB

詳細については、「Invoke」を参照してください。

RequestResponse 呼び出しタイプを使用して関数を呼び出したため、関数が実行され、呼び出したときにリアルタイムで、context.succeed() に渡したオブジェクトが返されます。このチュートリアルでは、CLI コマンドで指定した outputfile.txt ファイルに次のテキストが書き込まれます。

Copy
"value1"

注記

Lambda 関数を作成し、呼び出すのと同じ AWS アカウントを使用しているため、この関数を実行することができます。ただし、関数を実行するために別の AWS アカウントにクロスアカウントアクセス権限を付与する場合、または別の AWS サービスにアクセス権限を付与する場合は、その関数に関連付けられたアクセス権限ポリシーにアクセス権限を追加する必要があります。Amazon S3 をイベントソースとして使用する Amazon S3 チュートリアル (「チュートリアル: Amazon S3 での AWS Lambda の使用」を参照) では、関数を呼び出すためにこのようなアクセス権限が Amazon S3 に付与されます。

Lambda 関数のアクティビティは、AWS Lambda コンソールでモニタリングできます。

  • AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/lambda/ にある AWS Lambda コンソールを開きます。

    AWS Lambda コンソールでは、関数の [Cloudwatch Metrics at a glance] セクションで、一部の CloudWatch メトリクスのグラフィカル表現が表示されます。

  • 各グラフでは、[logs] リンクをクリックして、CloudWatch ログを直接表示することもできます。

次のステップ

ステップ 4: より多くの CLI コマンドを試す (AWS CLI)

このページの内容: