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 ステータス コード。 整数 なし。
ペイロード 関数から返されるオブジェクトを表す 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"
  }
]

レスポンス プロパティ

プロパティ 説明 型 デフォルト
説明 関数の説明。 文字列。 なし。
Handler Lambda が関数を呼び出して実行を開始する関数。 文字列。 なし。
FunctionArn 関数の Amazon Resource Name。 文字列。 なし。
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 でエンコードされた値です。
なし。 はい。