Kebijakan ParsePayload

Kebijakan standar

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat dokumentasi Apigee Edge.

Kebijakan ParsePayload mengekstrak operasi logis dari payload permintaan terstruktur (seperti JSON-RPC 2.0) ke dalam variabel alur pesan. Fungsi ini memungkinkan admin proxy menerapkan logika perutean bersyarat secara langsung berdasarkan konten permintaan klien, bukan jalur resource dasar atau parameter kueri.

Kebijakan ini adalah Kebijakan yang dapat diperluas dan penggunaan kebijakan ini mungkin memiliki implikasi biaya atau penggunaan, bergantung pada lisensi Apigee Anda. Untuk mengetahui informasi tentang jenis kebijakan dan implikasi penggunaannya, lihat Jenis kebijakan.

Elemen <ParsePayload>

Menentukan properti parsing validasi yang diterapkan ke siklus evaluasi logika aplikasi.

Wajib? Wajib
Elemen Induk t/a
Elemen Turunan <Source>
<PayloadType>
<Protocol>

Sintaksis

Elemen ParsePayload menggunakan sintaksis berikut:

<ParsePayload continueOnError="[false|true]" enabled="[true|false]" name="policy_name">
    <Source>request</Source>
    <PayloadType>JSON-RPC-2.0</PayloadType>
    <Protocol>MCP</Protocol>
</ParsePayload>

Contoh

Contoh berikut menunjukkan konfigurasi standar untuk kebijakan ParsePayload:

<ParsePayload continueOnError="false" enabled="true" name="parse-payload-mcp">
    <Source>request</Source>
    <PayloadType>JSON-RPC-2.0</PayloadType>
    <Protocol>MCP</Protocol>
</ParsePayload>

<Source>

Menunjukkan konteks container permintaan/respons yang diproses segera melalui evaluasi runtime.

<Source>request</Source>
Atribut Deskripsi Default Kehadiran
T/A Nilai node teks. Harus berupa request atau response. request Opsional

<PayloadType>

Mengatur struktur evaluasi keseluruhan yang diakui terkait persyaratan pemrosesan data.

<PayloadType>JSON-RPC-2.0</PayloadType>
Atribut Deskripsi Default Kehadiran
T/A Nilai node teks. Nilai yang didukung: JSON-RPC-2.0. T/A Wajib

<Protocol>

Menentukan perilaku pemformatan yang sesuai dengan deklarasi antarmuka target.

<Protocol>MCP</Protocol>
Atribut Deskripsi Default Kehadiran
T/A Nilai node teks. Nilai yang didukung: MCP. T/A Wajib

Variabel Alur yang Diekstrak

Rutinitas pasca-parsing mengisi variabel alur yang telah ditentukan sebelumnya berikut berdasarkan payload.

Nama Variabel Deskripsi
apigee.payload.operation ID eksekusi yang dibuat.
  • Untuk tools/call, nilainya adalah tools/call/{name} (misalnya, tools/call/get_weather), yang membedakan alat tertentu yang dipanggil.
  • Untuk tools/list, nilainya adalah tools/list, yang digunakan saat mencantumkan alat yang tersedia tanpa menargetkan alat tertentu.
apigee.payload.json-rpc.request.method Kolom method dari permintaan JSON-RPC (misalnya, tools/call atau tools/list).
apigee.payload.json-rpc.request.id Kolom id dari permintaan JSON-RPC.
apigee.payload.json-rpc.request.params.name Kolom name di dalam params (diisi untuk tools/call guna mengidentifikasi alat).
apigee.payload.json-rpc.request.params.arguments.{arg_name} Argumen yang diteruskan dalam objek arguments. Nilai string disimpan secara langsung; objek atau array bertingkat disimpan sebagai string JSON yang diserialisasi.

Contoh

Untuk payload permintaan JSON-RPC berikut dengan argumen sederhana:

{
  "jsonrpc": "2.0",
  "id": "req_001",
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": {
      "location": "San Francisco, CA",
      "forecast_days": 3
    }
  }
}

Kebijakan ini mengisi variabel berikut:

Variabel Nilai
apigee.payload.operation tools/call/get_weather
apigee.payload.json-rpc.request.method tools/call
apigee.payload.json-rpc.request.id req_001
apigee.payload.json-rpc.request.params.name get_weather
apigee.payload.json-rpc.request.params.arguments.location San Francisco, CA
apigee.payload.json-rpc.request.params.arguments.forecast_days 3