Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
InvalidResourceUrlFormat
Hata mesajı
Edge kullanıcı arayüzü veya Edge Management API aracılığıyla bir API proxy'sinin dağıtımı şu hata mesajıyla başarısız oluyor:
Error Deploying Revision revision_number to environment Invalid resource url format. Resource url is invalid_URL.
Örnek hata mesajı
Error Deploying Revision 2 to prod Invalid resource url format. Resource url is py:myscript.py.
Örnek ekran görüntüsü

Neden
PythonScript politikasının <ResourceURL> veya <IncludeURL> öğesinde belirtilen kaynak URL'sinin biçimi geçersizse API proxy'sinin dağıtımı başarısız olur.
Doğru biçim aşağıda gösterilmiştir:
<ResourceURL>py://file_name.py</ResourceURL> <IncludeURL>py://file_name.py</IncludeURL>
Örneğin, <ResourceURL> öğesi aşağıda gösterildiği gibi belirtilmişse API proxy'sinin dağıtımı, gerekli kalıba uymadığı için başarısız olur:
<ResourceURL>py:myscript.py</ResourceURL>
Teşhis
PythonScript politikasında kullanılan geçersiz kaynak URL'si biçimini belirleyin. Bu bilgiyi hata mesajından edinebilirsiniz. Örneğin, aşağıdaki hatada geçersiz kaynak URL'si biçimi
py:myscript.pyşeklindedir:Invalid resource url format. Resource url is py:myscript.py.
Hatayı içeren API Proxy'deki tüm PythonScript politikalarını inceleyin.
<ResourceURL>veya<IncludeURL>öğesinde belirtilen kaynak URL'sinin yukarıdaki 1. adımda tanımlanan geçersiz girişle eşleştiği bir PythonScript politikası varsa hatanın nedeni budur.Örneğin, aşağıdaki politikada kaynak URL'si
py:myscript.pyolarak belirtilir. Bu, hata mesajındaki URL ile eşleşir:<?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>
Kaynak URL, geçersiz olan
py:myscript.pyolarak belirtildiğinden API proxy'sinin dağıtımı şu hatayla başarısız oluyor:Invalid resource url format. Resource url is py:myscript.py.
Çözünürlük
PythonScript politikasının <ResourceURL> öğesinde belirtilen kaynak URL biçiminin geçerli olduğundan emin olun. Örneğin:
<?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
Hata mesajı
Edge kullanıcı arayüzü veya Edge Management API aracılığıyla bir API proxy'sinin dağıtımı şu hata mesajıyla başarısız oluyor:
Error Deploying Revision revision_number to environment Invalid resource url ref invalid_reference in policy policy_name in org_name
Örnek hata mesajı
Error Deploying Revision 2 to prod Invalid resource url ref py://myscript.py in policy Python_script in myorg
Örnek ekran görüntüsü

Neden
<ResourceURL> ve <IncludeURL> öğeleri, mevcut olmayan bir PythonScript dosyasına referans veriyorsa API proxy'sinin dağıtımı başarısız olur.
Yerel makinenizden bir proxy paketi dağıtıyorsanız PythonScript kaynak dosyaları /apiproxy/resources/py altında(API proxy kapsamı) depolanmalıdır.
Edge kullanıcı arayüzünde, PythonScript kaynak dosyaları, API proxy düzenleyicisinin Gezgin bölmesindeki Komut Dosyaları bölümünde py altında aşağıdaki gibi görünür:

Ayrıca, kaynak dosyalarını kuruluş ve ortam düzeyindeki depolarda da saklayabilirsiniz (örneğin, PythonScript kodunu bir kuruluştaki veya ortamdaki tüm proxy'ler için kullanılabilir hale getirmek için). Politikada belirtilen kaynak dosyalarından herhangi biri bulunamazsa bu hata oluşur.
Teşhis
Hataya neden olan PythonScript politikasını ve geçersiz kaynak URL'si referansını belirleyin. Bu bilgiyi hata mesajından edinebilirsiniz. Örneğin, aşağıdaki hatada politika adı
Python_script, geçersiz kaynak URL'si referansı isepy://myscript.py'dir:Invalid resource url ref py://myscript.py in policy Python_script in myorg
Başarısız olan PythonScript politikasında belirtilen kaynak URL referansının, hata mesajında tanımlanan değerle (yukarıdaki 1. adım) eşleştiğini doğrulayın. Örneğin, aşağıdaki politika, kaynak URL referansını
py://myscript.pyolarak belirtir. Bu, hata mesajındakiyle eşleşir:<?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>
1. adımda tanımlanan dosyanın belirli API proxy paketi kapsamında olup olmadığını veya kuruluş ya da ortam kapsamında mevcut olup olmadığını kontrol edin.
- Dosyanın belirli bir API proxy paketi içinde olup olmadığını kontrol etmek için aşağıdaki adımlardan birini uygulayın:
- Edge kullanıcı arayüzünde, bu dosyanın API proxy'sinin Komut Dosyaları bölümünde olup olmadığını kontrol edin.
- API proxy paketini indirin ve dosyanın mevcut olup olmadığını kontrol edin.
- Dosya, belirli API proxy paketi içinde değilse kuruluş veya ortam düzeyinde olup olmadığını kontrol edin. Bu inceleme için Kaynak Dosyaları API'sini kullanabilirsiniz.
Dosya API proxy'si, kuruluş veya ortam düzeyinde mevcut değilse hatanın nedeni budur.
Yukarıdaki örnekte, geçersiz PythonScript dosya adı myscript.py'dir. Aşağıdaki ekran görüntüsünde, politikada kaynak URL olarak belirtilen dosyanın Komut Dosyaları bölümünde görünmediğini fark edebilirsiniz. Ayrıca dosya, kuruluş veya ortam düzeyinde mevcut değil. Bu nedenle, API proxy'sinin dağıtımı şu hatayla başarısız olur:
Invalid resource url ref py://myscript.py in policy Python_script in myorg
- Dosyanın belirli bir API proxy paketi içinde olup olmadığını kontrol etmek için aşağıdaki adımlardan birini uygulayın:

Çözünürlük
<ResourceURL> ve <IncludeURL> öğelerinde belirtilen PythonScript dosyalarının, API proxy'si, kuruluş veya ortam düzeyinde mevcut olan geçerli bir dosyayı ifade ettiğinden emin olun.
Yukarıda gösterilen örnek PythonScript politikasını düzeltmek için myscript.py dosyasını API Proxy paketine ekleyin. Aşağıdaki ekran görüntüsünde, <ResourceURL> ve <IncludeURL> öğelerinde belirtilen PythonScript dosyalarının API proxy'si paketinin Komut Dosyaları bölümünde görünür olduğunu görebilirsiniz:
