バージョン: 1.0.0
AWS Lambda にデプロイされた関数を実行します。この拡張機能を使用すると、AWS アカウントで使用できる関数をリストし、特定の関数を呼び出すことができます。
前提条件
ExtensionCallout ポリシーで API プロキシ経由で拡張機能を使用する前に、次のことを行う必要があります。
Amazon のアクセスキー ID とシークレット アクセスキーを取得します。
この拡張機能を構成するには上記の項目と関数がデプロイされるリージョン名が必要です。
Lambda 関数をデプロイします。拡張機能が Lambda 関数にアクセスできるには次のいずれかが必要です。
- パブリック VPC でデプロイする
- パブリック NAT ゲートウェイを備えたプライベート VPC でデプロイする
詳細については、Configuring a Lambda Function to Access Resources in an Amazon VPC をご覧ください。
AWS Lambda について
AWS Lambda はサポートされている言語のいずれかで関数を実行できるコンピューティング環境を提供します。
アクション
invoke
AWS Lambda で関数を呼び出します。
パラメータの詳細については、AWS Lambda Invoke のドキュメントをご覧ください。
構文
<Action>invoke</Action>
<Input><![CDATA[
{
"functionName" : "function-on-lambda",
"invocationType" : "RequestResponse | Event | DryRun",
"logType" : "None | Tail",
"qualifier" : "Version-or-alias",
"payload" : "Escaped-JSON-string"
}
]]>
</Input>
<Output>flow-variable</Output>
例
<Action>invoke</Action>
<Input><![CDATA[
{
"functionName" : "helloWorld",
"invocationType" : "RequestResponse",
"logType" : "None",
"qualifier" : "$LATEST",
"payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>
リクエスト パラメータ
パラメータの詳細については、AWS Lambda Invoke のドキュメントをご覧ください。
パラメータ | 説明 | 型 | デフォルト | 必須 |
---|---|---|---|---|
functionName | 呼び出す関数の名前。 | 文字列 | なし | ○ |
invocationType | 関数を同期、非同期で呼び出すか、あるいはパラメータ値を検証するかを指定します。 | 文字列 | なし | × |
logType | (省略可能)ログデータの最後の 4 KB を戻すかどうかを指定します。 | 文字列 | なし | × |
qualifier | 公開されている Lambda 関数の別名のバージョン。 | 文字列 | なし | × |
payload | Lambda 関数の入力としての JSON。 | 文字列 | なし | × |
レスポンス
特定のバージョンの詳細が含まれる関数の配列。次に例を示します。
{
"StatusCode" : 200,
"Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}
レスポンス プロパティ
プロパティ | 説明 | 型 | デフォルト |
---|---|---|---|
StatusCode | HTTP ステータス コード。 | 整数 | なし |
Payload | 関数から戻るオブジェクトを表す JSON。呼び出しタイプが RequestResponse の場合のみ表示されます。関数エラーの場合、エラー メッセージの説明が記載されます。 | 文字列 | なし |
listFunctions
使用可能な AWS Lambda 関数をリストします。
パラメータの詳細については、AWS Lambda ListFunctions ドキュメントをご覧ください。
構文
<Action>listFunctions</Action>
<Input><![CDATA[
{
"masterRegion" : "ALL | [a-z]{2}(-gov)?-[a-z]+-\d{1}",
"functionVersion" : "ALL",
"maxItems" : 1 - 10000
}
]]>
</Input>
<Output>flow-variable</Output>
例
<Action>listFunctions</Action>
<Input><![CDATA[
{
"masterRegion" : "ALL",
"functionVersion" : "ALL",
"maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>
リクエスト パラメータ
パラメータの詳細については、AWS Lambda ListFunctions ドキュメントをご覧ください。
パラメータ | 説明 | 型 | デフォルト | 必須 |
---|---|---|---|---|
masterRegion | 関数がリストされるリージョン(us-east-2 ) など)。ALL の場合、すべてのリージョンから関数を組み込みます。こちらを指定した場合、functionVersion も指定する必要があります。 |
文字列 | なし | × |
functionVersion | 公開されているすべてのバージョンをリストする場合は、ALL を指定します。指定しなかった場合は、最新の未公開バージョンの ARN が戻ります。 |
文字列 | なし | × |
maxItems | レスポンスで戻る関数の最大数。0 より大きくなければなりません。返される最大値(絶対数)は 50 です。 | 整数 | なし | × |
レスポンス
特定のバージョンの詳細が含まれる関数の配列を表す JSON。
[
{
"FunctionName": "helloWorld",
"FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
"Runtime": "nodejs",
"Role": "arn:aws:iam::012345:role/service-role/fakeRole",
"Handler": "index.handler",
"Description": "A Hello World lambda function.",
"Version": "$LATEST"
},
{
"FunctionName": "helloWorld",
"FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
"Runtime": "nodejs",
"Role": "arn:aws:iam::012345:role/service-role/fakeRole",
"Handler": "index.handler",
"Description": "A Hello World lambda function.",
"Version": "1"
}
]
レスポンス プロパティ
プロパティ | 説明 | 型 | デフォルト |
---|---|---|---|
Description | 関数の説明。 | 文字列 | なし |
Handler | Lambda が関数の実行を開始するために呼び出す関数。 | 文字列 | なし |
FunctionArn | 関数の Amazon Resource Name。 | 文字列 | なし |
FunctionName | 関数の名前。 | 文字列 | なし |
Role | 関数の実行役割。 | 文字列 | なし |
Runtime | 関数のランタイム環境。 | 文字列 | なし |
Version | 関数のバージョン。 | 文字列 | なし |
構成リファレンス
この拡張機能を API プロキシで使用するように構成してデプロイする場合は、以下のプロパティを使用します。Apigee Console で拡張機能を構成する手順については、拡張機能の追加と構成をご覧ください。
拡張機能の共通プロパティ
すべての拡張機能には次のプロパティがあります。
プロパティ | 説明 | デフォルト | 必須 |
---|---|---|---|
name |
この拡張機能に付ける名前。 | なし | ○ |
packageName |
Apigee Edge から提供された拡張機能パッケージの名前。 | なし | ○ |
version |
拡張機能を構成する拡張機能パッケージのバージョン番号。 | なし | ○ |
configuration |
追加する拡張機能に固有の構成値。この拡張機能パッケージのプロパティをご覧ください。 | なし | ○ |
この拡張機能パッケージのプロパティ
この拡張機能に固有の以下の構成プロパティに値を指定します。
プロパティ | 説明 | デフォルト | 必須 |
---|---|---|---|
AWS Lambda Region | 関数がデプロイされるリージョン名。例: us-east-1 。 |
なし | ○ |
Credentials | Apigee Edge コンソールに入力する場合は、次の形式の Amazon アクセスキー ID とアクセスキーを含む JSON ファイルになります。{ "accessKeyId" : "access-key-ID", "secretAccessKey" : "secret-access-key" } Management API で設定する場合は、キーの JSON ファイルから生成された base64 エンコード値になります。 |
なし | ○ |