AWS Lambda ポリシー

ポリシー名

AWS Lambda

概要

標準の HTTP 要求から AWS Lambda 関数をトリガーする

カテゴリ

変換

使用可能な最小 Flex Gateway バージョン

v1.9.0

返される状況コード

502 - 不正なゲートウェイ、サーキットブレーカーのアクティベーションにより要求がブロックされます

概要

AWS Lambda ポリシーでは、標準の HTTP 要求から AWS Lambda 関数をトリガーします。HTTP 要求ペイロードをそのまま、またはJSON スキーマでラップして渡します。

AWS Lambda ポリシーは、Envoy に対してネイティブな AWS Lambda 検索条件の拡張機能です。AWS Lambda 検索条件についての詳細は、 「AWS Lambda Filter (AWS Lambda 検索条件)」​を参照してください。すべての AWS Lambda 検索条件パラメーターが AWS Lambda ポリシーで使用できるとは限りません。設定可能なパラメーターを確認するには、​「ポリシーのパラメーターの設定」​を参照してください。

ポリシーのパラメーターの設定

Flex Gateway のローカルモード

ローカルモードでは、宣言型の設定ファイルを使用してポリシーを API に適用します。以下のポリシー定義とパラメーターの表を参照してください。

- policyRef:
    name: native-aws-lambda
  config:
      arn: <string> // REQUIRED
      payloadPassthrough: <boolean> // REQUIRED
      invocationMode: <string> // REQUIRED
      authenticationMode: <string> // REQUIRED
      credentialProfile: <string> // OPTIONAL
      credentials:
        accessKeyId: <string> // OPTIONAL
        secretAccessKey: <string> // OPTIONAL
        sessionToken: <string> // OPTIONAL
パラメーター 必須または省略可能 デフォルト値 説明

arn

必須

なし

次の形式の AWS Lambda ARN: arn:<partition>:lambda:<region>:<account-number>:function:<function-name>​。

payloadPassthrough

必須

false

デフォルトでは、Flex は JSON でラップされた要求を AWS Lambda 関数に送信します。​payloadPassthrough​ が有効になっている場合、要求はそのまま送信されます。

invocationMode

必須

同期

Lambda 関数の呼び出し方法 (​sync​ または ​async​)。​sync​ の場合、Flex Gateway は AWS 応答を待機します。​async​ の場合、Flex Gateway は AWS からの応答を待機しません。

authenticationMode

必須

なし

認証のモードを決定します。オプション: ログイン情報 AWS 環境変数、AWS ログイン情報ファイル、AWS ロールを順番通りに使用する ​default​、AWS ログイン情報ファイルのプロファイルである ​profile​、ポリシーで設定されたログイン情報である ​static​。

credentialProfile

省略可能

なし

ログイン情報の ​profile​ を指定します。​profile​ 認証モード専用です。

credentials

省略可能

なし

static​ ログイン情報オブジェクトを設定します。​static​ 認証モード専用です。

credentials.accessKeyId

必須

なし

AWS アクセスキー ID

credentials.secretAccessKey

必須

なし

AWS アクセスキー

credentials.sessionToken

省略可能

なし

セッショントークン

リソースの設定例

次の例では、レート制限を 6 秒ごとに 3 件の要求として定義しています。

- policyRef:
    name: native-aws-lambda
  config:
      arn: rn:&lt;partition&gt;:lambda:&lt;region&gt;:&lt;account-number&gt;:function:&lt;function-name&gt;
      payloadPassthrough: true
      invocationMode: sync
      authenticationMode: static
      credentials:
        accessKeyId: id
        secretAccessKey: secret
        sessionToken: token

管理 Flex Gateway および Flex Gateway の接続モード

UI からポリシーを API インスタンスに適用するときに、以下のパラメーターが表示されます。

パラメーター 必須または省略可能 説明

The ARN of the AWS Lambda (AWS Lambda の ARN)

必須

次の形式の AWS Lambda ARN: arn:<partition>:lambda:<region>:<account-number>:function:<function-name>​。

Payload passthrough (ペイロードパススルー)

必須

デフォルトでは、Flex は JSON でラップされた要求を AWS Lambda 関数に送信します。有効になっている場合、要求はそのまま送信されます。

Determines the way to invoke the Lambda function (Lambda 関数の呼び出し方法を決定)

必須

Lambda 関数の呼び出し方法。​Sync​ の場合、Flex Gateway は AWS 応答を待機します。​Async​ の場合、Flex Gateway は AWS からの応答を待機しません。

Determines origin of credentials (ログイン情報のオリジンを決定)

必須

認証のモードを決定します。オプション: ログイン情報 AWS 環境変数、AWS ログイン情報ファイル、AWS ロールを順番通りに使用する ​Default​、AWS ログイン情報ファイルのプロファイルである ​Profile​、ポリシーで設定されたログイン情報である ​Static​。

Credentials profile (ログイン情報プロファイル)

省略可能

ログイン情報のプロファイルを指定します。​Profile​ 認証モード専用です。

ログイン情報

省略可能

静的ログイン情報を設定します。​Static​ 認証モード専用です。

AccessKeyId

必須

AWS アクセスキー ID

SecretAccessKey

必須

AWS アクセスキー

SessionToken

省略可能

セッショントークン