AWS Lambda 拡張機能

現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください
情報

バージョン: 1.1.1

AWS Lambda にデプロイされた関数を実行します。この拡張機能を使用して、AWS アカウントで使用できる関数を一覧表示してから、特定の関数を呼び出します。

前提条件

ExtensionCallout ポリシーで API プロキシから拡張機能を使用する前に、次のことを行う必要があります。

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 ステータス コード。 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"
}

管理 API 経由で送信されると、そのキー JSON ファイルから生成された Base64 エンコード値になります。
なし。 はい、できます。