Referensi variabel alur

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Bagian ini memberikan informasi referensi tentang variabel alur.

Apigee Edge menentukan variabel alur berikut:

apigee              loadbalancing        route
apiproxy            message              router
application         messageid            servicecallout
client              organization         system
current             proxy                target
environment         ratelimit            variable
error               request              virtualhost
is                  response
                               

Setiap variabel ini dijelaskan di bagian selanjutnya.

apigee

Variabel pembantu yang memberikan informasi tentang waktu eksekusi kebijakan.

Tabel berikut menjelaskan properti variabel apigee:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
apigee.metrics.policy.policy_name.timeTaken Bilangan bulat Hanya baca Waktu, dalam nanodetik, yang diperlukan kebijakan untuk dieksekusi. Kebijakan

apiproxy

Menjelaskan proxy API.

Tabel berikut menjelaskan properti variabel apiproxy:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
apiproxy.name String Hanya baca Nama proxy API. Misalnya, "Proxy Saya". Permintaan proxy
apiproxy.revision String Hanya baca Nomor revisi proxy API. Misalnya, "6". Permintaan proxy

Untuk mengetahui informasi selengkapnya tentang cara menggunakan proxy API, lihat Memahami API dan proxy API.

application

Container untuk properti application.basepath.

Tabel berikut menjelaskan properti variabel application:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
application.basepath String Hanya baca Jalur dasar deployment (ditentukan selama deployment API). Permintaan proxy

client

Aplikasi atau sistem yang mengirim permintaan ke router Edge.

Tabel berikut menjelaskan properti variabel client:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
client.cn String Hanya baca

Nama umum yang ditentukan dalam sertifikat TLS/SSL yang diberikan oleh aplikasi klien.

Permintaan proxy
client.country String Hanya baca

Negara dalam sertifikat TLS/SSL yang diberikan oleh aplikasi klien.

Permintaan proxy
client.email.address String Hanya baca

Alamat email dalam sertifikat TLS/SSL yang diberikan oleh aplikasi klien.

Permintaan proxy
client.host String Hanya baca

IP host HTTP yang terkait dengan permintaan yang diterima oleh ProxyEndpoint.

Permintaan proxy
client.ip String Hanya baca

Alamat IP klien atau sistem yang mengirim pesan ke router Edge. Misalnya, ini bisa berupa IP klien asli atau IP load balancer.

Permintaan proxy
client.locality String Hanya baca

Lokalitas (Kota) dalam sertifikat TLS/SSL yang diberikan oleh klien.

Permintaan proxy
client.organization String Hanya baca Organisasi dalam sertifikat TLS/SSL yang diberikan oleh klien. (Tidak harus setara dengan organisasi di Apigee Edge.) Permintaan proxy
client.organization.unit String Hanya baca

Unit organisasi dalam sertifikat TLS/SSL yang diberikan oleh klien.

Permintaan proxy
client.port Bilangan bulat Hanya baca

Port HTTP yang terkait dengan permintaan klien asal ke ProxyEndpoint.

Permintaan proxy
client.received.end.time String Hanya baca

Waktu, yang dinyatakan dalam bentuk string, saat proxy selesai menerima permintaan dari klien asal di ProxyEndpoint. Misalnya: Wed, 21 Aug 2013 19:16:47 UTC.

Nilai waktu ini adalah representasi string dari jumlah stempel waktu 32-bit yang sesuai. Misalnya, 'Wed, 21 Aug 2013 19:16:47 UTC' sesuai dengan nilai stempel waktu 1377112607413.

Permintaan proxy
client.received.end.timestamp Panjang Hanya baca

Nilai stempel waktu yang menentukan kapan proxy selesai menerima permintaan dari klien asal di ProxyEndpoint. Nilai ini adalah bilangan bulat 64-bit (panjang) yang berisi jumlah milidetik yang telah berlalu sejak tengah malam, pada 1 Januari 1970 UTC.

Permintaan proxy
client.received.start.time String Hanya baca

Waktu, yang dinyatakan dalam bentuk string, saat proxy mulai menerima permintaan dari klien asal di ProxyEndpoint. Misalnya: Wed, 21 Aug 2013 19:16:47 UTC

Nilai waktu ini adalah representasi string dari jumlah stempel waktu 32-bit yang sesuai. Misalnya, 'Wed, 21 Aug 2013 19:16:47 UTC' sesuai dengan nilai stempel waktu 1377112607413.

Permintaan proxy
client.received.start.timestamp Panjang Hanya baca

Nilai stempel waktu yang menentukan kapan proxy mulai menerima permintaan dari klien asal di ProxyEndpoint. Nilai ini adalah bilangan bulat 64-bit (panjang) yang berisi jumlah milidetik yang telah berlalu sejak tengah malam, pada 1 Januari 1970 UTC.

Permintaan proxy
client.scheme String Hanya baca

Menampilkan http atau https, bergantung pada transport yang digunakan oleh aplikasi klien untuk mengirim pesan permintaan.

Permintaan proxy
client.sent.end.time String Hanya baca

Waktu, yang dinyatakan dalam bentuk string, saat proxy selesai mengirim respons dari ProxyEndpoint ke klien. Misalnya: "Wed, 21 Aug 2013 19:16:47 UTC".

Nilai ini adalah representasi string dari client.sent.end.timestamp 32-bit yang sesuai. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC" sesuai dengan nilai stempel waktu 1377112607413.

PostClientFlow
client.sent.end.timestamp Panjang Hanya baca Nilai stempel waktu yang menentukan kapan ProxyEndpoint selesai menampilkan respons ke aplikasi klien asal. Nilai ini adalah bilangan bulat 64-bit (long) yang berisi jumlah milidetik yang berlalu sejak tengah malam, pada 1 Januari 1970 UTC. PostClientFlow
client.sent.start.time String Hanya baca Waktu, yang dinyatakan dalam bentuk string, saat ProxyEndpoint mulai menampilkan respons ke aplikasi klien asal. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC".

Nilai ini adalah representasi string dari client.sent.start.timestamp 32-bit yang sesuai. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC" sesuai dengan nilai stempel waktu 1377112607413.

PostClientFlow
client.sent.start.timestamp Panjang Hanya baca Saat proxy mulai mengirim respons ke klien dari ProxyEndpoint. Nilai ini dinyatakan sebagai bilangan bulat 64-bit (panjang) yang berisi jumlah milidetik yang telah berlalu sejak tengah malam, pada 1 Januari 1970 UTC. PostClientFlow
client.ssl.enabled String Hanya baca

"true" jika ProxyEndpoint dikonfigurasi untuk TLS/SSL; jika tidak, "false".

Permintaan proxy
client.state String Hanya baca

Status dalam sertifikat TLS/SSL yang ditampilkan oleh klien.

Permintaan proxy

current

Berisi informasi tentang alur proxy API saat ini.

Tabel berikut menjelaskan properti variabel current:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
current.flow.name String Hanya baca Nama alur yang sedang dieksekusi (seperti "PreFlow", "PostFlow", atau nama alur bersyarat). Permintaan proxy
current.flow.description String Hanya baca Deskripsi alur yang sedang dieksekusi. Nilai ini sama dengan nilai elemen <Description> dalam konfigurasi XML alur. Permintaan proxy

Anda dapat melihat properti ini di tampilan Rekaman aktivitas UI Edge. Namun, properti ini tidak terlihat secara default di tampilan Rekaman aktivitas UI Klasik.

environment

Container untuk properti environment.name.

Tabel berikut menjelaskan properti variabel environment:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
environment.name String Hanya baca Nama lingkungan tempat transaksi berjalan. Permintaan proxy

error

Objek kontekstual yang merepresentasikan pesan error dalam alur error.

Tabel berikut menjelaskan properti variabel error:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
error message Baca/Tulis Error jenis message, yang merupakan objek kontekstual dalam alur error. Error
error.content String Baca/Tulis Isi error. Error
error.message String Hanya baca

Pesan yang terkait dengan error, yang nilainya hanya tersedia sebelum Flow error dieksekusi.

Error
error.status.code Bilangan bulat Hanya baca

Kode status HTTP yang terkait dengan error. Misalnya, "400".

Error
error.reason.phrase String Hanya baca

Frasa alasan yang terkait dengan error. Misalnya: "Permintaan Buruk".

Error
error.transport.message TransportMessage Hanya baca

Error jenis TransportMessage.

Error
error.state Bilangan bulat Hanya baca

Status dalam Alur tempat terjadinya error.

Error
error.header.header_name String Baca/Tulis

Mendapatkan atau menetapkan header respons.

Error

fault

Variabel alur yang disetel ke kode error runtime saat kebijakan memunculkan error. Nilai kode error khusus untuk setiap kebijakan.

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
fault.fault_name String Hanya baca fault_name adalah nama kesalahan, seperti yang dijelaskan dalam tabel Error runtime yang disertakan dalam setiap topik referensi kebijakan. Error

is

Container untuk properti is.error.

Tabel berikut menjelaskan properti variabel is:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
is.error Boolean Hanya baca

Tanda error.

Permintaan proxy

loadbalancing

Memberikan informasi tentang status load balancing TargetEndpoint.

Tabel berikut menjelaskan properti variabel loadbalancing:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
loadbalancing.failedservers Array String Hanya baca

Daftar TargetServer yang gagal selama load balancing di TargetEndpoint.

Respons target
loadbalancing.isfallback Boolean Hanya baca

"true" jika penggantian diaktifkan untuk TargetServer yang dipanggil selama load balancing di TargetEndpoint.

Respons target
loadbalancing.targetserver String Hanya baca

TargetServer dipanggil selama load balancing di TargetEndpoint. Hanya disetel jika elemen <Path> disetel saat menentukan elemen load balancer.

Respons target

message

Objek kontekstual, dengan nilai yang sama seperti request dalam alur permintaan atau seperti response dalam alur respons atau seperti error dalam alur error.

Tabel berikut menjelaskan properti variabel message:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
message message Baca/Tulis

Objek kontekstual, dengan nilai yang sama seperti request dalam Flow permintaan atau seperti response dalam Flow respons atau seperti error dalam Flow Error.

Permintaan proxy
message.content String Baca/Tulis

Konten permintaan, respons, atau pesan error.

Permintaan proxy
message.formparam.param_name String Baca/Tulis

Nilai parameter formulir yang ditentukan.

Permintaan proxy
message.formparam.param_name.
 values
Koleksi Hanya baca

Semua nilai parameter formulir yang ditentukan dalam pesan.

Permintaan proxy
message.formparam.param_name.
 values.count
Bilangan bulat Hanya baca

Jumlah nilai parameter formulir yang ditentukan dalam pesan./p>

Permintaan proxy
message.formparams.count Bilangan bulat Hanya baca

Jumlah semua parameter formulir dalam pesan.

Permintaan proxy
message.formparams.names Koleksi Hanya baca

Nilai semua parameter formulir dalam pesan.

