Sie lesen gerade die Dokumentation zu Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen.
InvalidResourceUrlFormat
Fehlermeldung
Die Bereitstellung eines API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Deploying Revision revision_number to environment Invalid resource url format. Resource url is invalid_URL.
Beispiel für Fehlermeldung
Error Deploying Revision 2 to prod Invalid resource url format. Resource url is py:myscript.py.
Beispiel-Screenshot
Ursache
Wenn das Format der Ressourcen-URL im <ResourceURL>
-Element oder im <IncludeURL>
-Element der PythonScript-Richtlinie ungültig ist, schlägt die Bereitstellung des API-Proxys fehl.
Das korrekte Format sieht so aus:
<ResourceURL>py://file_name.py</ResourceURL> <IncludeURL>py://file_name.py</IncludeURL>
Wenn beispielsweise das <ResourceURL>
-Element wie unten gezeigt angegeben ist, schlägt die Bereitstellung des API-Proxys fehl, weil er nicht dem festgelegten Muster folgt:
<ResourceURL>py:myscript.py</ResourceURL>
Diagnose
Ermitteln Sie das ungültige Ressourcen-URL-Format, das in der PythonScript-Richtlinie verwendet wird. Diese Information finden Sie in der Fehlermeldung. Im folgenden Fehler ist das ungültige Ressourcen-URL-Format beispielsweise
py:myscript.py
.Invalid resource url format. Resource url is py:myscript.py.
Untersuchen Sie alle PythonScript-Richtlinien im entsprechenden API-Proxy, in dem der Fehler aufgetreten ist. Wenn es eine PythonScript-Richtlinie gibt, bei der die im
<ResourceURL>
- oder<IncludeURL>
-Element angegebene Ressourcen-URL mit dem in Schritt 1 oben angegebenen ungültigen Eintrag übereinstimmt, ist dies die Ursache des Fehlers.Die folgende Richtlinie gibt beispielsweise die Ressourcen-URL als
py:myscript.py
an, was dem Inhalt der Fehlermeldung entspricht:<?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>
Da die Ressourcen-URL als
py:myscript.py
angegeben und ungültig ist, schlägt die Bereitstellung des API-Proxys mit dem folgenden Fehler fehl:Invalid resource url format. Resource url is py:myscript.py.
Lösung
Überprüfen Sie, ob das im <ResourceURL>
-Element der PythonScript-Richtlinie angegebene Ressourcen-URL-Format gültig ist. Beispiel:
<?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
Fehlermeldung
Die Bereitstellung eines API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Deploying Revision revision_number to environment Invalid resource url ref invalid_reference in policy policy_name in org_name
Beispiel für Fehlermeldung
Error Deploying Revision 2 to prod Invalid resource url ref py://myscript.py in policy Python_script in myorg
Beispiel-Screenshot
Ursache
Wenn sich die Elemente <ResourceURL>
und <IncludeURL>
auf eine nicht vorhandene PythonScript-Datei beziehen, schlägt die Bereitstellung des API-Proxys fehl.
Wenn Sie ein Proxy-Bundle von Ihrem lokalen Computer bereitstellen, müssen die PythonScript-Quelldateien unter /apiproxy/resources/py
(im API-Proxy-Bereich) gespeichert sein.
In der Apigee-Benutzeroberfläche werden die PythonScript-Quelldateien unter py im Bereich "Scripts" des API-Proxy-Editors angezeigt:
Sie können auch Ressourcendateien in Repositories auf Umgebungsebene speichern, um beispielsweise PythonScript-Code für alle Proxys in einer Umgebung verfügbar zu machen. Wenn in der Richtlinie angegebene Ressourcendateien nicht gefunden werden können, tritt dieser Fehler auf.
Diagnose
Ermitteln Sie die PythonScript-Richtlinie, in der der Fehler aufgetreten ist, sowie die ungültige Ressourcen-URL-Referenz. Diese Information finden Sie in der Fehlermeldung. Im folgenden Fehler lautet der Richtlinienname beispielsweise
Python_script
und die Referenz der Ressourcen-URL istpy://myscript.py
:Invalid resource url ref py://myscript.py in policy Python_script in myorg
Überprüfen Sie, ob die in der fehlgeschlagenen PythonScript-Richtlinie angegebene Ressourcen-URL-Referenz mit dem in der Fehlermeldung angegebenen Wert übereinstimmt (Schritt 1). Die folgende Richtlinie gibt beispielsweise die Ressourcen-URL-Referenz als
py://myscript.py
an, die mit dem Inhalt der Fehlermeldung übereinstimmt:<?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>
Prüfen Sie, ob die in Schritt 1 angegebene Datei Teil des spezifischen API-Proxy-Bundles ist oder im Umgebungsbereich vorhanden ist.
- Führen Sie einen der folgenden Schritte aus, um zu prüfen, ob die Datei Teil eines bestimmten API-Proxy-Bundles ist:
- Prüfen Sie in der Apigee-UI, ob sich diese Datei im Abschnitt "Skripts" des API-Proxys befindet.
- Laden Sie das API-Proxy-Bundle herunter und prüfen Sie, ob die Datei vorhanden ist.
- Wenn die Datei nicht Teil des spezifischen API-Proxy-Bundles ist, prüfen Sie, ob sie auf Umgebungsebene vorhanden ist. Sie können die Resource Files API für diese Prüfung verwenden.
Wenn die Datei nicht auf API-Proxy- oder Umgebungsebene vorhanden ist, ist dies die Fehlerursache.
Im obigen Beispiel lautet der ungültige PythonScript-Dateiname myscript.py. Im folgenden Screenshot wird die Datei, die in der Richtlinie als Ressourcen-URL angegeben ist, nicht im Bereich "Skripts" angezeigt. Die Datei ist auch nicht auf der Umgebungsebene vorhanden. Entsprechend schlägt die Bereitstellung des API-Proxys mit folgendem Fehler fehl:
Invalid resource url ref py://myscript.py in policy Python_script in myorg
- Führen Sie einen der folgenden Schritte aus, um zu prüfen, ob die Datei Teil eines bestimmten API-Proxy-Bundles ist:
Lösung
Achten Sie darauf, dass die in den Elementen <ResourceURL>
und <IncludeURL>
angegebenen PythonScript-Dateien auf eine gültige Datei verweisen, die auf API-Proxy- oder Umgebungsebene vorhanden ist.
Zur Korrigierung des oben dargestellten PythonScript-Richtlinie fügen Sie die Datei "myscript.py" zum API-Proxy-Bundle hinzu. Im Screenshot unten sehen Sie, dass die in <ResourceURL>
- und <IncludeURL>
-Elementen angegebenen PythonScript-Dateien im Abschnitt "Skripts" des API-Proxy-Bundles sichtbar sind: