Referensi variabel alur

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

Bagian ini menyediakan informasi referensi tentang variabel alur.

Apigee Edge menentukan 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 berikut.

apigee

Variabel helper yang menyediakan 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, "Proxy Saya". 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

Penampung 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 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 mengirimkan pesan ke router Edge. Sebagai sebagai contoh, IP tersebut 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 di sertifikat TLS/SSL yang disajikan oleh klien. (Belum tentu setara dengan organisasi di Apigee Edge.) Permintaan proxy
client.organization.unit String Hanya baca

Unit organisasi di 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: Rab, 21 Agustus 2013 19:16:47 UTC.

Nilai waktu ini adalah representasi string dari stempel waktu 32-bit yang sesuai kuantitas. Misalnya, 'Rab, 21 Agustus 2013 19:16:47 UTC' sesuai dengan nilai stempel waktu dari 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 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 Agustus 2013 19:16:47 UTC

Nilai waktu ini adalah representasi string dari stempel waktu 32-bit yang sesuai kuantitas. Misalnya, 'Rab, 21 Agustus 2013 19:16:47 UTC' sesuai dengan nilai stempel waktu dari 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 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 mengirimkan respons dari ProxyEndpoint ke klien. Misalnya: "Rab, 21 Agustus 2013 19:16:47 UTC".

Nilai ini adalah representasi string dari representasi 32-bit client.sent.end.timestamp. Misalnya, "Rab, 21 Agustus 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 (panjang) 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 terhadap aplikasi klien asal. Misalnya, "Rab, 21 Agustus 2013 19:16:47 UTC".

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

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

"true" (benar) jika ProxyEndpoint dikonfigurasi untuk TLS/SSL; sebaliknya, "false".

Permintaan proxy
client.state String Hanya baca

Status dalam sertifikat TLS/SSL yang diberikan 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. Ini sama dengan nilai elemen <Description> dalam konfigurasi XML flow. Permintaan proxy

Anda dapat melihat properti ini dalam tampilan Trace UI Edge. Namun, properti ini tidak terlihat secara default dalam tampilan Trace UI Klasik.

environment

Penampung 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 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 apa pun dari jenis TransportMessage.

Error
error.state Bilangan Bulat Hanya baca

Status dalam Alur tempat error terjadi.

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 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 kesalahan, seperti yang dijelaskan dalam tabel Error runtime disertakan dalam setiap topik referensi kebijakan. Error

is

Penampung 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.

Respons target
loadbalancing.isfallback Boolean Hanya baca

"true" (benar) 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. Ditetapkan hanya jika Elemen <Path> ditetapkan saat menentukan elemen load balancer.

Respons target

message

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

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 sebagai response dalam Alur respons atau sebagai error dalam Error alur kerja.

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 {i>header<i} berisi koma, setelah dibaca, Anda hanya akan menerima segmen teks hingga bagian koma. Jika Anda ingin seluruh {i>header<i}, gunakan formulir request.header.header_name.
 values

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

Nilai nilai header tertentu ke-N dalam pesan, baik permintaan maupun respons otomatis, tergantung pada status alur. Apigee Edge memisahkan nilai teks header berdasarkan 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 hasil 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, kecuali 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", lalu nilai yang ditampilkan dari message.queryparam.a.1 adalah "halo".

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 menjadi "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 dari parameter kueri tertentu dalam pesan, diformat sebagai comma separated list.

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

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 nama parameter kueri menggunakan JavaScript, lihat Apigee berikut Postingan komunitas: Bagaimana cara melakukan iterasi Pengumpulan 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 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

Frasa Alasan 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 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 mengembalikan "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 klien aplikasi.

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 {i>router<i} untuk dilacak setelah dikirim ke pemroses pesan.

ID ini dicatat dalam log error Edge untuk menghubungkan messageid dengan yang sama.

Permintaan proxy

organization

Penampung 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 URI yang mengikuti {i>host<i} di URL. URI alur bersyarat mengikuti dasarnya .

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

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

Satu-satunya cara Anda mengetahui hal ini adalah dengan melihat definisi proxy API atau memeriksa nilai proxy.basepath variabel. Akhiran jalur proxy mengikuti jalur dasar ("/forecastrss"), bersama dengan parameter kueri.

Jika Anda menentukan Jalur Dasar dinamis di proxy API seperti "/v2/*/weatherapi", maka variabel ini akan disetel ke jalur dinamis. ("/v2/*/weatherapi"), meskipun jalur dasar memutuskan ke nilai statis, seperti &quot;/v2/foo/weatherapi&quot;.

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. Bisa jadi ini adalah panggilan klien 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.

Jalur dasar didefinisikan sebagai komponen jalur yang secara unik mengidentifikasi proxy API. URL proxy API yang ditampilkan ke publik terdiri dari nama organisasi Anda, lingkungan tempat proxy di-deploy, jalur basis, akhiran jalur basis, dan kueri apa pun parameter.

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

Permintaan proxy
proxy.url String Hanya baca

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

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

Permintaan proxy

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

request

Permintaan yang lengkap, termasuk payload yang ada.

Untuk 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 yang 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, yang diformat sebagai comma separated list.

Misalnya, jika payload 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 dikaitkan dengan permintaan.

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

Nilai parameter formulir tertentu ke-N dalam pesan. Misalnya, jika string bentuknya adalah "a=hello&a=world", lalu nilai yang ditampilkan request.formparam.a.1 adalah "halo".

Permintaan proxy
request.formparams.count Bilangan Bulat Hanya baca

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

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 {i>header<i} berisi koma, setelah dibaca, Anda hanya akan menerima segmen teks hingga bagian koma.

Jika Anda ingin seluruh {i>header<i}, gunakan formulir request.header.header_name.values.

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

Nilai nilai header tertentu ke-N dalam permintaan. Edge Apigee memisahkan nilai teks {i>header<i} 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 hasil dari 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-kan (tidak termasuk host) ke layanan backend, mengecualikan parameter kueri.

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

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 menjadi "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, yang diformat sebagai comma separated list.

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

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 mengiterasi nama parameter kueri menggunakan JavaScript, lihat Cara melakukan iterasi 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 mengembalikan "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 kontinu.

Permintaan proxy
request.uri String Hanya baca

Di proxy API, proxy <BasePath> di ProxyEndpoint (di selain URL dasar proxy) akan 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 respons, request.uri adalah sisa dari alamat IP, termasuk parameter kueri, setelah HTTPTargetConnection.

Perbedaannya adalah karena permintaan asli masuk ke {i>proxy<i}, tetapi kemudian {i>proxy<i} membuat permintaan lain ke layanan target.

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

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

Dan proxy memanggil:

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 endpoint parameter string kueri, tetapi tidak menyertakan nomor port (jika ditentukan).

Misalnya, jika Anda melakukan panggilan ke contoh proxy "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 dari 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 prameter 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 yang ditentukan dalam respons.

Jika teks header menyertakan koma, Apigee Edge akan menyimpulkan beberapa nilai. Dalam kasus 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 sebagai 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 nilai header tertentu ke-N dalam respons. Edge Apigee memisahkan nilai teks {i>header<i} 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", lalu 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 selengkapnya, lihat message.

Respons target
response.transport.message String Hanya baca

Respons jenis TransportMessage yang merupakan objek kontinu.

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

Permintaan target
route.target String Hanya baca

Nama TargetEndpoint yang dijalankan. Misalnya, "default".

Permintaan target

router

Penampung 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, UUID {i>router<i} 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 dimaksud dalam Kebijakan ServiceInfo. Ini hanya berguna jika TargetEndpoint merujuk ke endpoint TLS/SSL.

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

URL TargetEndpoint untuk kebijakan ServiceInfo tertentu.

Permintaan proxy
servicecallout.requesturi String Baca/Tulis

URI TargetEndpoint untuk kebijakan kebijakan ServiceInfo. URI 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 pusat data region tempat proxy berjalan.

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. Misalnya, "Rab, 21 Agustus 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 sebulan 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 (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 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 menjadi null.

Permintaan target
target.copy.pathsuffix Boolean Baca/Tulis

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

Permintaan target
target.copy.queryparams Boolean Baca/Tulis

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

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. Hal 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. Hal ini hanya berguna ketika 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 menampilkan respons ke proxy API.

Respons target
target.locality String Hanya baca

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

Respons target
target.name String Hanya baca

Menargetkan pesan yang dijangkau 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, "Rab, 21 Agustus 2013 19:16:47 UTC".

Nilai waktu ini adalah representasi string dari stempel waktu 32-bit yang sesuai kuantitas. Misalnya, "Rab, 21 Agustus 2013 19:16:47 UTC" sesuai dengan nilai stempel waktu dari "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 menetapkan jumlah milidetik yang 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, "Rab, 21 Agustus 2013 19:16:47 UTC".

Nilai waktu ini adalah representasi string dari stempel waktu 32-bit yang sesuai kuantitas. Misalnya, "Rab, 21 Agustus 2013 19:16:47 UTC" sesuai dengan nilai stempel waktu dari "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 menetapkan jumlah milidetik yang 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 mengirimkan permintaan ke URL yang ditentukan dalam TargetEndpoint. Misalnya, "Rab, 21 Agustus 2013 19:16:47 UTC".

Nilai waktu ini adalah representasi string dari stempel waktu 32-bit yang sesuai kuantitas. Misalnya, "Rab, 21 Agustus 2013 19:16:47 UTC" sesuai dengan nilai stempel waktu dari "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 64-bit bilangan bulat (panjang) yang berisi jumlah milidetik yang 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 stempel waktu 32-bit yang sesuai kuantitas. Misalnya, "Rab, 21 Agustus 2013 19:16:47 UTC" sesuai dengan nilai stempel waktu dari "1377112607413".

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

Nilai stempel waktu yang menentukan kapan proxy mulai mengirim permintaan ke URL yang ditentukan dalam TargetEndpoint. Misalnya, "1534783015000". Nilai ini adalah 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 diberikan oleh server target.

Respons target
target.url String Baca/Tulis

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

Permintaan target

variable

Penampung untuk properti variable.expectedcn.

Tabel berikut menjelaskan properti variabel variable:

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

Variabel diekspos 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

Alias host dari {i>host<i} virtual yang ditemukan 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 informasi selengkapnya tentang cara bekerja dengan {i>host<i} virtual, lihat Mengonfigurasi host virtual.