<ph type="x-smartling-placeholder"></ph>
現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント。 詳細
<ph type="x-smartling-placeholder">
バージョン: 1.1.2
AWS Lambda にデプロイされた関数を実行します。この拡張機能を使用すると、AWS アカウントで使用可能な関数を一覧表示してから、特定の関数を呼び出すことができます。
前提条件
ExtensionCallout ポリシーを使用して API プロキシから拡張機能を使用する前に、次のことを行う必要があります。
Amazon のアクセスキー ID とシークレット アクセスキーを取得します。
この拡張機能を構成するには、関数がデプロイされているリージョンの名前とともに必要になります。
Lambda 関数をデプロイします。拡張機能が Lambda 関数にアクセスできるようにするには、次のいずれかが必要です。
- パブリック VPC にデプロイ
- パブリック NAT ゲートウェイを使用してプライベート VPC にデプロイ
詳細については、Configure a Lambda Function to Access Resources in an Amazon VPC をご覧ください。
AWS Lambda について
AWS Lambda は、サポートされているいずれかの言語で関数を実行できるコンピューティング環境を提供します。
操作
<ph type="x-smartling-placeholder">
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 ステータス コード。 | Integer | なし。 |
ペイロード | 関数によって返されるオブジェクトを表す 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 です。 | Integer | なし。 | いいえ。 |
レスポンス
特定のバージョンの詳細を含む関数の配列を表す 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"
}
]
レスポンスのプロパティ
プロパティ | 説明 | 型 | デフォルト |
---|---|---|---|
説明 | 関数の説明。 | 文字列 | なし。 |
Handler | 関数の実行を開始するために Lambda が呼び出す関数。 | 文字列 | なし。 |
FunctionArn | 関数の Amazon リソース名。 | 文字列 | なし。 |
FunctionName | 関数名。 | 文字列 | なし。 |
ロール | 関数の実行ロール。 | 文字列 | なし。 |
ランタイム | 関数のランタイム環境。 | 文字列 | なし。 |
バージョン | 関数のバージョン。 | 文字列 | なし。 |
構成リファレンス
API プロキシで使用するためにこの拡張機能を構成してデプロイする場合は、以下を使用します。Apigee コンソールを使用して拡張機能を構成する手順については、拡張機能の追加と構成をご覧ください。
拡張機能の一般的なプロパティ
すべての拡張機能には次のプロパティがあります。
プロパティ | 説明 | デフォルト | 必須 |
---|---|---|---|
name |
この拡張機能に付ける名前。 | なし | ○ |
packageName |
Apigee Edge から提供された拡張機能パッケージの名前。 | なし | ○ |
version |
拡張機能を構成する拡張機能パッケージのバージョン番号。 | なし | ○ |
configuration |
追加する拡張機能に固有の構成値。この拡張機能パッケージのプロパティをご覧ください。 | なし | ○ |
この拡張機能パッケージのプロパティ
この拡張機能に固有の次の構成プロパティの値を指定します。
プロパティ | 説明 | デフォルト | 必須 |
---|---|---|---|
AWS Lambda リージョン | 関数がデプロイされるリージョンの名前。例: us-east-1 。 |
なし。 | はい。 |
認証情報 | Apigee Edge コンソールで入力すると、これは次の形式の Amazon アクセスキー ID とアクセスキーを含む JSON ファイルです。{ "accessKeyId" : "access-key-ID", "secretAccessKey" : "secret-access-key" } Management API 経由で送信される場合は、そのキーの JSON ファイルから生成された base64 エンコード値です。 |
なし。 | はい。 |