ExtensionChain

Wrapper rantai ekstensi tunggal yang berisi kondisi pencocokan dan ekstensi yang akan dieksekusi.

Representasi JSON
{
  "name": string,
  "matchCondition": {
    object (MatchCondition)
  },
  "extensions": [
    {
      object (Extension)
    }
  ]
}
Kolom
name

string

Wajib. Nama untuk rantai ekstensi ini. Nama ini dicatat sebagai bagian dari log permintaan HTTP. Nama harus sesuai dengan RFC-1034, tidak boleh berisi huruf kecil, angka, dan tanda hubung, serta dapat memiliki maksimum 63 karakter. Selain itu, karakter pertama harus berupa huruf dan karakter terakhir harus berupa huruf atau angka.

matchCondition

object (MatchCondition)

Wajib. Kondisi yang menjadi dasar rantai ini dipanggil untuk permintaan.

extensions[]

object (Extension)

Wajib. Sekumpulan ekstensi yang akan dijalankan untuk permintaan pencocokan. Setidaknya diperlukan satu ekstensi. Hingga 3 ekstensi dapat ditentukan bagi setiap rantai ekstensi untuk resource LbTrafficExtension. Jaringan LbRouteExtension dibatasi hingga 1 ekstensi per rantai ekstensi.

MatchCondition

Kondisi yang menjadi dasar rantai ini dipanggil untuk permintaan.

Representasi JSON
{
  "celExpression": string
}
Kolom
celExpression

string

Wajib. Ekspresi Common Expression Language (CEL) yang digunakan untuk mencocokkan permintaan yang menjalankan rantai ekstensi.

Untuk mengetahui informasi selengkapnya, lihat referensi bahasa pencocok CEL.

Ekstensi

Satu ekstensi dalam rantai yang akan dijalankan untuk permintaan yang cocok.

Representasi JSON
{
  "name": string,
  "authority": string,
  "service": string,
  "supportedEvents": [
    enum (EventType)
  ],
  "timeout": string,
  "failOpen": boolean,
  "forwardHeaders": [
    string
  ]
}
Kolom
name

string

Wajib. Nama untuk ekstensi ini. Nama ini dicatat sebagai bagian dari log permintaan HTTP. Nama harus sesuai dengan RFC-1034, tidak boleh berisi huruf kecil, angka, dan tanda hubung, serta dapat memiliki maksimum 63 karakter. Selain itu, karakter pertama harus berupa huruf dan karakter terakhir harus berupa huruf atau angka.

authority

string

Opsional. Header :authority dalam permintaan gRPC yang dikirim dari Envoy ke layanan ekstensi. Diperlukan untuk ekstensi Info.

service

string

Wajib. Referensi ke layanan yang menjalankan ekstensi.

Saat ini, hanya ekstensi info yang didukung di sini.

Untuk mengonfigurasi ekstensi info, service harus menjadi referensi yang sepenuhnya memenuhi syarat ke layanan backend dalam format: https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService} atau https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}.

supportedEvents[]

enum (EventType)

Opsional. Kumpulan peristiwa selama pemrosesan permintaan atau respons tempat ekstensi ini dipanggil. Kolom ini wajib diisi untuk resource LbTrafficExtension. Nilai ini tidak boleh ditetapkan untuk resource LbRouteExtension.

timeout

string (Duration format)

Opsional. Menentukan waktu tunggu untuk setiap pesan pada streaming. Waktu tunggu harus antara 10-1.000 milidetik. Diperlukan untuk ekstensi Info.

Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan 's'. Contoh: "3.5s".

failOpen

boolean

Opsional. Menentukan bagaimana perilaku proxy jika panggilan ke ekstensi gagal atau waktu habis.

Jika ditetapkan ke TRUE, pemrosesan permintaan atau respons akan dilanjutkan tanpa error. Setiap ekstensi berikutnya dalam rantai ekstensi juga akan dijalankan. Jika ditetapkan ke FALSE atau setelan default FALSE digunakan, salah satu hal berikut akan terjadi:

  • Jika header respons belum dikirim ke klien downstream, error 500 umum akan ditampilkan ke klien. Respons error dapat disesuaikan dengan mengonfigurasi respons error kustom di load balancer.

  • Jika header respons telah dikirim, streaming HTTP ke klien downstream akan direset.

forwardHeaders[]

string

Opsional. Daftar header HTTP yang akan diteruskan ke ekstensi (dari klien atau backend). Jika dihilangkan, semua header akan dikirim. Setiap elemen adalah string yang menunjukkan nama header.

EventType

Bagian dari permintaan atau respons yang memanggil ekstensi.

Enum
EVENT_TYPE_UNSPECIFIED Nilai belum ditentukan. Jangan gunakan.
REQUEST_HEADERS Jika disertakan dalam supportedEvents, ekstensi akan dipanggil saat header permintaan HTTP tiba.
REQUEST_BODY Jika disertakan dalam supportedEvents, ekstensi akan dipanggil saat isi permintaan HTTP tiba.
RESPONSE_HEADERS Jika disertakan dalam supportedEvents, ekstensi akan dipanggil saat header respons HTTP tiba.
RESPONSE_BODY Jika disertakan dalam supportedEvents, ekstensi akan dipanggil saat isi respons HTTP tiba.
REQUEST_TRAILERS Jika disertakan dalam supportedEvents, ekstensi akan dipanggil saat cuplikan permintaan HTTP tiba.
RESPONSE_TRAILERS Jika disertakan dalam supportedEvents, ekstensi akan dipanggil saat cuplikan respons HTTP tiba.