Questa pagina si applica a Apigee e Apigee ibridi.
Visualizza la documentazione di Apigee Edge.
Un insieme di proprietà è una raccolta personalizzata di coppie chiave/valore in cui vengono archiviati i dati. I proxy API possono recuperare questi dati durante l'esecuzione.
Perché utilizzare gli insiemi di proprietà?
In genere, si utilizzano gli insiemi di proprietà per archiviare i dati non in scadenza che non devono essere hardcoded nella logica del proxy API. Puoi accedere ai dati dei set di proprietà in qualsiasi punto di un proxy in cui possono 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
Allo stesso modo, potresti archiviare informazioni di routing specifiche dell'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 del set di proprietà
Quando crei un insieme di proprietà, puoi specificarne l'ambito in base a una revisione o a un ambiente del proxy API. Non puoi definire l'ambito di una proprietà impostata su 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 all'elemento un particolare 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 quella revisione. |
Ambiente | Le proprietà sono disponibili per tutte le revisioni di tutti i proxy API all'interno di quell'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 impostati per le proprietà
Apigee impone dei limiti agli insiemi di proprietà, come descritto in Limiti. Inoltre, i file degli insiemi di proprietà devono utilizzare lo stesso
come proprietà Java
, con una sola eccezione: non puoi utilizzare parentesi graffe {}
nei file degli insiemi di proprietà.
Creare file di insiemi di proprietà
In genere, i valori degli insiemi di proprietà vengono archiviati come coppie nome/valore in un file. I file del set di proprietà vengono
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 è consentito.
La struttura della specifica di un insieme di proprietà è: property_set_name.property_name.properties
Il nome dell'insieme 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 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 di set di proprietà, devi caricarlo su Apigee utilizzando UI o API.
Gestire gli insiemi di proprietà tramite l'interfaccia utente
Gestisci i set di proprietà con ambito a una revisione del proxy API utilizzando l'interfaccia utente nello stesso modo in cui gestisci altre risorse. Per saperne di più, vedi Gestire le risorse utilizzando l'interfaccia utente.
Gestire gli insiemi 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.
Creare set di proprietà con ambito a una revisione del proxy API utilizzando l'API
Per creare un set di proprietà che abbia come ambito 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 tramite Crea proxy API oppure API di aggiornamento della revisione del proxy API.
Creare set di proprietà con ambito in un ambiente utilizzando l'API
Per aggiungere un insieme di proprietà che abbia come ambito un ambiente utilizzando l'API, crea il file del set di proprietà e poi caricalo in un ambiente della
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 dell'insieme di proprietà - Imposta il parametro di query
type
suproperties
- Trasmetti 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, vedi
Con 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.
Visualizza tutti i set di proprietà con ambito a un ambiente utilizzando l'API
Per visualizzare tutti i set di proprietà con ambito a 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, vedi
Con curl.
Di seguito è riportato un esempio di risposta.
{
"resourceFile": [
{
"name": "MyPropSet",
"type": "properties"
}
]
}
Per ulteriori informazioni, vedi API dei file di risorse dell'ambiente dell'elenco.
Visualizzare i contenuti di un set di proprietà con ambito a un ambiente utilizzando l'API
Per visualizzare i contenuti di un set di proprietà con ambito 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
sia 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
Utilizzare curl.
Di seguito viene fornito un esempio della 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 seguenti sezioni descrivono come aggiornare i set di proprietà nell'ambito di una revisione del proxy API o di un ambiente utilizzando l'API.
Aggiorna set di proprietà con ambito 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 bundle di configurazione del proxy API utilizzando Ottieni l'API di revisione del proxy API, 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 bundle di configurazione del proxy API utilizzando l'API Update API proxy review.
Aggiornare insiemi 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 le seguenti informazioni nella richiesta:
- 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 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
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 Aggiorna l'API file della risorsa.
Eliminare i set di proprietà utilizzando l'API
Le seguenti sezioni descrivono come eliminare insiemi di proprietà con ambito limitato a una revisione o a un ambiente del proxy API utilizzando l'API.
Elimina i set di proprietà con ambito 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.
Elimina i set di proprietà con ambito a un ambiente utilizzando l'API
Per eliminare un set di proprietà con ambito 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 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, vedi
Con 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 del set di proprietà ovunque in un proxy API in cui possono 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 l'interfaccia utente) oppure
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 criterio JavaScript, utilizza il metodo getVariable()
per ottenere una
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 il valore della chiave del set di proprietà a una variabile di flusso in modo dinamico. Per maggiori dettagli, consulta la descrizione di PropertySetRef nel riferimento ai criteri Assegna messaggio.Per gli utenti ibridi di Apigee
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.
- Il sincronizzatore recupera i dati del set di proprietà e li archivia localmente nel runtime aereo.
- Il processore di messaggi carica l'insieme di proprietà scaricato e lo rende disponibile per l'esecuzione degli oggetti proxy.