AWS Lambda 拡張機能

バージョン: 1.0.0

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 ステータス コード。 整数 なし
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 エンコード値になります。
なし