Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
InvalidResourceUrlFormat
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
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.
Пример скриншота

Причина
Если формат URL-адреса ресурса, указанного в элементе <ResourceURL> или <IncludeURL> политики PythonScript , недопустим, развертывание прокси-сервера API завершится неудачей.
Правильный формат показан ниже:
<ResourceURL>py://file_name.py</ResourceURL> <IncludeURL>py://file_name.py</IncludeURL>
Например, если элемент <ResourceURL> указан, как показано ниже, то развертывание API-прокси завершится неудачей, поскольку он не соответствует требуемому шаблону:
<ResourceURL>py:myscript.py</ResourceURL>
Диагноз
Определите недопустимый формат URL-адреса ресурса, используемый в политике PythonScript. Эту информацию можно найти в сообщении об ошибке. Например, в следующем сообщении об ошибке недопустимый формат URL-адреса ресурса —
py:myscript.py:Invalid resource url format. Resource url is py:myscript.py.
Проверьте все политики PythonScript в конкретном API-прокси, где произошла ошибка. Если в какой-либо политике PythonScript URL ресурса, указанный в элементе
<ResourceURL>или<IncludeURL>совпадает с недопустимой записью, выявленной на шаге №1 выше, то это и есть причина ошибки.Например, следующая политика указывает URL-адрес ресурса как
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>
Поскольку URL-адрес ресурса указан как
py:myscript.py, что недопустимо, развертывание API-прокси завершается с ошибкой:Invalid resource url format. Resource url is py:myscript.py.
Разрешение
Убедитесь, что формат URL-адреса ресурса, указанный в элементе <ResourceURL> политики PythonScript, является допустимым. Например:
<?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
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
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-прокси завершится неудачей. Если вы развертываете пакет прокси с локального компьютера, то исходные файлы PythonScript должны храниться в каталоге /apiproxy/resources/py (в области действия API-прокси).
В пользовательском интерфейсе Edge исходные файлы PythonScript отображаются в разделе Scripts редактора API-прокси в панели навигатора, как показано ниже:

Вы также можете хранить файлы ресурсов в репозиториях на уровне организации и среды (например, чтобы сделать код PythonScript доступным для всех прокси-серверов в организации или среде). Если какие-либо файлы ресурсов, указанные в политике, не найдены, возникает эта ошибка.
Диагноз
Определите политику PythonScript, в которой произошла ошибка, и недопустимую ссылку на URL-адрес ресурса. Эту информацию можно найти в сообщении об ошибке. Например, в следующем примере имя политики —
Python_script, а недопустимая ссылка на URL-адрес ресурса —py://myscript.py:Invalid resource url ref py://myscript.py in policy Python_script in myorg
Убедитесь, что указанная в политике, вызвавшей ошибку PythonScript ссылка на URL-адрес ресурса совпадает со значением, указанным в сообщении об ошибке (шаг №1 выше). Например, следующая политика указывает ссылку на URL-адрес ресурса как
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-прокси или существует ли он в рамках организации или среды.
- Чтобы проверить, входит ли файл в состав конкретного пакета API-прокси, выполните одно из следующих действий:
- В пользовательском интерфейсе Edge проверьте, находится ли этот файл в разделе «Скрипты» API-прокси.
- Загрузите пакет API-прокси и проверьте, существует ли этот файл.
- Если файл не входит в состав конкретного пакета API-прокси, проверьте, существует ли он на уровне организации или среды. Для этого можно использовать API файлов ресурсов .
Если файл отсутствует на уровне API-прокси, организации или среды, то это и является причиной ошибки.
В приведенном выше примере недопустимое имя файла PythonScript — myscript.py. На скриншоте ниже обратите внимание, что файл, указанный в качестве URL-адреса ресурса в политике, не отображается в разделе «Скрипты». Кроме того, файл не существует на уровне организации или среды. Поэтому развертывание API-прокси завершается с ошибкой:
Invalid resource url ref py://myscript.py in policy Python_script in myorg
- Чтобы проверить, входит ли файл в состав конкретного пакета API-прокси, выполните одно из следующих действий:

Разрешение
Убедитесь, что файлы PythonScript, указанные в элементах <ResourceURL> и <IncludeURL> ссылаются на допустимый файл, существующий на уровне API-прокси, организации или среды.
Чтобы исправить приведенную выше примерную политику PythonScript, добавьте файл myscript.py в пакет API Proxy. На скриншоте ниже видно, что файлы PythonScript, указанные в элементах <ResourceURL> и <IncludeURL> отображаются в разделе Scripts пакета API Proxy:
