Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Un insieme di proprietà è una raccolta personalizzata di coppie chiave/valore che memorizzano i dati. I proxy API possono recuperare questi dati durante l'esecuzione.
Perché utilizzare i set di proprietà?
In genere, utilizzi i set di proprietà per archiviare dati non scaduti che non devono essere codificati nell'proxy APIy. Puoi accedere ai dati del set di proprietà in qualsiasi punto di un proxy in cui puoi accedere alle variabili di flusso.
Un caso d'uso comune per i set di proprietà è fornire valori associati a un ambiente o a un altro. Ad esempio, puoi creare un insieme di proprietà con ambito di ambiente con valori di configurazione specifici per i proxy in esecuzione nell'ambiente di test e un altro insieme per l'ambiente di produzione.
Ad esempio:
- Il set di proprietà
prod-env.properties
contiene la proprietàlog-level=error
- Il set di proprietà
test-env.properties
contiene la proprietàlog-level=debug
Allo stesso modo, potresti memorizzare informazioni di routing specifiche per l'ambiente:
- Il set di proprietà
test-env.properties
contiene la proprietàdb-url=mydomain.test.datasource.com
- Il set di proprietà
prod-env.properties
contiene la proprietàdb-url=mydomain.prod.datasource.com
Ambiti dei set di proprietà
Puoi definire l'ambito di un insieme di proprietà per una revisione o un ambiente del proxy API quando crei l'insieme di proprietà. Non puoi limitare l'ambito di un insieme di proprietà a un'organizzazione.
La tabella seguente descrive il comportamento e l'amministrazione dei set di proprietà con ambito proxy API e organizzazione:
Ambito | Comportamento di runtime | Amministrazione |
---|---|---|
proxy API | Le proprietà sono disponibili solo per la revisione del proxy API che contiene la risorsa del set di proprietà. Nessun altro proxy API o revisione dello stesso proxy può accedere a questo insieme di proprietà specifico. | Gli amministratori possono utilizzare l' API Apigee /resourcefiles o la UI per creare e modificare i set di proprietà. Il salvataggio del proxy API nella UI creerà una nuova revisione e il set di proprietà modificato verrà associato solo a quella revisione. |
Ambiente | Le proprietà sono disponibili per tutte le revisioni di tutti i proxy API all'interno di quell'ambiente. I proxy API all'interno di altri ambienti non possono accedere a questo insieme di proprietà. | Gli amministratori devono utilizzare l'API Apigee /resourcefiles per creare, visualizzare, aggiornare o eliminare i set di proprietà con ambito ambiente. Questi set di proprietà non vengono visualizzati e non possono essere modificati nella UI di Apigee. |
Limiti dei set di proprietà
Apigee impone limiti ai set di proprietà, come descritto in Limiti. Inoltre, i file di set di proprietà devono utilizzare la stessa
sintassi dei file di proprietà
Java, con un'eccezione: non puoi utilizzare le parentesi graffe {}
nei file di set di proprietà.
Creare file di set di proprietà
In genere, i valori del set di proprietà vengono memorizzati come coppie nome/valore in un file. I file dei set di proprietà sono
file delle risorse di tipo properties
.
I file di set di proprietà supportano la stessa sintassi dei
file di proprietà Java; ad esempio, possono contenere valori Unicode e utilizzare i caratteri #
o !
come indicatori di commento. Tuttavia, esiste un'eccezione: non puoi utilizzare le parentesi graffe {}
nei file di set di proprietà.
Devi aggiungere il suffisso .properties
a un nome file di proprietà. Ad esempio:
myconfig.my_key.properties
è consentito, ma myconfig.my_key
no.
La struttura di una specifica del set di proprietà è: property_set_name.property_name.properties
Il nome del set di proprietà e il nome della proprietà non possono contenere punti. Ad esempio:
myconfig.my_key.properties
è consentito, ma myconfig.my.key.properties
e
my.config.my_key.properties
non sono consentiti.
L'esempio seguente mostra un semplice file di insieme di proprietà che definisce diverse proprietà:
# myProps.properties file # General properties foo=bar baz=biff # Messages/notes/warnings message=This is a basic message. note_message=This is an important message. error_message=This is an error message. # Keys publickey=abc123 privatekey=splitwithsoundman
Dopo aver creato un file di set di proprietà, caricalo su Apigee utilizzando l'interfaccia utente o l'API.
Gestire i set di proprietà utilizzando l'interfaccia utente
Gestisci i set di proprietà con ambito limitato a una revisione del proxy API utilizzando la UI nello stesso modo in cui gestisci le altre risorse. Per saperne di più, consulta Gestire le risorse utilizzando la UI.
Gestire i set di proprietà utilizzando l'API
Gestisci i set di proprietà con ambito limitato a una revisione o a un ambiente del proxy API utilizzando l'API, come descritto nelle sezioni seguenti.
Creare set di proprietà utilizzando l'API
Le sezioni seguenti descrivono come creare set di proprietà con ambito limitato a una revisione o a un ambiente del proxy API utilizzando l'API.
Crea set di proprietà con ambito limitato a una revisione del proxy API utilizzando l'API
Per creare un insieme di proprietà con ambito limitato a una revisione del proxy API utilizzando l'API:
- Crea il file del set di proprietà.
- Aggiungi il file del set di proprietà a un pacchetto di configurazione del proxy API.
- Carica il bundle utilizzando l'API Create API proxy o Update proxy API revision.
Creare set di proprietà con ambito limitato a un ambiente utilizzando l'API
Per aggiungere un insieme di proprietà con ambito limitato a un ambiente utilizzando l'API, crea il file dell'insieme di proprietà e poi caricalo in un ambiente della tua
organizzazione inviando una richiesta POST
alla seguente risorsa:
https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles
Includi nella richiesta le seguenti informazioni:
- Imposta il parametro di query
name
sul nome del set di proprietà - Imposta il parametro di query
type
suproperties
- Trasferisci i contenuti del file del set di proprietà come
application/octet-stream
omultipart/form-data
Il seguente esempio importa un insieme di proprietà denominato MyPropSet
dal file /Users/myhome/myprops.properties
:
curl -X POST "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles?name=MyPropSet&type=properties"
-H "Authorization: Bearer $TOKEN" \
-H "Content-type: multipart/form-data" \
-F file=@/Users/myhome/myprops.properties
$TOKEN
è impostato sul 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.
Di seguito è riportato un esempio di risposta.
{
"name": "MyPropSet",
"type": "properties"
}
Per saperne di più, consulta API Create resource file.
Visualizzare i set di proprietà utilizzando l'API
Le sezioni seguenti descrivono come visualizzare i set di proprietà con ambito limitato a un ambiente utilizzando l'API.
Visualizzare tutti i set di proprietà con ambito limitato a un ambiente utilizzando l'API
Per visualizzare tutti i set di proprietà con ambito impostato su un ambiente utilizzando l'API, invia una richiesta GET
alla seguente risorsa:
https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/properties
L'esempio seguente elenca tutti i set di proprietà nell'ambiente di test:
curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties" \
-H "Authorization: Bearer $TOKEN"
$TOKEN
è impostato sul 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.
Di seguito è riportato un esempio di risposta.
{
"resourceFile": [
{
"name": "MyPropSet",
"type": "properties"
}
]
}
Per ulteriori informazioni, consulta API List environment resource files.
Visualizzare i contenuti di un insieme di proprietà limitato a un ambiente utilizzando l'API
Per visualizzare i contenuti di un insieme di proprietà limitato a un ambiente utilizzando l'API, invia una richiesta GET
alla seguente risorsa:
https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/properties/name
L'esempio seguente mostra i contenuti della proprietà MyPropSet
impostata nell'ambiente di test:
curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet" \
-H "Authorization: Bearer $TOKEN"
$TOKEN
è impostato sul 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.
Di seguito è riportato un esempio di risposta.
# myProps.properties file
# General properties
foo=bar
baz=biff
# Messages/notes/warnings
message=This is a basic message.
note_message=This is an important message.
error_message=This is an error message.
# Keys
publickey=abc123
privatekey=splitwithsoundman
Per ulteriori informazioni, consulta API List environment resource files.
Aggiornare i set di proprietà utilizzando l'API
Le seguenti sezioni descrivono come aggiornare i set di proprietà con ambito limitato a una revisione o a un ambiente del proxy API utilizzando l'API.
Aggiorna i set di proprietà con ambito limitato a una revisione del proxy API utilizzando l'API
Per aggiornare un insieme di proprietà con ambito limitato a una revisione del proxy API utilizzando l'API:
- Aggiorna il file del set di proprietà.
- 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
- Aggiungi il file del set di proprietà al pacchetto di configurazione del proxy API.
- Carica il pacchetto di configurazione del proxy API utilizzando l'API Aggiorna revisione proxy API.
Aggiorna i set di proprietà con ambito limitato a un ambiente utilizzando l'API
Per aggiornare un insieme di proprietà con ambito impostato su un ambiente utilizzando l'API, aggiorna il file dell'insieme di proprietà e poi caricalo in un ambiente della tua organizzazione inviando una richiesta PUT
alla seguente risorsa:
https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}
Includi nella richiesta le seguenti informazioni:
- Imposta {type} su
properties
- Imposta {name} sul nome del set di proprietà che vuoi aggiornare.
- Trasferisci i contenuti del file del set di proprietà come
application/octet-stream
omultipart/form-data
L'esempio seguente aggiorna il set di proprietà MyPropSet
utilizzando i contenuti del file /Users/myhome/myprops-revised.properties
:
curl -X PUT "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet"
-H "Authorization: Bearer $TOKEN" \
-H "Content-type: multipart/form-data" \
-F file=@/Users/myhome/myprops-revised.properties
$TOKEN
è impostato sul 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.
Di seguito è riportato un esempio di risposta.
{
"name": "MyPropSet",
"type": "properties"
}
Per saperne di più, consulta API per l'aggiornamento del file di risorse.
Eliminare i set di proprietà utilizzando l'API
Le seguenti sezioni descrivono come eliminare i set di proprietà con ambito limitato a una revisione o a un ambiente del proxy API utilizzando l'API.
Eliminare i set di proprietà con ambito limitato a una revisione del proxy API utilizzando l'API
Per eliminare un insieme di proprietà 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
- Elimina il file del set di proprietà dal pacchetto di configurazione del proxy API.
- Carica il pacchetto di configurazione del proxy API utilizzando l'API Aggiorna revisione proxy API.
Eliminare i set di proprietà con ambito limitato a un ambiente utilizzando l'API
Per eliminare un insieme di proprietà 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}
Includi le seguenti informazioni nella tua richiesta:
- Imposta {type} su
properties
- Imposta {name} sul nome del set di proprietà che vuoi eliminare.
L'esempio seguente elimina il set di proprietà MyPropSet
:
curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet \ -H "Authorization: Bearer $TOKEN"
$TOKEN
è impostato sul 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.
Di seguito è riportato un esempio di risposta.
{
"name": "MyPropSet",
"type": "properties"
}
Per saperne di più, consulta API Delete resource file.
Accedere ai valori del set di proprietà
Accedi ai valori del set di proprietà in qualsiasi punto di un proxy API in cui puoi accedere alle variabili di flusso: in criteri, flussi, codice JavaScript e così via.
Per accedere ai valori in un insieme di proprietà, utilizza la seguente sintassi:
propertyset.[property_set_name].[property_name]
Dove:
- property_set_name è il nome file che hai definito (se hai utilizzato la UI) o il
valore del parametro di query
name
(se hai utilizzato l'API). - property_name è il nome della proprietà. Ad esempio, se il tuo insieme di proprietà
contiene
foo=bar
,foo
è il nome della proprietà ebar
è il valore.
Ad esempio, in una policy JavaScript, utilizza il metodo getVariable()
per ottenere un valore da un insieme di proprietà:
context.getVariable('propertyset.property_set_name.property_name);
L'esempio seguente recupera il valore della proprietà foo
nel set di proprietà
denominato "MyPropSet":
context.getVariable('propertyset.MyPropSet.foo);
Puoi anche utilizzare il criterio ExtractVariables per ottenere il valore di una proprietà da un insieme di proprietà e assegnarlo a un'altra variabile, come mostrato nell'esempio seguente:
<ExtractVariables name="ExtractVariables-1"> <DisplayName>Extract a portion of the url path</DisplayName> <Source>request</Source> <Variable name="propertyset.MyPropSet.foo"> <Pattern>{myVar}</Pattern> </Variable> <VariablePrefix>foobar</VariablePrefix> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ExtractVariables>
In questo esempio, il criterio legge la variabile dall'attributo name
e
assegna il valore alla variabile nell'elemento Pattern
.
Assegna dinamicamente il valore di una chiave del set di proprietà utilizzando il criterio Assegna messaggio
Puoi utilizzare il criterio Assegna messaggio per assegnare dinamicamente il valore della chiave del set di proprietà a una variabile di flusso. Per maggiori dettagli, consulta la descrizione di PropertySetRef nel riferimento al criterio Assegna messaggio.Per gli utenti di Apigee hybrid
Se utilizzi Apigee hybrid, tieni presente quanto segue:
- Il piano di gestione ibrido convalida il set di proprietà; se è valido, le proprietà vengono archiviate nel piano di gestione.
- Synchronizer recupera i dati del set di proprietà e li archivia localmente nel piano di runtime.
- Il processore di messaggi carica il set di proprietà scaricato e lo rende disponibile per l'esecuzione dei proxy.