Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
InvalidResourceUrlFormat
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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 określonego w elemencie <ResourceURL> lub <IncludeURL> zasady PythonScript jest nieprawidłowy, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Prawidłowy format wygląda tak:
<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 pokazany poniżej, wdrożenie 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żyty w zasadach PythonScript. Informacje te 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 w konkretnym serwerze proxy interfejsu API, w którym wystąpił błąd. Jeśli istnieje zasada PythonScript, w której adres URL zasobu określony w elemencie
<ResourceURL>lub<IncludeURL>pasuje do nieprawidłowego wpisu zidentyfikowanego w kroku 1 powyżej, to jest to przyczyna błędu.Na przykład te zasady określają adres URL zasobu jako
py:myscript.py, co odpowiada temu, co znajduje się w komunikacie 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 określony jako
py:myscript.py, co jest nieprawidłowe. Wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i wyświetla się 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
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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> odwołują się do pliku PythonScript, który nie istnieje, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Jeśli wdrażasz pakiet proxy z komputera lokalnego, pliki źródłowe PythonScript muszą być przechowywane w katalogu /apiproxy/resources/py(w zakresie proxy interfejsu API).
W interfejsie Edge pliki źródłowe PythonScript są wyświetlane w sekcji Skrypty w panelu Nawigator edytora proxy interfejsu API pod nazwą py, jak pokazano poniżej:

Możesz też przechowywać pliki zasobów w repozytoriach na poziomie organizacji i środowiska (np. aby udostępnić kod PythonScript wszystkim serwerom proxy w organizacji lub środowisku). Ten błąd występuje, jeśli nie można znaleźć żadnego z plików zasobów określonych w zasadach.
Diagnostyka
Określ zasadę PythonScript, w której wystąpił błąd, oraz nieprawidłowe odniesienie do adresu URL zasobu. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
Python_script, a nieprawidłowy adres URL zasobu topy://myscript.py:Invalid resource url ref py://myscript.py in policy Python_script in myorg
Sprawdź, czy odwołanie do adresu URL zasobu określone w zasadach PythonScript, które spowodowały błąd, jest zgodne z wartością podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład te zasady określają odwołanie do adresu URL zasobu jako
py://myscript.py, co odpowiada temu, co znajduje się w komunikacie 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 zidentyfikowany w kroku 1 jest częścią konkretnego pakietu proxy interfejsu API lub czy istnieje w zakresie organizacji lub środowiska.
- Aby sprawdzić, czy plik jest częścią konkretnego pakietu proxy interfejsu API, wykonaj jedną z tych czynności:
- W interfejsie Edge sprawdź, czy ten plik znajduje się w sekcji Skrypty w proxy interfejsu API.
- Pobierz pakiet serwera proxy interfejsu API i sprawdź, czy plik istnieje.
- Jeśli plik nie jest częścią konkretnego pakietu serwera proxy interfejsu API, sprawdź, czy istnieje na poziomie organizacji lub środowiska. Do tego celu możesz użyć interfejsu Resource Files API.
Jeśli plik nie istnieje na poziomie serwera proxy interfejsu API, organizacji lub środowiska, to jest to przyczyną błędu.
W przykładzie powyżej nieprawidłowa nazwa pliku PythonScript to myscript.py. Na zrzucie ekranu poniżej widać, że plik określony jako adres URL zasobu w zasadach nie pojawia się w sekcji Skrypty. Plik nie istnieje też na poziomie organizacji ani środowiska. W związku z tym wdrożenie proxy interfejsu API nie powiedzie się i zostanie wyświetlony błąd:
Invalid resource url ref py://myscript.py in policy Python_script in myorg
- Aby sprawdzić, czy plik jest częścią konkretnego pakietu proxy interfejsu API, wykonaj jedną z tych czynności:

Rozdzielczość
Sprawdź, czy pliki PythonScript określone w elementach <ResourceURL> i <IncludeURL> odwołują się do prawidłowego pliku, który znajduje się na poziomie serwera proxy interfejsu API, organizacji lub środowiska.
Aby poprawić pokazaną powyżej zasadę PythonScript, dodaj plik myscript.py do pakietu serwera proxy interfejsu API. Na zrzucie ekranu poniżej widać, że pliki PythonScript określone w elementach <ResourceURL> i <IncludeURL> są widoczne w sekcji Skrypty pakietu proxy interfejsu API:
