ExtensionChain

実行する一致条件と拡張機能を含む単一の拡張チェーン ラッパー。

JSON 表現
{
  "name": string,
  "matchCondition": {
    object (MatchCondition)
  },
  "extensions": [
    {
      object (Extension)
    }
  ]
}
フィールド
name

string

必須。この拡張機能チェーンの名前。この名前は HTTP リクエストログの一部として記録されます。名前は RFC-1034 に準拠している必要があります。英小文字、数字、ハイフンのみを使用できます。最大長は 63 文字です。また、最初の文字は英字で、最後の文字は英字または数字である必要があります。

matchCondition

object (MatchCondition)

必須。リクエストに対してこのチェーンが呼び出される条件。

extensions[]

object (Extension)

必須。一致するリクエストに対して実行される拡張機能のセット。少なくとも 1 つの拡張機能が必要です。LbTrafficExtension リソースの拡張チェーンごとに最大 3 つの拡張機能を定義できます。LbRouteExtension チェーンは、拡張機能チェーンごとに 1 つの拡張機能に制限されます。

一致条件

リクエストに対してこのチェーンが呼び出される条件。

JSON 表現
{
  "celExpression": string
}
フィールド
celExpression

string

必須。拡張機能チェーンが実行されるリクエストの照合に使用される Common Expression Language(CEL)式。

詳細については、CEL マッチャーの言語リファレンスをご覧ください。

延長

一致するリクエストに対して実行されるチェーン内の 1 つの拡張機能。

JSON 表現
{
  "name": string,
  "authority": string,
  "service": string,
  "supportedEvents": [
    enum (EventType)
  ],
  "timeout": string,
  "failOpen": boolean,
  "forwardHeaders": [
    string
  ]
}
フィールド
name

string

必須。この拡張機能の名前。この名前は HTTP リクエストログの一部として記録されます。名前は RFC-1034 に準拠している必要があります。小文字、数字、ハイフンのみ使用できます。長さは 63 文字以下にする必要があります。また、最初の文字は英字で、最後の文字は英字または数字である必要があります。

authority

string

省略可。Envoy から拡張機能サービスに送信される gRPC リクエストの :authority ヘッダー。コールアウト表示オプションの場合は必須です。

service

string

必須。拡張機能を実行するサービスへの参照。

現在のところ、コールアウト表示はサポートされていません。

コールアウト表示オプションを構成するには、service を、https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService} または https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService} の形式で、バックエンド サービスへの完全修飾参照にする必要があります。

supportedEvents[]

enum (EventType)

省略可。この拡張機能が呼び出されるリクエストまたはレスポンス処理中のイベントのセット。LbTrafficExtension リソースでは、このフィールドは必須です。LbRouteExtension リソースには設定しないでください。

timeout

string (Duration format)

省略可。ストリーム上の個々のメッセージのタイムアウトを指定します。タイムアウトは 10 ~ 1000 ミリ秒にする必要があります。コールアウト表示オプションに必須です。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

failOpen

boolean

省略可。拡張機能の呼び出しが失敗するかタイムアウトした場合のプロキシの動作を指定します。

TRUE に設定すると、リクエストまたはレスポンスの処理がエラーなしで続行されます。拡張機能チェーン内の後続の拡張機能もすべて実行されます。FALSE に設定するか、デフォルトの設定 FALSE を使用すると、次のいずれかが発生します。

  • レスポンス ヘッダーがダウンストリーム クライアントに配信されていない場合は、汎用の 500 エラーがクライアントに返されます。エラー レスポンスは、ロードバランサでカスタム エラー レスポンスを構成することでカスタマイズできます。

  • レスポンス ヘッダーが配信された場合、ダウンストリーム クライアントへの HTTP ストリームはリセットされます。

forwardHeaders[]

string

省略可。拡張機能に転送する(クライアントまたはバックエンドから) HTTP ヘッダーのリスト。省略した場合は、すべてのヘッダーが送信されます。各要素は、ヘッダー名を示す文字列です。

EventType

拡張機能が呼び出されるリクエストまたはレスポンスの部分。

列挙型
EVENT_TYPE_UNSPECIFIED 値が指定されていない。使用禁止。
REQUEST_HEADERS supportedEvents に含まれている場合、HTTP リクエスト ヘッダーが到着すると、拡張機能が呼び出されます。
REQUEST_BODY この拡張機能が supportedEvents に含まれている場合、HTTP リクエスト本文が到着したときにこの拡張機能が呼び出されます。
RESPONSE_HEADERS supportedEvents に含まれている場合、HTTP レスポンス ヘッダーが到着すると拡張機能が呼び出されます。
RESPONSE_BODY この拡張機能が supportedEvents に含まれている場合、HTTP レスポンスの本文が到着したときにこの拡張機能が呼び出されます。
REQUEST_TRAILERS supportedEvents に含まれている場合、HTTP リクエスト トレーラーが到着すると、拡張機能が呼び出されます。
RESPONSE_TRAILERS supportedEvents に含まれている場合、HTTP レスポンスのトレーラーが到着すると、拡張機能が呼び出されます。