Gestione delle risorse

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 sono collegati a un proxy API. In alcuni casi, come con JavaScript e JavaCallout, un criterio definisce semplicemente un punto di attacco 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 riassume i tipi di risorse:

Tipo di risorsa Descrizione
GraphQL (graphql) File dello schema GraphQL a cui fanno riferimento le norme 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) Codice 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 nei set di proprietà di un proxy API.
Python (py) Script Python a cui fanno riferimento i criteri PythonScript. Le risorse devono essere implementate in "puro Python" (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 con la revisione 1 di un proxy API, quindi modificare l'implementazione in modo da utilizzare uno script Python nella revisione 2 del proxy. La revisione 1 ha accesso solo alla risorsa JavaScript e la revisione 2 solo alla risorsa Python.
  • Ambiente: se archiviate in un ambiente (ad esempio test o prod), 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 in seguito in Gestire le risorse utilizzando l'API: /organizations/$ORG/environments/$ENV/resourcefiles

La tabella seguente mostra i metodi che puoi utilizzare per creare, aggiornare e 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 dei nomi delle risorse

Risolvi i nomi delle risorse dall'ambito più specifico a quello più generale. I nomi delle risorse vengono risolti "a monte della 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.

Prendiamo in considerazione il proxy API configurato con il seguente criterio:

<Javascript name='PathSetterPolicy' timeLimit='200'>
    <ResourceURL>jsc://pathSetter.js</ResourceURL>
</Javascript>

Il riferimento ai criteri non può risolvere esplicitamente in un repository. Viene risolta la prima risorsa nell'ambito più granulare il cui nome corrisponde al nome della risorsa nel criterio.

Pertanto, quando il proxy API viene implementato nell'ambiente prod, il criterio verrà risolto nella risorsa pathSetter.js basata sull'ambiente.

Quando viene eseguito il deployment nell'ambiente test, il criterio viene risolto nella risorsa basata sulla revisione del proxy API, perché la risorsa basata sull'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:

Gestire le risorse utilizzando l'interfaccia utente

Gestisci le risorse con ambito in una revisione del proxy API utilizzando l'interfaccia utente, come descritto nelle sezioni seguenti.

Visualizzare le risorse utilizzando l'interfaccia utente

Nuovo editor proxy

Per visualizzare le risorse utilizzando il nuovo editor proxy:

  1. Se utilizzi l'interfaccia utente di Apigee nella console Cloud: seleziona Sviluppo proxy > Proxy API.

    Se utilizzi la UI di Apigee classica: seleziona Sviluppa > Proxy API e nel riquadro Proxy, seleziona l'ambiente per il proxy di cui vuoi visualizzare le risorse.

  2. Seleziona il proxy API di cui vuoi visualizzare le risorse. Viene visualizzata la visualizzazione Panoramica dell'editor proxy.

  3. Fai clic sulla scheda Sviluppa.
  4. Nel riquadro a sinistra, scorri verso il basso fino a Risorse. Le risorse attuali sono visualizzate di seguito.

Editor proxy classico

Per visualizzare le risorse con ambito limitato a una revisione del proxy API utilizzando l'editor proxy classico:

  1. Accedi all'interfaccia utente di Apigee.
  2. Seleziona Sviluppa > Proxy API nella barra di navigazione a sinistra.
  3. Seleziona un proxy API nell'elenco per cui vuoi creare una risorsa.
    Per impostazione predefinita, si apre l'editor del proxy API e viene visualizzata la scheda Panoramica.
  4. Fai clic sulla scheda Sviluppa.
  5. Se necessario, seleziona la revisione nel menu a discesa Revisione.

    Le risorse con ambito nella revisione del proxy API sono elencate nella sezione Risorse della visualizzazione Navigator.

Creare una risorsa utilizzando l'interfaccia utente

Nuovo editor proxy

Per creare una risorsa utilizzando il nuovo editor proxy:

  1. Se utilizzi l'interfaccia utente di Apigee nella console Cloud: seleziona Sviluppo proxy > Proxy API.

    Se utilizzi la UI di Apigee classica: seleziona Sviluppa > Proxy API e nel riquadro Proxy, seleziona l'ambiente per il proxy di cui vuoi visualizzare le risorse.

  2. Seleziona il proxy API di cui vuoi visualizzare le risorse. Viene visualizzata la visualizzazione Panoramica dell'editor proxy.

  3. Fai clic sulla scheda Sviluppa.
  4. Nel riquadro a sinistra, scorri verso il basso fino a Risorse e fai clic sul pulsante + accanto.
  5. Nella finestra di dialogo Aggiungi risorsa, inserisci quanto segue:
    • Tipo di risorsa: seleziona il tipo di file per la risorsa.
    • In 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.
  6. Fai clic su Aggiungi.

Apigee classica

Per creare risorse con ambito limitato a una revisione del proxy API utilizzando l'interfaccia utente Apigee classica:

  1. Visualizza le risorse con ambito limitato alla revisione del proxy API.
  2. Fai clic su + nella sezione Risorse della visualizzazione Navigator per aprire la finestra di dialogo Nuova risorsa.
  3. Inserisci quanto segue:
    Campo Descrizione
    Origine Seleziona se 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.

Aggiornare una risorsa utilizzando l'interfaccia utente

Aggiorna una risorsa limitata a una revisione del proxy API solo se la revisione non è stata dispiattata. Una volta dispiegato, un proxy API è immutabile.

Per aggiornare una risorsa limitata a una revisione del proxy API utilizzando l'interfaccia utente:

  1. Visualizza le risorse con ambito limitato alla revisione del proxy API.
  2. Nella visualizzazione del navigatore, fai clic sulla risorsa da aggiornare in Risorse.
    Nota: per i file JAR, posiziona il cursore del mouse sulla risorsa da modificare e fai clic su Immagine dell&#39;icona di modifica..
  3. 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 limitata a una revisione del proxy API solo se la revisione non è stata dispiattata. Una volta dispiegato, un proxy API è immutabile.

Per eliminare una risorsa limitata a una revisione del proxy API utilizzando l'interfaccia utente:

  1. Visualizza le risorse con ambito limitato alla revisione del proxy API.
  2. Nella visualizzazione Navigator, nella sezione Risorse, posiziona il cursore sulla risorsa che vuoi eliminare per visualizzare il menu delle azioni.
  3. Fai clic su Immagine dell&#39;icona Elimina..
  4. 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 limitata a una revisione del proxy API utilizzando l'API:

  1. Crea il file della risorsa.
  2. Aggiungi il file della risorsa a un pacchetto di configurazione di proxy API.
  3. Carica il bundle utilizzando una delle seguenti API:

Creare risorse con ambito in un ambiente utilizzando l'API

Crea risorse con ambito in un ambiente utilizzando l'API inviando una richiesta POST alla seguente risorsa: /organizations/$ORG/environments/$ENV/resourcefiles

Specifica le seguenti informazioni nella 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 della risorsa come application/octet-stream o multipart/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 Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate, consulta Impostazione delle variabili di ambiente per le richieste dell'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 basati sull'ambiente o sull'organizzazione siano accessibili dal criterio 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 seguenti sezioni descrivono come visualizzare le risorse utilizzando l'API.

Visualizza tutte le risorse che utilizzano l'API

Visualizza tutte le risorse con ambito in un ambiente che utilizza l'API, come descritto nelle sezioni seguenti.

Con l'API puoi visualizzare le risorse limitate a un solo ambiente.

Per visualizzare tutte le risorse in un ambiente che utilizza 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 Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate, consulta Impostazione delle variabili di ambiente per le richieste dell'API Apigee.

Per ulteriori informazioni, consulta l'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 che utilizza l'API, invia una richiesta GET alla seguente risorsa: /organizations/$ORG/environments/$ENV/resourcefiles/$TYPE/$NAME

L'esempio seguente elenca i contenuti del file JavaScript (jsc) pathSetter.js 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 Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate, consulta Impostazione delle variabili di ambiente per le richieste dell'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 che hanno come ambito una revisione del proxy API o un ambiente, come descritto nelle sezioni seguenti.

Aggiornare le risorse con ambito limitato a una revisione del proxy API utilizzando l'API

Per aggiornare una risorsa limitata a una revisione del proxy API utilizzando l'API:

  1. 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 su bundle
    • Imposta l'intestazione Accept su application/zip
  2. Aggiorna il file della risorsa nel pacchetto di configurazione del proxy API.
  3. Carica il pacchetto di configurazione del proxy API utilizzando l'API Aggiorna revisione proxy API.

Aggiorna le risorse con ambito in un ambiente utilizzando l'API

Aggiorna una risorsa limitata 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 della risorsa come application/octet-stream o multipart/form-data.

L'esempio seguente mostra come aggiornare una risorsa JavaScript passandone i 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 Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate, consulta Impostazione delle variabili di ambiente per le richieste dell'API Apigee.

L'esempio seguente mostra come aggiornare il file della risorsa utilizzando un file della tua macchina locale. È importante utilizzare -F per il caricamento binario in curl affinché i file JavaScript basati sull'ambiente o sull'organizzazione siano accessibili dal criterio 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 le risorse utilizzando l'API

Elimina la risorsa limitata 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 la modalità ibrida, per eliminare una risorsa limitata a un proxy API utilizzando l'API:

  1. 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 su bundle
    • Imposta l'intestazione Accept su application/zip
  2. Elimina il file della risorsa dal pacchetto di configurazione del proxy API.
  3. Carica il pacchetto di configurazione del proxy API utilizzando l'API Aggiorna revisione proxy API.

Eliminare una risorsa limitata a un ambiente utilizzando l'API

Elimina una risorsa limitata a un ambiente utilizzando l'API, come descritto nelle sezioni seguenti.

Per eliminare una risorsa limitata 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

Nell'esempio seguente viene eliminato il file della risorsa 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 Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate, consulta Impostazione delle variabili di ambiente per le richieste dell'API Apigee.

Per ulteriori informazioni, consulta l'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 di riferimento delle norme.

Gli esempi in questa sezione mostrano come creare e gestire una risorsa JavaScript denominata pathSetter.js per consentirne il riferimento da parte di criteri di tipo JavaScript.

Per allegare il codice JavaScript al flusso post della richiesta, crea un criterio chiamato PathSetterPolicy.xml che fa riferimento al file pathSetter.js:

<Javascript name='PathSetterPolicy' timeLimit='200'>
    <ResourceURL>jsc://pathSetter.js</ResourceURL>
</Javascript>

Poi fai riferimento al criterio nella configurazione dell'endpoint:

<PostFlow>
  <Request>
    <Step><Name>PathSetterPolicy</Name></Step>
  </Request>
<PostFlow>

Per ulteriori informazioni, consulta le norme relative a JavaScript.