Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Comprendi e gestisci le risorse, come descritto nelle sezioni seguenti.
Informazioni sulle risorse
Molti tipi di criteri si basano sulle risorse. Le risorse sono i file che implementano il codice o la configurazione da eseguire da un criterio quando viene collegato a un proxy API. In alcuni casi, come con JavaScript e JavaCallout, un criterio definisce semplicemente un punto di collegamento in un proxy API in cui deve essere eseguito del codice. Il criterio JavaScript o JavaCallout è un puntatore a una risorsa.
Il seguente esempio di JavaScript imposta il percorso della richiesta HTTP
sul valore della variabile proxy.basepath.
request.headers["RequestPath"] = context.getVariable("proxy.basepath");Tipi di risorse
La tabella seguente riepiloga i tipi di risorse:
| Tipo di risorsa | Descrizione |
|---|---|
JAR (java) |
Classi Java in un file JAR a cui fanno riferimento i criteri JavaCallout. |
JavaScript (js) |
JavaScript a cui fanno riferimento i criteri JavaScript. |
JavaScript (jsc) |
JavaScript compilato a cui fanno riferimento i criteri JavaScript. |
Hosted target (hosted) |
File Node.js da eseguire il deployment in Destinazioni ospitate. Puoi eseguire il deployment di Node.js come applicazioni di destinazione di backend Edge. |
Node (node) |
File Node.js, inclusi il file Node.js principale, i file di origine correlati e le dipendenze dei moduli. |
Python (py) |
Script Python a cui fanno riferimento i criteri PythonScript. Le risorse devono essere implementate in "Python puro" (solo nel linguaggio Python). |
WSDL (wsdl) |
File WSDL a cui fanno riferimento i criteri SOAPMessageValidation. |
XSD (xsd) |
Schemi XML a cui fanno riferimento i criteri SOAPMessageValidation. |
XSL Transformations (xsl) |
Trasformazioni XSLT a cui fanno riferimento i criteri XSLTransform. |
Dove vengono archiviate le risorse
Le risorse possono essere archiviate in una delle seguenti tre posizioni:
- Revisione del proxy API: le risorse sono disponibili solo per le revisioni del proxy API in cui sono incluse. Ad esempio, potresti includere una risorsa JavaScript nella revisione 1 di un proxy API, quindi modificare l'implementazione per utilizzare uno script Python nella revisione 2 del proxy. La revisione 1 ha accesso solo alla risorsa JavaScript, mentre la revisione 2 ha accesso solo alla risorsa Python.
- Ambiente: quando vengono archiviate in un ambiente (ad esempio
testoprod), le risorse sono disponibili per qualsiasi proxy API di cui è stato eseguito il deployment nello stesso ambiente. - Organizzazione: quando vengono archiviate in un'organizzazione, le risorse sono disponibili per qualsiasi proxy API di cui è stato eseguito il deployment in qualsiasi ambiente.
I repository sono disponibili ai seguenti URI, come descritto dall'API Resource files e più avanti in Gestire le risorse utilizzando l'API:
- Organizzazione:
/organizations/{org}/resourcefiles - Ambiente:
/organizations/{org}/environments/{env}/resourcefiles - Proxy API:
/organizations/{org}/apis/{api}/revisions/{rev}/resources
La tabella seguente mostra i metodi che puoi utilizzare per creare, aggiornare ed eliminare le risorse per ogni repository:
| Repository | Crea | Visualizza | Aggiorna | Elimina | ||||
|---|---|---|---|---|---|---|---|---|
| API | UI | API | UI | API | UI | API | UI | |
| Revisione del proxy API | ||||||||
| Ambiente | ||||||||
| Organizzazione | ||||||||
Ad esempio, tutti i file JavaScript disponibili per l'ambiente test sono archiviati nel seguente repository e sono disponibili per qualsiasi proxy API
in esecuzione nell'ambiente test:
/organizations/{org}/environments/test/resourcefiles/jscRisoluzione del nome della risorsa
Edge risolve i nomi delle risorse dall'ambito più specifico a quello più generale. I nomi delle risorse vengono risolti "a cascata", dal livello di revisione del proxy API al livello di ambiente e al livello di organizzazione (solo Edge).
Supponiamo di aver compilato la stessa risorsa in due repository diversi: la revisione del proxy API e l'ambiente prod.
Considera il proxy API configurato con il seguente criterio:
<Javascript name='PathSetterPolicy' timeLimit='200'>
<ResourceURL>jsc://pathSetter.js</ResourceURL>
</Javascript>Il riferimento al criterio non può essere risolto in modo esplicito in un repository. Viene risolta la prima risorsa nell'ambito più granulare il cui nome corrisponde al nome della risorsa nella policy.
Pertanto, quando il proxy API viene eseguito il deployment nell'ambiente prod, il criterio
viene risolto nella risorsa pathSetter.js con ambito ambiente.
Quando viene implementata nell'ambiente test, la policy verrà risolta nella risorsa con ambito di revisione del proxy API, perché la risorsa con ambito di ambiente si trova nell'ambiente prod, non nell'ambiente test.
Linee guida per le risorse Java
Puoi aggiungere risorse Java compilate come file JAR utilizzando più opzioni in curl, ad esempio
-T, --data-binary o -F (non l'opzione -d). Ad esempio:
curl "http://{mgmt_server}:{port}/v1/organizations/{org}/environments/{env}/resourcefiles?name={jar_file}&type=java" \
-X POST \
--data-binary @{jar_file} \
-H "Content-Type: application/octet-stream" \
-u email:password
curl -v "http://{mgmt_server}:{port}/v1/organizations/{org}/environments/{env}/resourcefiles?name={jar_file}&type=java"
-X POST \
-H "Content-Type: application/octet-stream" \
-T "{jar_file}" \
-u email:password
curl -v "http://{mgmt_server}:{port}/v1/organizations/{org}/environments/{env}/resourcefiles?name={jar_file}&type=java"
-X POST \
-H "Content-Type: application/multipart/form-data" \
-F "file=@{jar_file}" \
-u email:password
Vedi anche:
- Best practice di Java: Best practices for proxy API design and development
- Esempio di cookbook Java: XSL Transform policy
Linee guida per le risorse Node.js
Quando fai riferimento a uno script Node.js in un proxy API, lo fai con l'elemento <ResourceURL>
nella configurazione TargetEndpoint del proxy API, come descritto in Aggiunta di Node.js a un proxy API esistente. Ad esempio:
<ScriptTarget>
<ResourceURL>node://hello-world.js</ResourceURL>
</ScriptTarget>Lo script Node.js e tutti i moduli di supporto devono risiedere nell'ambito della revisione del proxy API
(nella directory /resources/node del bundle del proxy). Nell'editor proxy API, l'aggiunta
della risorsa Node.js alla sezione Script consente di eseguire questa operazione. Lo stesso vale per l'utilizzo dell'API
(import
e update)
per archiviare la risorsa nell'ambito della revisione del proxy API.
Gestisci le risorse utilizzando l'interfaccia utente
Gestisci le risorse con ambito limitato a una revisione del proxy API utilizzando la UI, come descritto nelle sezioni seguenti.
Visualizzare le risorse utilizzando la UI
Per visualizzare le risorse con ambito limitato a una revisione del proxy API:
-
Accedi a apigee.com/edge.
- Seleziona Sviluppa > Proxy API nella barra di navigazione a sinistra.
- Seleziona dall'elenco un proxy API per cui vuoi creare una risorsa.
Si apre l'editor del proxy API e, per impostazione predefinita, viene visualizzata la scheda Panoramica. - Fai clic sulla scheda Sviluppa.
- Se necessario, seleziona la revisione nel menu a discesa Revisione.
Le risorse con ambito limitato alla revisione del proxy API sono elencate nella sezione Risorse nella visualizzazione Navigatore.

Crea una risorsa utilizzando la UI
Per creare risorse con ambito limitato a una revisione del proxy API utilizzando la UI:
- Visualizza le risorse con ambito limitato alla revisione del proxy API.
- Fai clic su + nella sezione Risorse della visualizzazione Navigatore per aprire la finestra di dialogo Nuova risorsa.
- Inserisci quanto segue:
Campo Descrizione Origine Seleziona per creare un nuovo file o importarne uno. Tipo di file Seleziona un tipo di risorsa dall'elenco a discesa. Nome file Nome del file. L'estensione del nome file deve essere valida per il tipo di file selezionato.
Aggiorna una risorsa utilizzando la UI
Per aggiornare una risorsa con ambito limitato a una revisione del proxy API utilizzando la UI:
- Visualizza le risorse con ambito limitato alla revisione del proxy API.
- Nella visualizzazione Navigator in Risorse, fai clic sulla risorsa che vuoi aggiornare.
Nota:per i file JAR, posiziona il cursore sulla risorsa che vuoi modificare e fai clic su
. - Aggiorna la risorsa, se necessario.
Nota:dopo aver caricato un nuovo file JAR, fai clic su Aggiorna.
Eliminare una risorsa utilizzando la UI
Per eliminare una risorsa con ambito limitato a una revisione del proxy API utilizzando la UI:
- Visualizza le risorse con ambito limitato alla revisione del proxy API.
- Nella visualizzazione Navigatore, in Risorse, posiziona il cursore sulla risorsa che vuoi eliminare per visualizzare il menu delle azioni.
- Fai clic su
. - Fai clic su Elimina per confermare l'azione.
Gestire le risorse utilizzando l'API
Gestisci le risorse utilizzando l'API, come descritto nelle sezioni seguenti.
Creare risorse utilizzando l'API
Crea risorse con ambito limitato a una revisione del proxy API, a un ambiente o a un'organizzazione (solo Edge), come descritto nelle sezioni seguenti.
Creare risorse con ambito limitato a una revisione del proxy API utilizzando l'API
Crea una risorsa limitata a una revisione del proxy API utilizzando l'API inviando una richiesta POST alla seguente risorsa:
https://api.enterprise.apigee.com/v1/organizations/{org}/apis/{api}/revisions/{rev}/resourcefiles
Includi le seguenti informazioni nella tua richiesta:
- Imposta il parametro di query
namesul nome della risorsa - Imposta il parametro di query
typesul tipo di risorsa richiesto. - Passa i contenuti del file di risorse come
application/octet-streamomultipart/form-data)
Il seguente esempio crea un file JavaScript denominato pathSetter.js per la revisione 1 del proxy API helloworld:
curl -X POST https://api.enterprise.apigee.com/v1/organizations/myorg/apis/helloworld/revisions/1/resourcefiles?name=pathSetter.js&type=jsc
-H "Content-type:application/octet-stream" \
-d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");' \
-u email:password
L'esempio seguente mostra come caricare la risorsa come file dalla macchina locale. È importante
utilizzare -F per il caricamento binario in curl in modo che i file JavaScript con ambito a livello di ambiente o
organizzazione siano accessibili dalla policy JavaScript.
curl -X POST https://api.enterprise.apigee.com/v1/organizations/myorg/apis/helloworld/revisions/1/resourcefiles?name=pathSetter.js&type=jsc -H "Content-type:multipart/form-data" \ -F file=@pathSetter.js \ -u email:password
Di seguito è riportato un esempio di risposta di una delle due chiamate API.
{
"name": "pathSetter.js",
"type": "jsc"
}Per saperne di più, vedi Importare un file di risorse per una revisione del proxy API.
In alternativa, puoi utilizzare l'API Update proxy API revision, come segue:
- Crea il file di risorse.
- Aggiungi il file di risorse a un pacchetto di configurazione del proxy API.
- Carica il bundle utilizzando una delle seguenti API:
Creare risorse con ambito limitato a un ambiente utilizzando l'API
Crea una risorsa JavaScript con ambito limitato a un ambiente utilizzando l'API inviando una richiesta POST alla seguente risorsa:
/organizations/{org}/environments/{env}/resourcefiles
Includi le seguenti informazioni nella tua richiesta:
- Imposta il parametro di query
namesul nome della risorsa - Imposta il parametro di query
typesul tipo di risorsa richiesto. - Passa i contenuti del file di risorse come
application/octet-streamomultipart/form-data)
L'esempio seguente mostra come creare una risorsa JavaScript passando i relativi contenuti nel corpo della richiesta.
curl -X POST https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
-H "Content-type:application/octet-stream" \
-d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");' \
-u email:password
L'esempio seguente mostra come caricare la risorsa come file dalla macchina locale. È importante
utilizzare -F per il caricamento binario in curl in modo che i file JavaScript con ambito a livello di ambiente o
organizzazione siano accessibili dalla policy JavaScript.
curl -X POST https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc -H "Content-type:multipart/form-data" \ -F file=@pathSetter.js \ -u email:password
Di seguito è riportato un esempio di risposta:
{ "name" : "pathSetter.js", "type" : "jsc" }
Creare risorse con ambito limitato all'organizzazione utilizzando l'API
Per creare una risorsa con ambito a un'organizzazione utilizzando l'API, invia una richiesta POST alla seguente risorsa:
https://api.enterprise.apigee.comv1/organizations/{org}/resourcefiles
Includi le seguenti informazioni nella tua richiesta:
- Imposta il parametro di query
namesul nome della risorsa - Imposta il parametro di query
typesul tipo di file di risorse (vedi Tipi di risorse) - Passa i contenuti del file di risorse come
application/octet-streamomultipart/form-data)
Per maggiori informazioni, consulta Importare un file di risorse per un'organizzazione.
Visualizzare le risorse utilizzando l'API
Le sezioni seguenti descrivono come visualizzare le risorse utilizzando l'API.
Visualizzare tutte le risorse utilizzando l'API
Utilizzando l'API, puoi visualizzare le risorse limitate a una revisione del proxy API, a un ambiente o a un'organizzazione.
Ad esempio, per visualizzare le risorse con ambito impostato sull'ambiente utilizzando l'API, invia una richiesta GET alla seguente risorsa:
https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/resourcefiles
L'esempio seguente elenca tutte le risorse nell'ambiente test:
curl -X GET "https://api.enterprise.apigee.com/v1/organizations/my-organization/environments/test/resourcefiles/{type}" \
-u email:passwordDi seguito è riportato un esempio di risposta.
{
"resourceFile": [
{
"name" : "pathSetter.js",
"type" : "jsc"
}
]
}Visualizzare i contenuti di una risorsa utilizzando l'API
Visualizza i contenuti di una risorsa utilizzando l'API, come descritto nelle sezioni seguenti.
Utilizzando l'API, puoi visualizzare le risorse limitate a una revisione del proxy API, a un ambiente o a un'organizzazione.
Ad esempio, per visualizzare i contenuti di una risorsa in un ambiente utilizzando l'API, invia una richiesta GET alla seguente risorsa:
https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/name
L'esempio seguente elenca i contenuti del file di risorse JavaScript pathSetter.js nell'ambiente test:
curl -X GET https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js" \ -H "Accept: application/json" \ -u email:password
Di seguito è riportato un esempio di risposta:
request.headers["RequestPath"] = context.getVariable("proxy.basepath");Aggiornare le risorse utilizzando l'API
Aggiorna le risorse con ambito limitato a una revisione del proxy API, a un ambiente o a un'organizzazione (solo Edge), come descritto nelle sezioni seguenti.
Aggiorna le risorse con ambito limitato a una revisione del proxy API utilizzando l'API
Aggiorna una risorsa con ambito limitato a una revisione del proxy API utilizzando l'API inviando una richiesta PUT alla seguente risorsa:
https://api.enterprise.apigee.com/v1/organizations/{org}/apis/{api}/revisions/{rev}/resourcefiles/{type}/{name}
Trasferisci i contenuti del file di risorse come application/octet-stream o multipart/form-data)
L'esempio seguente aggiorna la risorsa JavaScript denominata pathSetter per la revisione 1 del proxy API helloworld:
curl -X PUT https://api.enterprise.apigee.com/v1/organizations/myorg/apis/helloworld/revisions/1/resourcefiles/jsc/pathSetter.js
-H "Content-type:application/octet-stream" \
-d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");' \
-u email:password
L'esempio seguente mostra come aggiornare la risorsa come file dalla macchina locale. È importante
utilizzare -F per il caricamento binario in curl in modo che i file JavaScript con ambito a livello di ambiente o
organizzazione siano accessibili dalla policy JavaScript.
curl -X PUT https://api.enterprise.apigee.com/v1/organizations/myorg/apis/helloworld/revisions/1/resourcefiles/jsc/pathSetter.js -H "Content-type:multipart/form-data" \ -F file=@pathSetter.js \ -u email:password
Di seguito è riportato un esempio di risposta di una delle due chiamate API.
{
"name": "pathSetter.js",
"type": "jsc"
}Per saperne di più, vedi Importare un file di risorse per una revisione del proxy API.
In alternativa, puoi utilizzare l'API Update proxy API revision, come segue:
- Scarica il pacchetto di configurazione del proxy API utilizzando l'API Export API proxy con le seguenti opzioni:
- Imposta il parametro di query
formatsubundle - Imposta l'intestazione
Acceptsuapplication/zip
- Imposta il parametro di query
- Aggiorna il file di risorse nel pacchetto di configurazione del proxy API.
- Carica il bundle utilizzando l'API Update proxy API revision
Aggiornare le risorse con ambito limitato a un ambiente utilizzando l'API
Aggiorna una risorsa con ambito limitato a un ambiente utilizzando l'API inviando una richiesta PUT alla seguente risorsa:
/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}
Passa i contenuti del file di risorse come application/octet-stream o multipart/form-data.
L'esempio seguente mostra come aggiornare una risorsa JavaScript passando i relativi contenuti nel corpo della richiesta.
curl -X PUT https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
-H "Content-type:application/octet-stream" \
-d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");' \
-u email:password
L'esempio seguente mostra come aggiornare il file di risorse utilizzando un file della macchina locale. È importante
utilizzare -F per il caricamento binario in curl in modo che i file JavaScript con ambito a livello di ambiente o
organizzazione siano accessibili dalla policy JavaScript.
curl -X PUT https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js -H "Content-type:multipart/form-data" \ -F file=@pathSetter.js \ -u email:password
Di seguito è riportato un esempio di risposta:
{ "name" : "pathSetter.js", "type" : "jsc" }
Aggiornare le risorse con ambito all'organizzazione utilizzando l'API
Per aggiornare una risorsa con ambito a un'organizzazione utilizzando l'API, invia una richiesta POST alla seguente risorsa:
https://api.enterprise.apigee.comv1/organizations/{org}/resourcefiles/{type}/{name}
Passa i contenuti del file di risorse come application/octet-stream o multipart/form-data)
Per saperne di più, consulta Importare un file di risorse per un'organizzazione.
Eliminare le risorse utilizzando l'API
Elimina la risorsa con ambito limitato a una revisione del proxy API, un ambiente o un'organizzazione (solo Edge), come descritto nelle sezioni seguenti.
Elimina risorse con ambito limitato a una revisione del proxy API utilizzando l'API
Per eliminare una risorsa con ambito limitato a una revisione del proxy API utilizzando l'API, invia una richiesta DELETE alla seguente risorsa:
https://api.enterprise.apigee.com/v1/organizations/{org}/apis/{api}/revisions/{rev}/resourcefiles/{type}/{name}
L'esempio seguente elimina il file di risorse JavaScript pathSetter.js dalla revisione 1 del proxy API helloworld:
curl -X GET "https://api.enterprise.apigee.com/v1/organizations/my-organization/apis/helloworld/revisions/1/resourcefiles/jsc/pathSetter.js" \ -u email:password
Di seguito è riportato un esempio di risposta.
{
"name" : "pathSetter.js",
"type" : "jsc"
}In alternativa, puoi utilizzare l'API Update proxy API revision, come segue:
- Scarica il pacchetto di configurazione del proxy API utilizzando l'API Export API proxy con le seguenti opzioni:
- Imposta il parametro di query
formatsubundle - Imposta l'intestazione
Acceptsuapplication/zip
- Imposta il parametro di query
- Elimina il file di risorse dal pacchetto di configurazione del proxy API.
- Carica il bundle utilizzando l'API Update proxy API revision
Eliminare una risorsa con ambito limitato a un ambiente utilizzando l'API
Elimina una risorsa con ambito limitato a un ambiente utilizzando l'API, come descritto nelle sezioni seguenti.
Per eliminare una risorsa con ambito limitato a un ambiente utilizzando l'API, invia una richiesta DELETE alla seguente risorsa:
https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}
L'esempio seguente elimina il file di risorse JavaScript pathSetter.js dall'ambiente test:
curl -X GET "https://api.enterprise.apigee.com/v1/organizations/my-organization/environments/test/resourcefiles/jsc/pathSetter.js" \ -u email:password
Di seguito è riportato un esempio di risposta.
{
"name" : "pathSetter.js",
"type" : "jsc"
}Elimina le risorse con ambito limitato all'organizzazione utilizzando l'API (solo Edge)
Per eliminare una risorsa con ambito a un'organizzazione utilizzando l'API, invia una richiesta DELETE alla seguente risorsa:
https://api.enterprise.apigee.comv1/organizations/{org}/resourcefiles/{type}/{name}
Per saperne di più, vedi Eliminare un file di risorse da un'organizzazione.
Accedere alla risorsa
La modalità di accesso alla risorsa dipende dal tipo di risorsa. Per saperne di più, consulta la documentazione delle norme pertinenti.
Gli esempi in questa sezione mostrano come creare e gestire una risorsa JavaScript denominata pathSetter.js per consentirne il riferimento da parte di policy di tipo JavaScript.
Per collegare JavaScript a Request PostFlow, crea una policy denominata
PathSetterPolicy.xml che faccia riferimento al file pathSetter.js:
<Javascript name='PathSetterPolicy' timeLimit='200'>
<ResourceURL>jsc://pathSetter.js</ResourceURL>
</Javascript>Quindi, fai riferimento al criterio nella configurazione dell'endpoint:
<PostFlow>
<Request>
<Step><Name>PathSetterPolicy</Name></Step>
</Request>
<PostFlow>Per saperne di più, consulta le norme relative a JavaScript.