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 マッチャーの言語リファレンスをご覧ください。

延長

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

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 レスポンスのトレーラが到着したときに呼び出されます。