Referensi variabel alur

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

Bagian ini menyediakan informasi referensi tentang variabel alur.

Apigee Edge mendefinisikan variabel alur berikut:

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

Setiap variabel ini dijelaskan di bagian berikutnya.

apigee

Variabel helper 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 untuk mengeksekusi kebijakan. 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, "My Proxy". Permintaan proxy
apiproxy.revision String Hanya baca Nomor revisi proxy API. Misalnya, "6". Permintaan proxy

Untuk 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 mengirimkan 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 ditampilkan oleh aplikasi klien.

Permintaan proxy
client.country String Hanya baca

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

Permintaan proxy
client.email.address String Hanya baca

Alamat email di sertifikat TLS/SSL yang ditampilkan 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) di sertifikat TLS/SSL yang ditampilkan 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 di sertifikat TLS/SSL yang disajikan 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: Rab, 21 Agustus 2013 19:16:47 UTC.

Nilai waktu ini adalah representasi string dari kuantitas 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: Rab, 21 Agu 2013 19:16:47 UTC

Nilai waktu ini adalah representasi string dari kuantitas 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: "Rab, 21 Agustus 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" setara 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 (panjang) yang berisi jumlah milidetik yang telah 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" setara dengan nilai stempel waktu 1377112607413.

PostClientFlow
client.sent.start.timestamp Panjang Hanya baca Ketika proxy mulai mengirimkan 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 dikonfigurasikan 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 flow yang sedang dieksekusi (seperti "PreFlow", "PostFlow", atau nama flow kondisional). Permintaan proxy
current.flow.description String Hanya baca Deskripsi alur yang sedang dieksekusi. Ini sama dengan nilai elemen <Description> dalam konfigurasi XML alur. Permintaan proxy

Anda dapat melihat properti ini di tampilan Trace UI Edge. Namun, properti ini tidak terlihat secara default di tampilan Trace 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 mewakili 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 Konten error. Error
error.message String Hanya baca

Pesan yang terkait dengan error, yang nilainya hanya tersedia sebelum Alur error dijalankan.

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

Semua error pada jenis TransportMessage.

Error
error.state Bilangan Bulat Hanya baca

Status dalam Flow tempat error terjadi.

Error
error.header.header_name String Baca/Tulis

Mendapatkan atau menetapkan header respons.

Error

fault

Variabel flow yang disetel ke kode error runtime saat kebijakan menampilkan error. Nilai kode error bersifat khusus untuk setiap kebijakan.

Properti Jenis Baca/Tulis Deskripsi Cakupan dimulai
fault.fault_name String Hanya baca fault_name adalah nama kesalahannya, 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 TargetServers yang gagal selama load balancing di TargetEndpoint.

Target respons
loadbalancing.isfallback Boolean Hanya baca

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

Target respons
loadbalancing.targetserver String Hanya baca

TargetServer dipanggil selama load balancing di TargetEndpoint. Tetapkan hanya jika elemen <Path> ditetapkan saat menentukan elemen load balancer.

Target respons

message

Objek kontekstual, dengan nilai yang sama seperti request dalam alur permintaan atau sebagai response dalam alur respons atau sebagai 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 Alur permintaan atau sebagai response dalam Alur respons atau sebagai error dalam alur 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
Collection 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

Hitungan semua parameter formulir dalam pesan.

Permintaan proxy
message.formparams.names Collection 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, Anda hanya akan menerima segmen teks hingga koma pertama setelah dibaca. Jika Anda menginginkan seluruh header, gunakan formulir request.header.header_name.
 values

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

Nilai dari nilai header khusus Nth dalam pesan, baik permintaan maupun respons, bergantung pada status alur. Apigee Edge membagi 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 message.header.cache-control.1 adalah "maxage=16544".

Permintaan proxy
message.header.header_name.
 values
Collection 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 Collection Hanya baca

Nilai semua header HTTP dalam pesan

Permintaan proxy
message.path String Baca/Tulis

Jalur pesan permintaan lengkap di URL yang tidak mencakup parameter kueri apa pun.

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", nilai return 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 nilai berikut:

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

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

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

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

Jumlah total parameter kueri yang ditentukan 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 Collection Hanya baca

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

Untuk melakukan iterasi nama parameter kueri menggunakan JavaScript, lihat Postingan komunitas Apigee berikut: Bagaimana cara melakukan iterasi Koleksi dari "request.queryparams.names" di 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

ArgumenAlasan untuk pesan respons dari target.

Target respons
message.status.code Bilangan Bulat Hanya baca

Kode status HTTP pesan respons dari target.

Target respons
message.transport.message TransportMessage Hanya baca

Pesan jenis TransportMessage yang merupakan objek kontekstual.

Permintaan proxy
message.uri String Hanya baca

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

Misalnya, untuk permintaan "http://api.apifactory.com/inventors?name=nikola&surname=tesla", variabel ini akan 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. Dengan ID ini, permintaan yang diterima di router dapat dilacak setelah dikirim ke pemroses pesan.

ID ini dicatat dalam log error Edge untuk menghubungkan 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 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 Jalur Dasar 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 mengetahuinya adalah dengan melihat definisi proxy API atau memeriksa nilai variabel proxy.basepath. Akhiran jalur proxy mengikuti jalur dasar ("/forecastrss"), bersama dengan semua parameter kueri.

Jika Anda menentukan Jalur Dasar dinamis dalam konfigurasi proxy API, seperti "/v2/*/weatherapi", maka variabel ini akan disetel ke jalur dinamis ("/v2/*/weatherapi"), meskipun jalur dasar me-resolve 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 Edge yang diterima dari handshake TCP eksternal terakhir. Ini bisa berupa klien yang melakukan 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 didefinisikan sebagai komponen jalur yang secara unik mengidentifikasi proxy API. URL proxy API yang dapat dilihat 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 jalur dasar adalah "/forecastrss".

Permintaan proxy
proxy.url String Hanya baca

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

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

Permintaan proxy

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

request

Permintaan lengkap, termasuk semua payload yang ada.

Untuk informasi lebih lanjut 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 semua 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
Collection Hanya baca

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

Misalnya, jika payload-nya adalah "a=hello&x=greeting&a=world", 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 khusus Nth dalam pesan. Misalnya, jika string formulir adalah "a=hello&a=world", nilai return request.formparam.a.1 adalah "hello".

Permintaan proxy
request.formparams.count Bilangan Bulat Hanya baca

Menghitung semua parameter bentuk yang terkait dengan permintaan yang dikirim dari aplikasi klien.

Permintaan proxy
request.formparams.names Collection 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, Anda hanya akan menerima segmen teks hingga koma pertama setelah dibaca.

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

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

Nilai nilai header khusus Nth dalam permintaan. Apigee Edge membagi 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 request.header.cache-control.1 adalah "maxage=16544".

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

Semua nilai header tertentu dalam permintaan.

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

Hitung 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 Collection Hanya baca

Nama semua header dalam permintaan.

Permintaan proxy
request.path String Hanya baca

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

Misalnya, untuk URI ke layanan backend adalah "https://example.com/rest/api/latest", 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 adalah 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 nilai berikut:

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

Semua nilai parameter kueri tertentu dalam permintaan, yang 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 Collection Hanya baca

Nama semua parameter kueri dalam permintaan.

Untuk melakukan iterasi nama parameter kueri menggunakan JavaScript, lihat Bagaimana cara mengiterasi Koleksi dari "request.queryparams.names" di JS? di Komunitas Apigee.

Permintaan proxy
request.querystring String Hanya baca

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

Misalnya, jika permintaannya adalah "http://host.com/123?name=first&surname=second&place=address", 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 Pesan-Transportasi Hanya baca

Permintaan jenis TransportMessage yang merupakan objek berkelanjutan.

Permintaan proxy
request.uri String Hanya baca

Dalam proxy API, proxy <BasePath> 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 request, request.uri adalah jalur dasar proxy + sisa alamat, termasuk parameter kueri.

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

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

Misalkan 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 proxy memanggil:

http://mocktarget.apigee.net

Manakah 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 diajukan 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 targetnya adalah "http://example.com:8080", maka nilainya adalah:

  • Permintaan: t/a
  • Tanggapan: "http://example.com/user?user=Dude"
Target respons
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.

Target respons
response.content String Baca/Tulis

Konten payload dari pesan respons yang ditampilkan oleh target.

Target respons
response.formparam.param_name String Baca/Tulis

Nilai parameter formulir dalam respons.

Target respons
response.formparam.param_name.
 values.count
Bilangan Bulat Hanya baca

Jumlah semua nilai parameter formulir yang ditentukan dalam respons.

Target respons
response.formparams.count Bilangan Bulat Hanya baca

Hitung semua bentuk prameter dalam respons.

Target respons
response.formparams.names Collection Hanya baca

Nama semua parameter formulir dalam respons.

Target respons
response.header.header_name String Baca/Tulis

Mendapatkan atau menetapkan nilai header HTTP yang ditentukan dalam respons.

Jika teks header menyertakan koma, Apigee Edge akan 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.

Target respons
response.header.header_name.
 values
Collection Hanya baca

Semua nilai header HTTP yang ditentukan sebagai respons.

Target respons
response.header.header_name.
 values.count
Bilangan Bulat Hanya baca

Menghitung semua nilai header HTTP yang ditentukan sebagai respons.

Target respons
response.header.header_name.N String Baca/Tulis

Nilai nilai header khusus Nth dalam respons. Apigee Edge membagi 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".

Target respons
response.headers.count Bilangan Bulat Hanya baca

Jumlah semua header dalam respons.

Target respons
response.headers.names Collection Hanya baca

Nama semua header dalam respons.

Target respons
response.reason.phrase String Baca/Tulis

Frasa alasan respons untuk permintaan tertentu.

Target respons
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 informasi selengkapnya, lihat message.

Target respons
response.transport.message String Hanya baca

Respons jenis TransportMessage yang merupakan objek berkelanjutan.

Target respons

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 proxy API TargetEndpoint untuk dijalankan.

Permintaan target
route.target String Hanya baca

Nama TargetEndpoint yang dieksekusi. Misalnya, "default".

Permintaan target

router

Container untuk properti router.uuid, yang sudah 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 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. 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 Kebijakan ServiceCallout. URI ini adalah URL TargetEndpoint tanpa protokol dan spesifikasi 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 region pusat data tempat proxy dijalankan.

Permintaan proxy
system.time String Hanya baca

Waktu saat variabel ini dibaca. Misalnya, "Rab, 21 Agustus 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 system.time.

Permintaan proxy
system.time.dayofweek Bilangan Bulat Hanya baca

Bagian hari dalam seminggu pada 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 (panjang) yang mewakili waktu 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 dalam 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:

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

target.basepath akan bernilai 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 mengikuti URI yang ditentukan di jalur dasar ProxyEndpoint).

Permintaan target
target.copy.queryparams Boolean Baca/Tulis

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

Permintaan target
target.country String Hanya baca

Negara sertifikat TLS/SSL yang ditampilkan oleh server target

Target respons
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 ditampilkan oleh server target

Target respons
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.

Target respons
target.ip String Hanya baca

Alamat IP layanan target yang menampilkan respons ke proxy API.

Target respons
target.locality String Hanya baca

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

Target respons
target.name String Hanya baca

Target tujuan pesan yang dituju dari targetendpoint.

Permintaan target
target.organization String Hanya baca

Penyusunan sertifikat TLS/SSL yang diberikan oleh server target.

Target respons
target.organization.unit String Hanya baca

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

Target respons
target.port Bilangan Bulat Hanya baca

Nomor port layanan target yang menampilkan respons ke proxy API.

Target respons
target.received.end.time String Hanya baca

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

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

Target respons
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 berlalu sejak tengah malam, pada 1 Januari 1970 UTC.

Target respons
target.received.start.time String Hanya baca

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

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

Target respons
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 berlalu sejak tengah malam, pada 1 Januari 1970 UTC.

Target respons
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 dalam TargetEndpoint. Misalnya, "Rab, 21 Agustus 2013 19:16:47 UTC".

Nilai waktu ini adalah representasi string dari kuantitas 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 dalam TargetEndpoint. Misalnya, "1377112607413". Nilai ini adalah bilangan bulat 64-bit (panjang) 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 mengirimkan permintaan ke URL yang ditentukan dalam TargetEndpoint. Misalnya, "Rab, 21 Agustus 2013 19:16:47 UTC".

Nilai waktu ini adalah representasi string dari kuantitas 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 mengirimkan permintaan ke URL yang ditentukan dalam TargetEndpoint. Misalnya, "1534783015000". Nilai ini adalah bilangan bulat 64-bit (panjang) yang menentukan jumlah milidetik yang 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 ditampilkan oleh server target.

Target respons
target.url String Baca/Tulis

URL yang dikonfigurasi dalam file XML TargetEndpoint atau URL target dinamis (jika target.url ditetapkan selama alur pesan). Variabel ini 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 ditampilkan untuk nama umum jika berjalan di TLS/SSL.

Permintaan proxy

Untuk informasi selengkapnya tentang bekerja dengan 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

Host alias dari {i>host<i} virtual yang terkena serangan 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 di konfigurasi host virtual.

Permintaan proxy

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