Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.
Un set di proprietà è una raccolta personalizzata di coppie chiave/valore che memorizza 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 nella logica del proxy API. Puoi accedere ai dati degli insiemi 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à basato sull'ambiente con valori di configurazione specifici per i proxy in esecuzione nell'ambiente di test e un altro per l'ambiente di produzione.
Ad esempio:
- L'insieme di proprietà
prod-env.properties
contiene la proprietàlog-level=error
- L'insieme di proprietà
test-env.properties
contiene la proprietàlog-level=debug
Analogamente, potresti memorizzare informazioni di routing specifiche per l'ambiente:
- L'insieme di proprietà
test-env.properties
contiene la proprietàdb-url=mydomain.test.datasource.com
- L'insieme di proprietà
prod-env.properties
contiene la proprietàdb-url=mydomain.prod.datasource.com
Ambiti dei set di proprietà
Quando crei un insieme di proprietà, puoi limitarne l'ambito a una revisione o a un ambiente proxy API. Non puoi definire l'ambito di un insieme di proprietà per un'organizzazione.
La tabella seguente spiega il comportamento e l'amministrazione degli insiemi di proprietà con proxy API e ambito dell'organizzazione:
Ambito | Comportamento di runtime | Amministrazione |
---|---|---|
proxy API | Le proprietà sono disponibili solo per la revisione del proxy API che contiene la risorsa set di proprietà. Nessun altro proxy API o revisione dello stesso proxy può accedere a quel determinato insieme di proprietà. | Gli amministratori possono utilizzare l'API Apigee /resourcefiles o l'interfaccia utente per creare e modificare i set di proprietà. Il salvataggio del proxy API nell'interfaccia utente creerà una nuova revisione e il set di proprietà modificato verrà associato solo a questa revisione. |
Ambiente | Le proprietà sono disponibili per tutte le revisioni di tutti i proxy API all'interno dell'ambiente. I proxy API in altri ambienti non possono accedere a questo insieme di proprietà. | Gli amministratori devono utilizzare l'API Apigee /resourcefiles per creare, visualizzare, aggiornare o eliminare insiemi di proprietà basati sull'ambiente. Questi set di proprietà non vengono visualizzati e non possono essere modificati nell'interfaccia utente 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 degli insiemi di proprietà vengono archiviati come coppie nome/valore in un file. I file dei set di proprietà sono
file di 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 commenti. Tieni presente questa eccezione: non puoi utilizzare le parentesi graffe {}
nei file dei set di proprietà.
Devi aggiungere il suffisso .properties
al nome di un file della proprietà. Ad esempio:
myconfig.my_key.properties
è consentito, ma myconfig.my_key
non lo è.
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 del set 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 del set di proprietà, caricalo in 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 l'interfaccia utente nello stesso modo in cui gestisci altre risorse. Per ulteriori informazioni, consulta Gestire le risorse utilizzando l'interfaccia utente.
Gestire i set di proprietà utilizzando l'API
Gestisci gli insiemi di proprietà con ambito in una revisione o in 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 insiemi di proprietà con ambito limitato a una revisione o a un ambiente 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 Crea proxy API o Aggiorna revisione proxy API.
Creare set di proprietà con ambito in un ambiente utilizzando l'API
Per aggiungere un insieme di proprietà limitato a un ambiente utilizzando l'API, crea il file dell'insieme di proprietà e 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
- Passa i contenuti del file del set di proprietà come
application/octet-stream
omultipart/form-data
L'esempio seguente 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
sia 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.
Di seguito è riportato un esempio di risposta.
{
"name": "MyPropSet",
"type": "properties"
}
Per ulteriori informazioni, consulta l'API Create resource file.
Visualizzare i set di proprietà utilizzando l'API
Le sezioni seguenti descrivono come visualizzare insiemi di proprietà con ambito in un ambiente utilizzando l'API.
Visualizzare tutti gli insiemi di proprietà con ambito in un ambiente utilizzando l'API
Per visualizzare tutti gli insiemi di proprietà con ambito in 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
sia 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.
Di seguito è riportato un esempio di risposta.
{
"resourceFile": [
{
"name": "MyPropSet",
"type": "properties"
}
]
}
Per ulteriori informazioni, consulta l'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à con ambito in 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
sia 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.
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 l'API List environment resource files.
Aggiornare gli insiemi di proprietà utilizzando l'API
Le sezioni seguenti descrivono come aggiornare gli insiemi di proprietà con ambito in una revisione o in un ambiente del proxy API utilizzando l'API.
Aggiorna i set di proprietà con ambito in 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 in un ambiente utilizzando l'API
Per aggiornare un insieme di proprietà che ha come ambito un ambiente utilizzando l'API, aggiorna il file dell'insieme di proprietà e 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 dell'insieme di proprietà da aggiornare
- Passa i contenuti del file del set di proprietà come
application/octet-stream
omultipart/form-data
L'esempio seguente aggiorna l'insieme 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
sia 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.
Di seguito è riportato un esempio di risposta.
{
"name": "MyPropSet",
"type": "properties"
}
Per ulteriori informazioni, consulta API Update resource file.
Eliminare insiemi di proprietà utilizzando l'API
Le seguenti sezioni descrivono come eliminare insiemi di proprietà con ambito limitato a una revisione o a un ambiente proxy API utilizzando l'API.
Eliminare insiemi 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 insiemi di proprietà con ambito in un ambiente utilizzando l'API
Per eliminare un insieme di proprietà 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}
Specifica le seguenti informazioni nella 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
sia 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.
Di seguito è riportato un esempio di risposta.
{
"name": "MyPropSet",
"type": "properties"
}
Per ulteriori informazioni, consulta l'API Delete resource file.
Accedere ai valori degli insiemi di proprietà
Accedi ai valori degli insiemi di proprietà ovunque in 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 del file che hai definito (se hai utilizzato l'interfaccia utente) o il valore del parametro di query
name
(se hai utilizzato l'API). - property_name è il nome della proprietà. Ad esempio, se il set di proprietà contiene
foo=bar
,foo
è il nome della proprietà ebar
è il valore.
Ad esempio, in un regolamento JavaScript, utilizza il metodo getVariable()
per recuperare 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à
chiamato "MyPropSet":
context.getVariable('propertyset.MyPropSet.foo);
Puoi anche utilizzare il regolamento 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 dell'insieme di proprietà utilizzando il criterio Assegna messaggio
Puoi utilizzare il criterio Assegna messaggio per assegnare dinamicamente il valore della chiave dell'insieme di proprietà a una variabile di flusso. Per maggiori dettagli, consulta la descrizione di PropertySetRef nel riferimento ai criteri Assegna messaggio.Per gli utenti di Apigee hybrid
Se utilizzi Apigee hybrid, tieni presente quanto segue:
- Il piano di gestione ibrido convalida l'insieme di proprietà. Se sono valide, le proprietà vengono memorizzate nel piano di gestione.
- Lo strumento di sincronizzazione recupera i dati degli insiemi di proprietà e li archivia localmente nel piano di runtime.
- Il processore di messaggi carica l'insieme di proprietà scaricato e lo rende disponibile per l'esecuzione degli oggetti proxy.