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 つの拡張機能に制限されています。

MatchCondition

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

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

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

現在、ここではコールアウト拡張機能のみがサポートされています。

コールアウト拡張機能を構成するには、servicehttps://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~1,000 ミリ秒にする必要があります。コールアウト拡張機能には必須です。

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 レスポンス トレーラーが到着すると拡張機能が呼び出されます。