您目前查看的是 Apigee 和 Apigee Hybrid 說明文件。
查看
Apigee Edge 說明文件。
InvalidResourceUrlFormat
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
Error Deploying Revision revision_number to environment Invalid resource url format. Resource url is invalid_URL.
錯誤訊息示例
Error Deploying Revision 2 to prod Invalid resource url format. Resource url is py:myscript.py.
螢幕截圖範例

原因
如果 PythonScript 政策的 <ResourceURL> 或 <IncludeURL> 元素中指定的資源網址格式無效,API Proxy 的部署作業就會失敗。
正確格式如下所示:
<ResourceURL>py://file_name.py</ResourceURL> <IncludeURL>py://file_name.py</IncludeURL>
舉例來說,如果 <ResourceURL> 元素指定如下,API Proxy 部署作業就會失敗,因為該元素不符合必要模式:
<ResourceURL>py:myscript.py</ResourceURL>
診斷
找出 PythonScript 政策中使用的無效資源網址格式。這項資訊會顯示在錯誤訊息中。舉例來說,在下列錯誤中,無效的資源網址格式為
py:myscript.py:Invalid resource url format. Resource url is py:myscript.py.
檢查發生失敗的特定 API Proxy 中的所有 PythonScript 政策。如果
<ResourceURL>或<IncludeURL>元素中指定的資源網址與上述步驟 1 中識別的無效項目相符,則該 PythonScript 政策就是造成錯誤的原因。舉例來說,下列政策將資源網址指定為
py:myscript.py,與錯誤訊息中的內容相符:<?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>
由於資源網址指定為無效的
py:myscript.py,API Proxy 部署作業會失敗,並顯示下列錯誤:Invalid resource url format. Resource url is py:myscript.py.
解析度
請確認 PythonScript 政策的 <ResourceURL> 元素中指定的資源網址格式有效。例如:
<?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
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
Error Deploying Revision revision_number to environment Invalid resource url ref invalid_reference in policy policy_name in org_name
錯誤訊息示例
Error Deploying Revision 2 to prod Invalid resource url ref py://myscript.py in policy Python_script in myorg
螢幕截圖範例

原因
如果 <ResourceURL> 和 <IncludeURL> 元素參照的 PythonScript 檔案不存在,API Proxy 的部署作業就會失敗。如果您要從本機電腦部署 Proxy 套件,PythonScript 來源檔案必須儲存在 /apiproxy/resources/py 下(位於 API Proxy 範圍)。
在 Apigee 使用者介面中,PythonScript 來源檔案會顯示在 API Proxy 編輯器的「導覽器」窗格中「Scripts」部分下方的「py」,如下所示:

您也可以將資源檔案儲存在環境層級的存放區 (例如,讓環境中的所有 Proxy 都能使用 PythonScript 程式碼)。如果系統找不到政策中指定的任何資源檔案,就會發生這個錯誤。
診斷
找出發生錯誤的 PythonScript 政策,以及無效的資源網址參照。這項資訊會顯示在錯誤訊息中。舉例來說,在下列錯誤中,政策名稱為
Python_script,無效的資源網址參照為py://myscript.py:Invalid resource url ref py://myscript.py in policy Python_script in myorg
確認失敗的 PythonScript 政策中指定的資源網址參照,與錯誤訊息中識別的值 (如上方的步驟 1) 相符。舉例來說,下列政策將資源網址參照指定為
py://myscript.py,與錯誤訊息中的內容相符:<?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 中識別的檔案是否屬於特定 API Proxy 套件,或是否存在於環境範圍。
- 如要檢查檔案是否屬於特定 API Proxy 套件,請按照下列其中一個步驟操作:
- 在 Apigee UI 中,檢查這個檔案是否位於 API Proxy 的「Scripts」部分。
- 下載 API Proxy 套件,並搜尋檔案是否存在。
- 如果檔案不屬於特定 API Proxy 套件,請檢查檔案是否存在於環境層級。您可以使用資源檔案 API 進行這項調查。
如果 API Proxy 或環境層級沒有這個檔案,就是造成錯誤的原因。
在上述範例中,無效的 PythonScript 檔案名稱為 myscript.py。在下方的螢幕截圖中,請注意政策中指定為資源網址的檔案不會顯示在「指令碼」部分。且環境層級也沒有該檔案。因此,API Proxy 部署作業會失敗,並顯示下列錯誤:
Invalid resource url ref py://myscript.py in policy Python_script in myorg
- 如要檢查檔案是否屬於特定 API Proxy 套件,請按照下列其中一個步驟操作:

解析度
確認 <ResourceURL> 和 <IncludeURL> 元素中指定的 PythonScript 檔案參照的是 API Proxy 或環境層級的有效檔案。
如要修正上述 PythonScript 政策範例,請將 myscript.py 檔案新增至 API Proxy 套件。在下方的螢幕截圖中,您可以看到 <ResourceURL> 和 <IncludeURL> 元素中指定的 PythonScript 檔案,顯示在 API Proxy 套件的「Scripts」部分:
