Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
InvalidResourceUrlFormat
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API przy użyciu interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Deploying Revision revision_number to environment Invalid resource url format. Resource url is invalid_URL.
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to prod Invalid resource url format. Resource url is py:myscript.py.
Przykładowy zrzut ekranu
Przyczyna
Jeśli format adresu URL zasobu podany w elemencie <ResourceURL>
lub <IncludeURL>
w parametrze
Zasada PythonScript jest nieprawidłowa, wdrożenie serwera proxy interfejsu API się nie uda.
Prawidłowy format to:
<ResourceURL>py://file_name.py</ResourceURL> <IncludeURL>py://file_name.py</IncludeURL>
Jeśli na przykład element <ResourceURL>
jest określony w sposób opisany poniżej,
wdrożenie serwera proxy interfejsu API nie powiedzie się, ponieważ nie jest zgodne z wymaganym wzorcem:
<ResourceURL>py:myscript.py</ResourceURL>
Diagnostyka
Określ nieprawidłowy format adresu URL zasobu używany w zasadzie PythonScript. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nieprawidłowy format adresu URL zasobu to
py:myscript.py
:Invalid resource url format. Resource url is py:myscript.py.
Sprawdź wszystkie zasady PythonScript na konkretnym serwerze proxy API, na którym wystąpił błąd. Jeśli występuje zasada PythonScript, w której adres URL zasobu określony w parametrze
<ResourceURL>
lub<IncludeURL>
pasuje do nieprawidłowego wpisu określonego w kroku 1 powyżej, to właśnie jest przyczyną błędu.Na przykład ta zasada określa adres URL zasobu jako
py:myscript.py
, który jest zgodny z treścią komunikatu o błędzie:<?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>
Adres URL zasobu jest podany jako
py:myscript.py
, co jest nieprawidłowe, dlatego wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i wyświetlany jest błąd:Invalid resource url format. Resource url is py:myscript.py.
Rozdzielczość
Sprawdź, czy format adresu URL zasobu określony w elemencie <ResourceURL>
zasady PythonScript jest prawidłowy. Na przykład:
<?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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API przy użyciu interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Deploying Revision revision_number to environment Invalid resource url ref invalid_reference in policy policy_name in org_name
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to prod Invalid resource url ref py://myscript.py in policy Python_script in myorg
Przykładowy zrzut ekranu
Przyczyna
Jeśli elementy <ResourceURL>
i <IncludeURL>
odnoszą się do pliku PythonScript
nie istnieje, wdrożenie serwera proxy interfejsu API się nie uda.
Jeśli wdrażasz pakiet serwera proxy na komputerze lokalnym, skrypt PythonScript
pliki źródłowe muszą być przechowywane w domenie /apiproxy/resources/py
(w zakresie serwera proxy interfejsu API).
W interfejsie Edge pliki źródłowe PythonScript znajdują się w sekcji py w sekcji Skrypty. panelu Nawigator w edytorze serwera proxy API, jak pokazano poniżej:
Pliki zasobów możesz też przechowywać w repozytoriach na poziomie organizacji i środowiska (aby na przykład udostępnić kod PythonScript wszystkim serwerom proxy w organizacji lub środowisku). Ten błąd występuje, jeśli nie można znaleźć żadnych plików zasobów określonych w zasadzie.
Diagnostyka
Określ zasadę PythonScript, w której wystąpił błąd, oraz odniesienie do nieprawidłowego adresu URL zasobu. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
Python_script
, a nieprawidłowe odniesienie do adresu URL zasobu topy://myscript.py
:Invalid resource url ref py://myscript.py in policy Python_script in myorg
Sprawdź, czy odniesienie do adresu URL zasobu określone w nieudanej zasadzie PythonScript jest zgodne z wartością podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określa odwołanie do adresu URL zasobu jako
py://myscript.py
, które jest zgodne z treścią komunikatu o błędzie:<?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>
Sprawdź, czy plik wskazany w kroku 1 należy do określonego pakietu serwera proxy interfejsu API lub czy istnieje w zakresie organizacji lub środowiska.
- Aby sprawdzić, czy plik należy do określonego pakietu proxy interfejsu API, wykonaj jedną z tych czynności:
- W interfejsie Edge sprawdź, czy ten plik znajduje się w sekcji Skrypty na serwerze proxy interfejsu API.
- Pobierz pakiet interfejsów API serwera proxy i wyszukaj plik, jeśli istnieje.
- Jeśli plik nie należy do określonego pakietu serwera proxy interfejsu API, sprawdź, czy istnieje on na poziomie organizacji lub środowiska. W tym celu możesz użyć interfejsu Resource Files API.
Jeśli pliku nie ma na poziomie serwera proxy interfejsu API, organizacji lub środowiska, jest to przyczyna błędu.
W powyższym przykładzie nieprawidłowa nazwa pliku PythonScript to myscript.py. Na zrzucie ekranu poniżej widać, że w sekcji Skrypty nie pojawia się plik określony jako adres URL zasobu w zasadzie. Pliku nie ma też na poziomie organizacji ani środowiska. W związku z tym wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i wyświetla się błąd:
Invalid resource url ref py://myscript.py in policy Python_script in myorg
- Aby sprawdzić, czy plik należy do określonego pakietu proxy interfejsu API, wykonaj jedną z tych czynności:
Rozdzielczość
Upewnij się, że pliki PythonScript określone w elementach <ResourceURL>
i <IncludeURL>
odnoszą się do prawidłowego pliku istniejącego na poziomie serwera proxy interfejsu API, organizacji lub środowiska.
Aby poprawić przykładową zasadę PythonScriptu pokazaną powyżej, dodaj plik myscript.py do pakietu serwera proxy interfejsu API. Na zrzucie ekranu poniżej możesz zobaczyć, że pliki PythonScript określone w elementach <ResourceURL>
i <IncludeURL>
są widoczne w sekcji Skrypty pakietu API Proxy: