Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
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.
Tipi di risorse
La tabella seguente riepiloga i tipi di risorse:
Tipo di risorsa | Descrizione |
---|---|
GraphQL (graphql) |
File dello schema GraphQL a cui fanno riferimento i criteri GraphQL. |
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. |
OpenAPI Specification (oas) |
Specifica OpenAPI utilizzata per convalidare i messaggi di richiesta e risposta di tipo JSON o YAML. |
Property Set (properties) |
Raccolta di coppie chiave/valore a cui è possibile fare riferimento in un proxy API set di proprietà. |
Python (py) |
Script Python a cui fanno riferimento i criteri PythonScript. Le risorse devono essere implementate in "Python puro" (solo nel linguaggio Python). |
Security policy (securityPolicy) |
Criterio di sicurezza personalizzato a cui fanno riferimento i criteri JavaCallout. |
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 le policy XSLTransform. |
Dove vengono archiviate le risorse
Puoi archiviare le risorse nelle seguenti posizioni. Non puoi archiviare i file di risorse in un'organizzazione.
- 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
test
oprod
), le risorse sono disponibili per qualsiasi proxy API di cui è stato eseguito il deployment nello stesso ambiente.
Il repository dell'ambiente è disponibile al seguente URI, come descritto dall'API List resource files e più avanti in Gestire le risorse utilizzando l'API:
/organizations/$ORG/environments/$ENV/resourcefiles
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 |
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/jsc
Risoluzione del nome della risorsa
Risolvi i nomi delle risorse dall'ambito più specifico a quello più generale. I nomi delle risorse vengono risolti "a catena", dal livello di revisione del proxy API al livello di ambiente.
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 verrà
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://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles?name={jar_file}&type=java" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/octet-stream" \ --data-binary @{jar_file}
curl "http://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles?name={jar_file}&type=java" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/octet-stream" \ -T "{jar_file}"
curl "http://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles?name={jar_file}&type=java" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/octet-stream" \ -F "file=@{jar_file}"
Vedi anche:
- Best practice di Java: best practice per la progettazione e lo sviluppo di proxy API
- Esempio di cookbook Java: XSL Transform policy
Gestire 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
Apigee nella console Cloud
-
Nella console Google Cloud , vai alla pagina Sviluppo proxy > Proxy API.
Seleziona il proxy API di cui vuoi visualizzare le risorse. Viene visualizzata la panoramica dell'editor proxy.
- Fai clic sulla scheda Sviluppa.
- Nel riquadro di navigazione, scorri verso il basso fino a Risorse. Le risorse attuali sono visualizzate di seguito.
UI classica
Per visualizzare le risorse con ambito limitato a una revisione del proxy API utilizzando l'editor proxy classico:
- Accedi alla UI Apigee.
- Seleziona Sviluppa > Proxy API nella barra di navigazione a sinistra.
- Seleziona un proxy API nell'elenco per cui vuoi creare una risorsa.
Si apre l'editor 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 Navigator.
Crea una risorsa utilizzando la UI
Apigee nella console Cloud
Per creare una risorsa utilizzando Apigee nella console Google Cloud :
-
Nella console Google Cloud , vai alla pagina Sviluppo proxy > Proxy API.
Seleziona il proxy API di cui vuoi visualizzare le risorse. Viene visualizzata la panoramica dell'editor proxy.
- Fai clic sulla scheda Sviluppa.
- Nel riquadro di navigazione, scorri verso il basso fino a Risorse e fai clic sul pulsante + a destra.
- Nella finestra di dialogo Aggiungi risorsa, inserisci quanto segue:
- Tipo di risorsa: seleziona il tipo di file per la risorsa.
- Nella sezione Origine, seleziona Crea un nuovo file o Importa file. Se scegli Importa file, seleziona anche un file da importare nel campo File.
- Nome risorsa: inserisci un nome per la risorsa.
- Fai clic su Aggiungi.
Apigee classico
Per creare risorse con ambito limitato a una revisione del proxy API utilizzando la UI Apigee classica:
- 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
Aggiorna una risorsa con ambito limitato a una revisione del proxy API solo se la revisione non è stata eseguita il deployment. Una volta eseguito il deployment di una revisione del proxy API, questa non può essere modificata.
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
Elimina una risorsa con ambito limitato a una revisione del proxy API solo se la revisione non è stata implementata. Una volta eseguito il deployment di una revisione del proxy API, questa non può essere modificata.
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 o a un ambiente, come descritto nelle sezioni seguenti.
Creare risorse con ambito limitato a una revisione del proxy API utilizzando l'API
Crea risorse con ambito limitato a una revisione del proxy API utilizzando l'API, come descritto nelle sezioni seguenti.Per creare una risorsa con ambito limitato a una revisione del proxy API utilizzando l'API:
- 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 risorse 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
name
sul nome della risorsa - Imposta il parametro di query
type
sul tipo di risorsa richiesto. - Passa i contenuti del file di risorse come
application/octet-stream
omultipart/form-data
)
L'esempio seguente mostra come creare una risorsa JavaScript passando i relativi contenuti nel corpo della richiesta.
curl -X POST https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
-H "Authorization: Bearer $TOKEN" \
-H "Content-type:application/octet-stream" \
-d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");'
Dove $TOKEN
è impostato sul tuo token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzioni curl
utilizzate in questo esempio, consulta la sezione
Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate,
consulta Impostazione delle variabili di ambiente per le richieste API Apigee.
L'esempio seguente mostra come caricare la risorsa come file dalla macchina locale. È importante
utilizzare -F
per il caricamento binario in curl affinché i file JavaScript con ambito a livello di ambiente o
organizzazione siano accessibili dalla policy JavaScript.
curl -X POST https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
-H "Authorization: Bearer $TOKEN" \
-H "Content-type:multipart/form-data" \
-F file=@pathSetter.js
Di seguito è riportato un esempio di risposta:
{ "name" : "pathSetter.js", "type" : "jsc" }
Visualizzare le risorse utilizzando l'API
Le sezioni seguenti descrivono come visualizzare le risorse utilizzando l'API.
Visualizzare tutte le risorse utilizzando l'API
Visualizza tutte le risorse con ambito limitato a un ambiente utilizzando l'API, come descritto nelle sezioni seguenti.
Utilizzando l'API, puoi visualizzare solo le risorse con ambito limitato a un ambiente.
Per visualizzare tutte le risorse in un ambiente utilizzando l'API, invia una richiesta GET
alla seguente risorsa:
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles
L'esempio seguente elenca tutte le risorse nell'ambiente test
:
curl -X GET https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles
-H "Authorization: Bearer $TOKEN"
Dove $TOKEN
è impostato sul tuo token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzioni curl
utilizzate in questo esempio, consulta la sezione
Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate,
consulta Impostazione delle variabili di ambiente per le richieste API Apigee.
Per ulteriori informazioni, consulta API List environment resource files.
Di seguito è riportato un esempio di risposta.
{
"resourceFile": [
{
"name" : "pathSetter.js",
"type" : "jsc"
}
]
}
Visualizzare i contenuti di una risorsa utilizzando l'API
Per visualizzare i contenuti di una risorsa in un ambiente utilizzando l'API, invia una richiesta GET
alla seguente risorsa:
/organizations/$ORG/environments/$ENV/resourcefiles/$TYPE/$NAME
Il seguente esempio elenca i contenuti del file JavaScript pathSetter.js
(jsc
) nell'ambiente test
:
curl -X GET https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
-H "Authorization: Bearer $TOKEN"
Dove $TOKEN
è impostato sul tuo token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzioni curl
utilizzate in questo esempio, consulta la sezione
Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate,
consulta Impostazione delle variabili di ambiente per le richieste API Apigee.
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 o a un ambiente, come descritto nelle sezioni seguenti.
Aggiorna le risorse con ambito limitato a una revisione del proxy API utilizzando l'API
Per aggiornare una risorsa con ambito limitato a una revisione del proxy API utilizzando l'API:
- Scarica il pacchetto di configurazione del proxy API utilizzando l'API Get API proxy revision con le seguenti opzioni:
- Imposta il parametro di query
format
subundle
- Imposta l'intestazione
Accept
suapplication/zip
- Imposta il parametro di query
- Aggiorna il file di risorse nel pacchetto di configurazione del proxy API.
- Carica il pacchetto di configurazione del proxy API utilizzando l'API Aggiorna revisione proxy API.
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
.
Il seguente esempio mostra come aggiornare una risorsa JavaScript passando i relativi contenuti nel corpo della richiesta.
curl -X PUT https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
-H "Authorization: Bearer $TOKEN" \
-H "Content-type:application/octet-stream" \
-d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");'
Dove $TOKEN
è impostato sul tuo token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzioni curl
utilizzate in questo esempio, consulta la sezione
Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate,
consulta Impostazione delle variabili di ambiente per le richieste API Apigee.
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 affinché i file JavaScript con ambito a livello di ambiente o
organizzazione siano accessibili dalla policy JavaScript.
curl -X PUT https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
-H "Authorization: Bearer $TOKEN" \
-H "Content-type:multipart/form-data" \
-F file=@pathSetter.js
Di seguito è riportato un esempio di risposta:
{ "name" : "pathSetter.js", "type" : "jsc" }
Eliminare risorse utilizzando l'API
Elimina la risorsa con ambito limitato a una revisione del proxy API o a un ambiente, come descritto nelle sezioni seguenti.
Eliminare le risorse con ambito limitato a una revisione del proxy API utilizzando l'API
Con l'ibrido, per eliminare una risorsa con ambito limitato a un proxy API utilizzando l'API:
- Scarica il pacchetto di configurazione del proxy API utilizzando l'API Get API proxy revision con le seguenti opzioni:
- Imposta il parametro di query
format
subundle
- Imposta l'intestazione
Accept
suapplication/zip
- Imposta il parametro di query
- Elimina il file di risorse dal pacchetto di configurazione del proxy API.
- Carica il pacchetto di configurazione del proxy API utilizzando l'API Aggiorna revisione proxy API.
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://apigee.googleapis.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 DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/jsc/pathSetter.js \ -H "Authorization: Bearer $TOKEN"
Dove $TOKEN
è impostato sul tuo token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzioni curl
utilizzate in questo esempio, consulta la sezione
Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate,
consulta Impostazione delle variabili di ambiente per le richieste API Apigee.
Per ulteriori informazioni, vedi API Delete resource file.
Di seguito è riportato un esempio di risposta.
{
"name" : "pathSetter.js",
"type" : "jsc"
}
Accedere alla risorsa
La modalità di accesso alla risorsa dipende dal tipo di risorsa. Per ulteriori informazioni, consulta la Panoramica dei riferimenti alle norme.
Gli esempi in questa sezione mostrano come creare e gestire una risorsa JavaScript denominata pathSetter.js
per consentirne il riferimento da parte di
norme di tipo JavaScript.
Per allegare JavaScript a Request PostFlow, crea un criterio chiamato
PathSetterPolicy.xml
che fa 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.