Permintaan proxy
message.formstring String Hanya baca

Nilai string formulir dalam pesan.

Permintaan proxy
message.header.header_name String Baca/Tulis

Mendapatkan atau menetapkan nilai header HTTP yang ditentukan dalam pesan. Jika header berisi koma, saat dibaca, Anda hanya akan menerima segmen teks hingga koma pertama. Jika Anda menginginkan seluruh header, gunakan formulir request.header.header_name.
 values

Permintaan proxy
message.header.header_name.N String Baca/Tulis

Nilai header tertentu Nth dalam pesan, baik permintaan maupun respons, bergantung pada status alur. Apigee Edge memisahkan nilai teks header dengan koma. Perhatikan bahwa indeks yang nilainya digunakan untuk N berbasis 1, bukan berbasis 0.

Misalnya: jika header Cache-control adalah "public,maxage=16544", maka nilai yang ditampilkan dari message.header.cache-control.1 adalah "maxage=16544".

Permintaan proxy
message.header.header_name.
 values
Koleksi Hanya baca

Semua nilai nama header HTTP yang ditentukan dalam pesan.

Permintaan proxy
message.header.header_name.
 values.count
Bilangan bulat Hanya baca

Jumlah nilai nama header HTTP yang ditentukan dalam pesan.

Permintaan proxy
message.headers.count Bilangan bulat Hanya baca

Jumlah semua header HTTP dalam pesan.

Permintaan proxy
message.headers.names Koleksi Hanya baca

Nilai semua header HTTP dalam pesan

Permintaan proxy
message.path String Baca/Tulis

Jalur pesan permintaan lengkap di URL, tidak termasuk parameter kueri.

Permintaan proxy
message.queryparam.param_name String Hanya baca

Menampilkan parameter kueri pesan yang ditentukan.

Permintaan proxy
message.queryparam.param_name.N String Baca/Tulis

Nilai parameter kueri Nth dalam pesan. Misalnya, jika request.querystring adalah "a=hello&a=world", maka nilai yang ditampilkan dari message.queryparam.a.1 adalah "hello".

Sebagai contoh penulisan beberapa nilai untuk satu nama parameter kueri, seperti "type=siteid:1&type=language:us-en&type=currency:USD", tetapkan hal berikut:

  • message.queryparam.type.1 ke "siteid:1"
  • message.queryparam.type.2 ke "language:en-us"
  • message.queryparam.type.3 ke "currency:USD"
Permintaan proxy
message.queryparam.param_name.
 values
Koleksi Hanya baca

Semua nilai parameter kueri tertentu dalam pesan, diformat sebagai daftar yang dipisahkan koma.

Misalnya, jika string kueri adalah a=hello&a=world, maka nilai message.queryparam.a.values adalah "['hello', 'world']".

Permintaan proxy
message.queryparam.param_name.
 values.count
Bilangan bulat Hanya baca

Jumlah total parameter kueri tertentu yang terkait dengan permintaan yang dikirim ke ProxyEndpoint dari aplikasi klien.

Permintaan proxy
message.queryparams.count Bilangan bulat Hanya baca

Jumlah total semua parameter kueri yang terkait dengan permintaan yang dikirim ke ProxyEndpoint dari aplikasi klien.

Permintaan proxy
message.queryparams.names Koleksi Hanya baca

Daftar semua nama parameter kueri yang terkait dengan permintaan yang dikirim ke ProxyEndpoint dari aplikasi klien.

Untuk melakukan iterasi pada nama parameter kueri menggunakan JavaScript, lihat postingan Komunitas Apigee berikut: How do you iterate Collection from "request.queryparams.names" in JS? di Komunitas Apigee.

Permintaan proxy
message.querystring String Hanya baca

String yang berisi semua nama dan nilai parameter kueri yang terkait dengan permintaan yang dikirim ke ProxyEndpoint dari aplikasi klien.

Misalnya, untuk permintaan "http://api.apifactory.com/inventors?name=nick&surname=danger", nilai message.querystring adalah "name=nick&surname=danger".

Permintaan proxy
message.reason.phrase String Hanya baca

ReasonPhrase dari pesan respons dari target.

Respons target
message.status.code Bilangan bulat Hanya baca

Kode status HTTP pesan respons dari target.

Respons target
message.transport.message TransportMessage Hanya baca

Pesan berjenis TransportMessage yang merupakan objek kontekstual.

Permintaan proxy
message.uri String Hanya baca

Jalur URI lengkap (setelah URL domain) termasuk parameter kueri.

Misalnya, untuk permintaan "http://api.apifactory.com/inventors?name=nikola&surname=tesla", variabel ini menampilkan "inventors?name=nikola&surname=tesla".

Permintaan proxy
message.verb String Hanya baca

Kata kerja HTTP (GET, PUT, POST, DELETE, dll.) yang terkait dengan permintaan.

Permintaan proxy
message.version String Baca/Tulis

Versi HTTP yang terkait dengan permintaan yang dikirim ke ProxyEndpoint dari aplikasi klien.

Permintaan proxy

Untuk mengetahui informasi selengkapnya tentang pesan, lihat Referensi fungsi template pesan.

messageid

Penampung untuk ID unik global untuk permintaan.

Tabel berikut menjelaskan properti variabel messageid:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
messageid String Hanya baca

Menyimpan ID unik global untuk permintaan, yang mencakup nama host router. ID ini memungkinkan permintaan yang diterima di router dilacak setelah dikirim ke pemroses pesan.

ID ini dicatat dalam log error Edge untuk mengorelasikan messageid dengan error.

Permintaan proxy

organization

Container untuk properti organization.name.

Tabel berikut menjelaskan properti variabel organization:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
organization.name String Hanya baca

Nama organisasi.

Permintaan proxy

Untuk mengetahui informasi selengkapnya tentang organisasi, lihat Memahami organisasi.

proxy

Konfigurasi proxy API.

Tabel berikut menjelaskan properti variabel proxy:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
proxy.basepath String Hanya baca

Nilai Base Path dalam konfigurasi proxy API Anda. Jalur dasar adalah fragmen URI yang mengikuti host di URL. URI alur bersyarat mengikuti jalur dasar.

Di URL "http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282":

  • Host adalah "myorg-test.apigee.net" (yang mencakup nama organisasi dan lingkungan)
  • Jalur dasar adalah "/v2/weatherapi"

Satu-satunya cara untuk mengetahui hal ini adalah dengan melihat definisi proxy API atau memeriksa nilai variabel proxy.basepath. Sufiks jalur proxy mengikuti jalur dasar ("/forecastrss"), beserta parameter kueri apa pun.

Jika Anda menentukan Jalur Dasar dinamis dalam konfigurasi proxy API, seperti "/v2/*/weatherapi", maka variabel ini ditetapkan ke jalur dinamis ("/v2/*/weatherapi"), meskipun jalur dasar diselesaikan ke nilai statis, seperti "/v2/foo/weatherapi".

Permintaan proxy
proxy.client.ip String Hanya baca

Alamat X-Forwarded-For panggilan masuk, yang merupakan alamat IP yang diterima Edge dari handshake TCP eksternal terakhir. Hal ini dapat berupa klien panggilan atau load balancer.

Permintaan proxy
proxy.name String Hanya baca

Atribut nama yang dikonfigurasi untuk ProxyEndpoint.

Permintaan proxy
proxy.pathsuffix String Hanya baca

Nilai akhiran basepath proxy API yang dikirim dari klien dan diterima di ProxyEndpoint.

Basepath ditentukan sebagai komponen jalur yang secara unik mengidentifikasi proxy API. URL proxy API yang menghadap publik terdiri dari nama organisasi Anda, lingkungan tempat proxy di-deploy, basepath, akhiran basepath, dan parameter kueri apa pun.

Misalnya, dalam permintaan ke http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282, akhiran basepath adalah "/forecastrss".

Permintaan proxy
proxy.url String Hanya baca

Mendapatkan URL lengkap yang terkait dengan permintaan proxy yang diterima oleh ProxyEndpoint, termasuk parameter kueri yang ada. Host URL akan selalu menjadi localhost jika proxy dipanggil dengan <LocalTargetConnection> untuk melakukan penggabungan proxy.

Untuk contoh yang membuat URL request menggunakan host asli, lihat Mengakses pesan permintaan.

Permintaan proxy

Untuk mengetahui informasi selengkapnya tentang cara menggunakan proxy API, lihat Memahami API dan proxy API.

ratelimit

Diisi saat kebijakan Quota atau SpikeArrest dijalankan.

Tabel berikut menjelaskan properti variabel ratelimit:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
ratelimit.policy_name.allowed.count Panjang Hanya baca Menampilkan jumlah kuota yang diizinkan. PostClientFlow
ratelimit.policy_name.used.count Panjang Hanya baca Menampilkan kuota saat ini yang digunakan dalam interval kuota. PostClientFlow
ratelimit.policy_name.available.count Panjang Hanya baca Menampilkan jumlah kuota yang tersedia dalam interval kuota. PostClientFlow
ratelimit.policy_name.exceed.count Panjang Hanya baca Menampilkan 1 setelah kuota terlampaui. PostClientFlow
ratelimit.policy_name.total.exceed.count Panjang Hanya baca Menampilkan 1 setelah kuota terlampaui. PostClientFlow
ratelimit.policy_name.expiry.time Panjang Hanya baca

Menampilkan waktu UTC (dalam milidetik), yang menentukan kapan kuota berakhir dan kapan interval kuota baru dimulai.

Jika jenis kebijakan Kuota adalah rollingwindow, nilai ini tidak valid karena interval kuota tidak pernah berakhir.

PostClientFlow
ratelimit.policy_name.identifier String Hanya baca Menampilkan referensi ID (klien) yang dilampirkan ke kebijakan PostClientFlow
ratelimit.policy_name.class.allowed.count Panjang Hanya baca Menampilkan jumlah kuota yang diizinkan yang ditentukan dalam class PostClientFlow
ratelimit.policy_name.class.used.count Panjang Hanya baca Menampilkan kuota yang digunakan dalam kelas PostClientFlow
ratelimit.policy_name.class.available.count Panjang Hanya baca Menampilkan jumlah kuota yang tersedia di class PostClientFlow
ratelimit.policy_name.class.exceed.count Panjang Hanya baca Menampilkan jumlah permintaan yang melebihi batas di kelas dalam interval kuota saat ini PostClientFlow
ratelimit.policy_name.class.total.exceed.count Panjang Hanya baca Menampilkan jumlah total permintaan yang melampaui batas di kelas di semua interval kuota, sehingga merupakan jumlah class.exceed.count untuk semua interval kuota. PostClientFlow
ratelimit.policy_name.failed Boolean Hanya baca

Menunjukkan apakah kebijakan gagal atau tidak (benar atau salah).

PostClientFlow

Untuk informasi selengkapnya, lihat referensi berikut:

request

Permintaan lengkap, termasuk payload yang ada.

Untuk mengetahui informasi selengkapnya tentang data permintaan, lihat Bagaimana data permintaan diteruskan ke server backend?

Tabel berikut menjelaskan properti variabel request:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
request message Hanya baca

Permintaan lengkap, termasuk payload yang ada.

Permintaan proxy
request.content String Baca/Tulis

Mendapatkan atau menetapkan payload pesan permintaan.

Permintaan proxy
request.formparam.param_name String Baca/Tulis

Mendapatkan atau menetapkan nilai parameter formulir yang ditentukan dalam permintaan yang dikirim dari aplikasi klien.

Permintaan proxy
request.formparam.param_name.
 values
Koleksi Hanya baca

Semua nilai parameter formulir tertentu dalam permintaan, diformat sebagai daftar yang dipisahkan koma.

Misalnya, jika payloadnya adalah "a=hello&x=greeting&a=world", maka nilai request.formparam.a.values adalah "['hello', 'world']".

Permintaan proxy
request.formparam.param_name.
 values.count
Bilangan bulat Hanya baca

Jumlah semua nilai untuk parameter formulir tertentu yang terkait dengan permintaan.

Permintaan proxy
request.formparam.param_name.N String Baca/Tulis

Nilai parameter formulir tertentu Nth dalam pesan. Misalnya, jika string formulir adalah "a=hello&a=world", maka nilai yang ditampilkan dari request.formparam.a.1 adalah "hello".

Permintaan proxy
request.formparams.count Bilangan bulat Hanya baca

Jumlah semua parameter formulir yang terkait dengan permintaan yang dikirim dari aplikasi klien.

Permintaan proxy
request.formparams.names Koleksi Hanya baca

Daftar semua nama parameter formulir yang terkait dengan permintaan.

Permintaan proxy
request.formstring String Hanya baca

formparam lengkap dalam permintaan yang dikirim dari aplikasi klien.

Misalnya, "name=test&type=first&group=A".

Permintaan proxy
request.header.header_name String Baca/Tulis

Mendapatkan atau menetapkan nilai header tertentu yang ditemukan dalam permintaan. Jika header berisi koma, saat dibaca, Anda hanya akan menerima segmen teks hingga koma pertama.

Jika Anda menginginkan seluruh header, gunakan formulir request.header.header_name.values.

Permintaan proxy
request.header.header_name.N String Baca/Tulis

Nilai header tertentu Nth dalam permintaan. Apigee Edge memisahkan nilai teks header dengan koma. Perhatikan bahwa indeks yang nilainya digunakan untuk N adalah berbasis 1, bukan berbasis 0.

Misalnya, jika header Cache-control adalah "public, maxage=16544", maka nilai yang ditampilkan oleh request.header.cache-control.1 adalah "maxage=16544".

Permintaan proxy
request.header.header_name.
 values
Koleksi Hanya baca

Semua nilai header tertentu dalam permintaan.

Permintaan proxy
request.header.header_name.
 values.count
Bilangan bulat Hanya baca

Jumlah semua nilai header tertentu dalam permintaan.

Permintaan proxy
request.headers.count Bilangan bulat Hanya baca

Jumlah semua header dalam permintaan.

Permintaan proxy
request.headers.names Koleksi Hanya baca

Nama semua header dalam permintaan.

Permintaan proxy
request.path String Hanya baca

Jalur resource yang tidak di-proxy (tidak termasuk host) ke layanan backend, tidak termasuk parameter kueri.

Misalnya, jika URI ke layanan backend adalah "https://example.com/rest/api/latest", maka nilai request.path adalah "/rest/api/latest".

Permintaan proxy
request.queryparam.param_name String Baca/Tulis

Nilai parameter kueri tertentu yang ditemukan dalam permintaan.

Permintaan proxy
request.queryparam.param_name.N String Baca/Tulis

Nilai parameter kueri Nth dalam permintaan.

Misalnya, jika request.querystring adalah "a=hello&a=world", maka nilai yang ditampilkan request.queryparam.a.1 adalah "hello".

Sebagai contoh penulisan beberapa nilai untuk satu nama parameter kueri, seperti "type=siteid:1&type=language:us-en&type=currency:USD", tetapkan hal berikut:

  • request.queryparam.type.1 ke "siteid:1"
  • request.queryparam.type.2 ke "language:en-us"
  • request.queryparam.type.3 ke "currency:USD"
Permintaan proxy
request.queryparam.param_name.
 values
Koleksi Hanya baca

Semua nilai parameter kueri tertentu dalam permintaan, diformat sebagai daftar yang dipisahkan koma.

Misalnya, jika request.querystring adalah "a=hello&b=lovely&a=world", maka nilai request.queryparam.a.values adalah "['hello', 'world']".

Permintaan proxy
request.queryparam.param_name.
 values.count
Bilangan bulat Hanya baca

Jumlah semua nilai parameter kueri tertentu dalam permintaan.

Permintaan proxy
request.queryparams.count Bilangan bulat Hanya baca

Jumlah semua parameter kueri dalam permintaan.

Permintaan proxy
request.queryparams.names Koleksi Hanya baca

Nama semua parameter kueri dalam permintaan.

Untuk melakukan iterasi pada nama parameter kueri menggunakan JavaScript, lihat How do you iterate Collection from "request.queryparams.names" in JS? di Komunitas Apigee.

Permintaan proxy
request.querystring String Hanya baca

Daftar lengkap parameter kueri dalam permintaan yang dikirim dari aplikasi klien.

Misalnya, jika permintaan adalah "http://host.com/123?name=first&surname=second&place=address", maka variabel ini akan menampilkan "name=first&surname=second&place=address".

Permintaan proxy
request.transportid String Hanya baca

ID permintaan sebagai jenis TransportMessage yang merupakan objek kontekstual.

Permintaan proxy
request.transport.message Transport-Message Hanya baca

Permintaan jenis TransportMessage yang merupakan objek kontekstual.

Permintaan proxy
request.uri String Hanya baca

Dalam proxy API, <BasePath> proxy di ProxyEndpoint (selain URL dasar proxy) dipetakan ke URL layanan target di TargetEndpoint. Contoh:

<ProxyEndpoint>
...
  <BasePath>/my-mock-proxy</BasePath>

Mengarah ke

<TargetEndpoint>
...
  <HTTPTargetConnection>
    http://mocktarget.apigee.net
  </HTTPTargetConnection>

Dalam permintaan, request.uri adalah jalur dasar proxy + sisa alamat, termasuk parameter kueri.

Dalam respons, request.uri adalah sisa alamat, termasuk parameter kueri, setelah HTTPTargetConnection.

Perbedaannya adalah karena permintaan asli masuk ke proxy, tetapi kemudian proxy membuat permintaan lain ke layanan target.

Misalnya, panggilan berikut dilakukan ke proxy contoh kita, yang memiliki jalur dasar "/my-mock-proxy":

http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude

Dan panggilan proxy:

http://mocktarget.apigee.net

Yang menambahkan "/user?user=Dude" ke URL tersebut.

  • Permintaan: request.uri = "/my-mock-proxy/user?user=Dude"
  • Respons: request.uri = "/user?user=Dude"
Permintaan proxy (berbeda dalam respons)
request.url String Hanya baca

URL lengkap permintaan yang dibuat ke endpoint target, termasuk parameter string kueri, tetapi tidak termasuk nomor port (jika ditentukan).

Misalnya, jika Anda melakukan panggilan ke proxy contoh "http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude", dan endpoint target adalah "http://example.com:8080", maka nilainya adalah:

  • Permintaan: t/a
  • Respons: "http://example.com/user?user=Dude"
Respons target
request.verb String Hanya baca

Kata kerja HTTP yang digunakan untuk permintaan. Misalnya, "GET", "PUT", dan "DELETE".

Permintaan proxy
request.version String Hanya baca

Versi HTTP permintaan. Misalnya, "1.1".

Permintaan proxy

response

Respons lengkap, termasuk payload yang ada.

Tabel berikut menjelaskan properti variabel response:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
response message Baca/Tulis

Pesan respons lengkap yang ditampilkan oleh target.

Respons target
response.content String Baca/Tulis

Konten payload pesan respons yang ditampilkan oleh target.

Respons target
response.formparam.param_name String Baca/Tulis

Nilai parameter formulir dalam respons.

Respons target
response.formparam.param_name.
 values.count
Bilangan bulat Hanya baca

Jumlah semua nilai parameter formulir yang ditentukan dalam respons.

Respons target
response.formparams.count Bilangan bulat Hanya baca

Jumlah semua parameter formulir dalam respons.

Respons target
response.formparams.names Koleksi Hanya baca

Nama semua parameter formulir dalam respons.

Respons target
response.header.header_name String Baca/Tulis

Mendapatkan atau menetapkan nilai header HTTP tertentu dalam respons.

Jika teks header menyertakan koma, Apigee Edge menyimpulkan beberapa nilai. Dalam hal ini, response.header.header_name hanya menampilkan nilai pertama.

Untuk membaca seluruh header, gunakan formulir response.header.header_name.values.

Respons target
response.header.header_name.
 values
Koleksi Hanya baca

Semua nilai header HTTP yang ditentukan dalam respons.

Respons target
response.header.header_name.
 values.count
Bilangan bulat Hanya baca

Jumlah semua nilai header HTTP yang ditentukan dalam respons.

Respons target
response.header.header_name.N String Baca/Tulis

Nilai header tertentu Nth dalam respons. Apigee Edge memisahkan nilai teks header dengan koma. Perhatikan bahwa indeks yang nilainya digunakan untuk N adalah berbasis 1, bukan berbasis 0.

Misalnya, jika header Cache-control adalah "public, maxage=16544", maka response.header.cache-control.1 akan menampilkan "maxage=16544".

Respons target
response.headers.count Bilangan bulat Hanya baca

Jumlah semua header dalam respons.

Respons target
response.headers.names Koleksi Hanya baca

Nama semua header dalam respons.

Respons target
response.reason.phrase String Baca/Tulis

Frasa alasan respons untuk permintaan tertentu.

Respons target
response.status.code Bilangan bulat Baca/Tulis

Kode respons yang ditampilkan untuk permintaan. Anda dapat menggunakan variabel ini untuk mengganti kode status respons, yang disimpan di message.status.code. Untuk mengetahui informasi selengkapnya, lihat message.

Respons target
response.transport.message String Hanya baca

Respons jenis TransportMessage yang merupakan objek kontekstual.

Respons target

route

Menentukan nama <RouteRule> dan TargetEndpoint.

Tabel berikut menjelaskan properti variabel route:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
route.name String Hanya baca

Nama <RouteRule> yang dijalankan di ProxyEndpoint. Misalnya, "default". RouteRule mereferensikan TargetEndpoint proxy API untuk dieksekusi.

Permintaan target
route.target String Hanya baca

Nama TargetEndpoint yang dieksekusi. Misalnya, "default".

Permintaan target

router

Container untuk properti router.uuid, yang tidak digunakan lagi.

Tabel berikut menjelaskan properti variabel router:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
router.uuid String Hanya baca

Tidak digunakan lagi dan menampilkan null. (Sebelumnya adalah UUID router yang menangani proxy.)

Permintaan proxy

servicecallout

Menjelaskan TargetEndpoint untuk kebijakan ServiceCallout.

Tabel berikut menjelaskan properti variabel servicecallout:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
servicecallout.policy_name.expectedcn String Baca/Tulis

Nama Umum TargetEndpoint yang diharapkan sebagaimana dirujuk dalam kebijakan ServiceCallout policy. Ini hanya berguna jika TargetEndpoint merujuk ke endpoint TLS/SSL.

Permintaan proxy
servicecallout.policy_name.target.url String Baca/Tulis

URL TargetEndpoint untuk kebijakan ServiceCallout tertentu.

Permintaan proxy
servicecallout.requesturi String Baca/Tulis

URI TargetEndpoint untuk kebijakan ServiceCallout policy. URI adalah URL TargetEndpoint tanpa spesifikasi protokol dan domain.

Permintaan proxy

system

Menentukan alamat IP sistem, serta detail tentang proxy.

Tabel berikut menjelaskan properti variabel system:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
system.interface.interface_name String Hanya baca

Alamat IP sistem.

Permintaan proxy
system.pod.name String Hanya baca

Nama pod tempat proxy berjalan.

Permintaan proxy
system.region.name String Hanya baca

Nama pusat data region tempat proxy berjalan.

Permintaan proxy
system.time String Hanya baca

Waktu saat variabel ini dibaca. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC".

Nilai ini adalah representasi string dari nilai system.timestamp yang sesuai. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC" sesuai dengan nilai stempel waktu "1377112607413".

Permintaan proxy
system.time.year Bilangan bulat Hanya baca

Bagian tahun dari system.time.

Permintaan proxy
system.time.month Bilangan bulat Hanya baca

Bagian bulan dari system.time.

Permintaan proxy
system.time.day Bilangan bulat Hanya baca

Bagian hari dalam bulan dari system.time.

Permintaan proxy
system.time.dayofweek Bilangan bulat Hanya baca

Bagian hari dalam seminggu dari system.time.

Permintaan proxy
system.time.hour Bilangan bulat Hanya baca

Bagian jam dari system.time.

Permintaan proxy
system.time.minute Bilangan bulat Hanya baca

Bagian menit dari system.time.

Permintaan proxy
system.time.second Bilangan bulat Hanya baca

Bagian kedua dari system.time.

Permintaan proxy
system.time.millisecond Bilangan bulat Hanya baca

Bagian milidetik dari system.time.

Permintaan proxy
system.time.zone String Hanya baca

Zona waktu sistem.

Permintaan proxy
system.timestamp Panjang Hanya baca

Bilangan bulat 64-bit (long) yang merepresentasikan waktu saat variabel ini dibaca. Nilainya adalah jumlah milidetik yang berlalu sejak tengah malam, pada 1 Januari 1970 UTC. Misalnya, "1534783015000".

Permintaan proxy
system.uuid String Hanya baca

UUID pemroses pesan yang menangani proxy.

Permintaan proxy

target

Menjelaskan target permintaan.

Tabel berikut menjelaskan properti variabel target:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
target.basepath String Hanya baca

Jalur resource (tidak termasuk domain) ke layanan target, tidak termasuk parameter kueri, yang ditentukan di TargetEndpoint proxy.

Misalnya, proxy API memanggil target berikut:

<TargetEndpoint name="default">
...
  <HTTPTargetConnection>
    <URL>http://mocktarget.apigee.net/user?user=Dude</URL>
  </HTTPTargetConnection>

Dalam contoh ini, target.basepath adalah "/user".

Jika targetnya adalah ini:

<TargetEndpoint name="default">
...
  <HTTPTargetConnection>
    <URL>http://mocktarget.apigee.net</URL>
  </HTTPTargetConnection>

target.basepath akan berupa null.

Permintaan target
target.copy.pathsuffix Boolean Baca/Tulis

Jika "true", permintaan yang diteruskan dari ProxyEndpoint ke TargetEndpoint akan mempertahankan akhiran jalur (fragmen jalur URI yang mengikuti URI yang ditentukan di jalur dasar ProxyEndpoint).

Permintaan target
target.copy.queryparams Boolean Baca/Tulis

Jika "true", permintaan yang diteruskan dari ProxyEndpoint ke TargetEndpoint akan mempertahankan parameter kueri.

Permintaan target
target.country String Hanya baca

Negara sertifikat TLS/SSL yang diberikan oleh server target

Respons target
target.cn String Hanya baca

Nama Umum TargetEndpoint. Ini hanya berguna jika TargetEndpoint merujuk ke endpoint TLS/SSL.

Permintaan target
target.email.address String Hanya baca

Alamat email sertifikat TLS/SSL yang diberikan oleh server target

Respons target
target.expectedcn String Baca/Tulis

Nama Umum TargetEndpoint yang diharapkan. Ini hanya berguna jika TargetEndpoint merujuk ke endpoint TLS/SSL.

Permintaan proxy
target.host String Hanya baca

Nama domain layanan target yang menampilkan respons ke proxy API.

Respons target
target.ip String Hanya baca

Alamat IP layanan target yang menampilkan respons ke proxy API.

Respons target
target.locality String Hanya baca

Lokalitas (kota) sertifikat TLS/SSL yang diberikan oleh server target

Respons target
target.name String Hanya baca

Target yang menerima pesan dari targetendpoint.

Permintaan target
target.organization String Hanya baca

Organisasi sertifikat TLS/SSL yang diberikan oleh server target.

Respons target
target.organization.unit String Hanya baca

Unit organisasi sertifikat TLS/SSL yang diberikan oleh server target.

Respons target
target.port Bilangan bulat Hanya baca

Nomor port layanan target yang menampilkan respons ke proxy API.

Respons target
target.received.end.time String Hanya baca

Waktu, yang dinyatakan dalam bentuk string, saat TargetEndpoint selesai menerima respons dari target. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC".

Nilai waktu ini adalah representasi string dari jumlah stempel waktu 32-bit yang sesuai. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC" sesuai dengan nilai stempel waktu "1377112607413".

Respons target
target.received.end.
  timestamp
Panjang Hanya baca

Nilai stempel waktu yang menentukan kapan TargetEndpoint selesai menerima respons dari target. Misalnya, "1534783015000". Nilai ini adalah bilangan bulat 64-bit (panjang) yang menentukan jumlah milidetik yang telah berlalu sejak tengah malam, pada 1 Januari 1970 UTC.

Respons target
target.received.start.time String Hanya baca

Waktu, yang dinyatakan dalam bentuk string, saat TargetEndpoint mulai menerima respons dari target. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC".

Nilai waktu ini adalah representasi string dari jumlah stempel waktu 32-bit yang sesuai. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC" sesuai dengan nilai stempel waktu "1377112607413".

Respons target
target.received.start.
  timestamp
Panjang Hanya baca

Nilai stempel waktu yang menentukan kapan TargetEndpoint mulai menerima respons dari target. Misalnya, "1534783015000". Nilai ini adalah bilangan bulat 64-bit (panjang) yang menentukan jumlah milidetik yang telah berlalu sejak tengah malam, pada 1 Januari 1970 UTC.

Respons target
target.scheme String Hanya baca

Cakupan dimulai: Respons target
Jenis: String
Izin: Baca/Tulis

Menampilkan http atau https, bergantung pada pesan permintaan.

Permintaan target
target.sent.end.time String Hanya baca

Waktu, yang dinyatakan dalam bentuk string, saat proxy berhenti mengirim permintaan ke URL yang ditentukan di TargetEndpoint. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC".

Nilai waktu ini adalah representasi string dari jumlah stempel waktu 32-bit yang sesuai. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC" sesuai dengan nilai stempel waktu "1377112607413".

Permintaan target
target.sent.end.timestamp Panjang Hanya baca

Nilai stempel waktu yang menentukan kapan proxy selesai mengirim permintaan ke URL yang ditentukan di TargetEndpoint. Misalnya, "1377112607413". Nilai ini adalah bilangan bulat (long) 64-bit yang berisi jumlah milidetik yang telah berlalu sejak tengah malam, pada 1 Januari, 1970 UTC.

Permintaan target
target.sent.start.time String Hanya baca

Waktu, yang dinyatakan dalam bentuk string, saat proxy mulai mengirim permintaan ke URL yang ditentukan di TargetEndpoint. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC".

Nilai waktu ini adalah representasi string dari jumlah stempel waktu 32-bit yang sesuai. Misalnya, "Wed, 21 Aug 2013 19:16:47 UTC" sesuai dengan nilai stempel waktu "1377112607413".

Permintaan target
target.sent.start.timestamp Panjang Hanya baca

Nilai stempel waktu yang menentukan kapan proxy mulai mengirim permintaan ke URL yang ditentukan di TargetEndpoint. Misalnya, "1534783015000". Nilai ini adalah bilangan bulat (long) 64-bit yang menentukan jumlah milidetik yang telah berlalu sejak tengah malam, pada 1 Januari 1970 UTC.

Permintaan target
target.ssl.enabled Boolean Hanya baca

Apakah TargetEndpoint berjalan di TLS/SSL.

Permintaan proxy
target.state String Hanya baca

Status sertifikat TLS/SSL yang diberikan oleh server target.

Respons target
target.url String Baca/Tulis

URL yang dikonfigurasi dalam file XML TargetEndpoint atau URL target dinamis (jika target.url ditetapkan selama alur pesan). Variabel tidak menyertakan elemen jalur atau parameter kueri tambahan. Menampilkan null jika dipanggil di luar cakupan atau tidak disetel.

Permintaan target

variable

Container untuk properti variable.expectedcn.

Tabel berikut menjelaskan properti variabel variable:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
variable.expectedcn String Baca/Tulis

Variabel yang diekspos untuk nama umum jika berjalan di TLS/SSL.

Permintaan proxy

Untuk mengetahui informasi selengkapnya tentang cara menggunakan TLS, lihat Pengantar TLS/SSL.

virtualhost

Menentukan detail tentang host virtual.

Tabel berikut menjelaskan properti variabel virtualhost:

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
virtualhost.aliases.values Array String Hanya baca

Alias host dari host virtual yang diakses selama permintaan tertentu.

Permintaan proxy
virtualhost.name String Hanya baca

Nama host virtual yang melayani permintaan klien asal.

Permintaan proxy
virtualhost.ssl.enabled Boolean Hanya baca

Menampilkan "true" jika TLS/SSL diaktifkan dalam konfigurasi host virtual.

Permintaan proxy

Untuk mengetahui informasi selengkapnya tentang cara bekerja dengan host virtual, lihat Mengonfigurasi host virtual.