Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Lihat dokumentasi
Apigee Edge.
InvalidResourceUrlFormat
Pesan error
Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:
Error Deploying Revision revision_number to environment Invalid resource url format. Resource url is invalid_URL.
Contoh pesan error
Error Deploying Revision 2 to prod Invalid resource url format. Resource url is py:myscript.py.
Contoh screenshot
Penyebab
Jika format URL resource yang ditentukan dalam elemen <ResourceURL>
atau <IncludeURL>
dari
kebijakan PythonScript tidak valid, deployment proxy API akan gagal.
Format yang benar adalah seperti yang ditunjukkan di bawah ini:
<ResourceURL>py://file_name.py</ResourceURL> <IncludeURL>py://file_name.py</IncludeURL>
Misalnya, jika elemen <ResourceURL>
ditentukan seperti yang ditunjukkan di bawah, deployment proxy API akan gagal karena tidak mengikuti pola yang diperlukan:
<ResourceURL>py:myscript.py</ResourceURL>
Diagnosis
Identifikasi format URL resource yang tidak valid yang digunakan dalam kebijakan PythonScript. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, format URL resource yang tidak valid adalah
py:myscript.py
:Invalid resource url format. Resource url is py:myscript.py.
Periksa semua kebijakan PythonScript di Proxy API tertentu tempat kegagalan terjadi. Jika ada kebijakan PythonScript yang URL resource-nya ditentukan dalam elemen
<ResourceURL>
atau<IncludeURL>
cocok dengan entri tidak valid yang diidentifikasi pada langkah #1 di atas, maka itulah penyebab error.Misalnya, kebijakan berikut menentukan URL resource sebagai
py:myscript.py
, yang cocok dengan yang ada dalam pesan error:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Script async="false" continueOnError="false" enabled="true" timeLimit="200" name="py-TotalVariable"> <DisplayName>py-TotalVariable</DisplayName> <Properties/> <ResourceURL>py:myscript.py</ResourceURL> </Script>
Karena URL resource ditentukan sebagai
py:myscript.py
, yang tidak valid, deployment Proxy API gagal dengan error:Invalid resource url format. Resource url is py:myscript.py.
Resolusi
Pastikan format URL resource yang ditentukan dalam elemen <ResourceURL>
kebijakan PythonScript valid. Contoh:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Script async="false" continueOnError="false" enabled="true" timeLimit="200" name="py-TotalVariable"> <DisplayName>py-TotalVariable</DisplayName> <Properties/> <ResourceURL>py://myscript.py</ResourceURL> </Script>
InvalidResourceUrlReference
Pesan error
Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:
Error Deploying Revision revision_number to environment Invalid resource url ref invalid_reference in policy policy_name in org_name
Contoh pesan error
Error Deploying Revision 2 to prod Invalid resource url ref py://myscript.py in policy Python_script in myorg
Contoh screenshot
Penyebab
Jika elemen <ResourceURL>
dan <IncludeURL>
merujuk ke file PythonScript
yang tidak ada, deployment proxy API akan gagal.
Jika Anda men-deploy paket proxy dari komputer lokal, file sumber
PythonScript harus disimpan di /apiproxy/resources/py
(pada cakupan proxy API).
Di UI Apigee, file sumber PythonScript muncul di bagian py di bagian Skrip panel Navigator editor proxy API seperti yang ditunjukkan di bawah:
Anda juga dapat menyimpan file resource di repositori tingkat lingkungan (misalnya, untuk membuat kode PythonScript tersedia bagi semua proxy di lingkungan). Jika file resource yang ditentukan dalam kebijakan tidak dapat ditemukan, error ini akan terjadi.
Diagnosis
Identifikasi kebijakan PythonScript tempat error terjadi dan referensi URL resource yang tidak valid. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, nama kebijakan adalah
Python_script
dan referensi URL resource yang tidak valid adalahpy://myscript.py
:Invalid resource url ref py://myscript.py in policy Python_script in myorg
Pastikan referensi URL resource yang ditentukan dalam kebijakan PythonScript yang gagal cocok dengan nilai yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menentukan referensi URL resource sebagai
py://myscript.py
, yang cocok dengan yang ada dalam pesan error:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Script async="false" continueOnError="false" enabled="true" name="Python_script"> <DisplayName>Python-1</DisplayName> <Properties/> <ResourceURL>py://myscript.py</ResourceURL> </Script>
Periksa apakah file yang diidentifikasi di file langkah #1 adalah bagian dari paket API Proxy tertentu, atau ada di cakupan lingkungan.
- Untuk memeriksa apakah file tersebut merupakan bagian dari paket Proxy API tertentu, ikuti salah satu langkah di bawah:
- Di UI Apigee, periksa apakah file ini ada di bagian Skrip pada proxy API.
- Download paket Proxy API dan telusuri apakah file tersebut ada.
- Jika file bukan bagian dari paket Proxy API tertentu, periksa apakah file tersebut ada di tingkat lingkungan. Anda dapat menggunakan Resource Files API untuk investigasi ini.
Jika file tidak ada di tingkat Proxy API atau lingkungan, file tersebut adalah penyebab error.
Dalam contoh di atas, nama file PythonScript yang tidak valid adalah myscript.py. Pada screenshot di bawah, perhatikan bahwa file yang ditentukan sebagai URL resource dalam kebijakan tidak muncul di bagian Skrip. Selain itu, file tidak ada di tingkat lingkungan. Oleh karena itu, deployment Proxy API gagal dengan error:
Invalid resource url ref py://myscript.py in policy Python_script in myorg
- Untuk memeriksa apakah file tersebut merupakan bagian dari paket Proxy API tertentu, ikuti salah satu langkah di bawah:
Resolusi
Pastikan file PythonScript yang ditentukan dalam elemen <ResourceURL>
dan <IncludeURL>
merujuk ke file valid yang ada di tingkat Proxy API atau lingkungan.
Untuk memperbaiki contoh kebijakan PythonScript yang ditampilkan di atas, tambahkan file myscript.py ke paket API Proxy. Pada screenshot di bawah, Anda dapat melihat bahwa file PythonScript yang ditentukan dalam elemen <ResourceURL>
dan <IncludeURL>
terlihat di bagian Skrip dalam paket API Proxy: