Questa pagina si applica a Apigee e Apigee ibridi.
Panoramica
Un attributo è un po' come i metadati di una risorsa. Ad esempio, nel caso di un'API
risorsa, l'API può avere un attributo chiamato Target Users
che specifica se l'API
è destinata al consumo pubblico, privato o interno.
Gli attributi ti sono utili per:
- Puoi filtrare i risultati di ricerca delle risorse in base agli attributi. Pertanto, avere Altri attributi ti consentiranno di restringere facilmente i risultati di ricerca.
- Puoi associare dati personalizzati alle risorse dell'hub API.
L'hub API archivia un attributo nel formato chiave-valore; dove la chiave è il nome dell'attributo e la è il valore corrispondente dell'attributo. E il valore può essere in uno qualsiasi dei seguenti formati:
- Stringa
- Enum
- JSON
Gli attributi possono essere di due tipi:
- Attributi di sistema predefiniti dall'hub API.
- Attributi utente che hai definito da te.
Attributi di sistema
Gli attributi di sistema sono predefiniti dall'hub API per ogni tipo di risorsa. L'elenco di questi attributi, e le relative definizioni dei valori possono cambiare dalla release alla release dell'hub API. Esempi di sistema sono: fase del ciclo di vita, conformità API, accreditamento API, SLO e così via. Questi possono essere obbligatori o facoltativi per una risorsa. Se un attributo è obbligatorio per una risorsa, devi impostare il valore dell'attributo quando registri la risorsa.
I valori degli attributi di sistema del tipo Enum
possono essere immutabili
o modificabile.
- Immutabile : non puoi apportare modifiche al
i valori esistenti. Tuttavia, puoi aggiungere nuovi valori modificabili
all'attributo. Ad esempio,
oas-version
avrà i valori 2.1, 3.0 e 3.1. Non puoi aggiornarle ma puoi aggiungerne di nuovi. - Mutabile : puoi aggiungere, modificare o eliminare il
e i relativi valori. Ad esempio, l'attributo
lifecycle-stage
può avere inizialmente valori qualiDev
,Stage
,UAT
oProd
. Puoi modificare i valori esistenti e aggiungere nuovi valori.
Visualizza attributi di sistema
Console
Per visualizzare tutti gli attributi di sistema, nella console Google Cloud vai all'hub API > Impostazioni. Puoi visualizza tutti gli attributi di sistema esistenti nella scheda Attributi di sistema.
API REST
Per visualizzare tutti gli attributi di sistema di una risorsa, invia una richiesta GET
alla seguente API:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes
Per maggiori informazioni sull'API, consulta ListAttributes.
L'esempio seguente mostra la chiamata API per ottenere il sistema attributi per tutte le risorse.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-type: application/json" \ -X GET \ https://apihub.googleapis.com/v1/projects/test-project-1/locations/us-central1/attributes?filter=definition_type=SYSTEM_DEFINED
Modifica un attributo di sistema di tipo Enum
Per un valore modificabile, puoi eseguire le seguenti operazioni:
- Aggiungi un nuovo valore
- Aggiorna un valore esistente
- Eliminare un valore dell'attributo esistente
Gli esempi in questa sezione mostrano come aggiornare i valori consentiti di un attributo di sistema di tipo enum.
Console
Per aggiungere un valore per un attributo di sistema:
Nella console Google Cloud, vai all'hub API > Impostazioni.
Verranno visualizzati tutti gli attributi di sistema esistenti nella sezione Attributi di sistema della scheda Attributi.
- Fai clic su Modifica per l'attributo a cui vuoi aggiungere un valore.
Viene visualizzato il riquadro di modifica dell'attributo in cui sono visualizzati i valori degli attributi esistenti.
- Per aggiungere un nuovo valore, fai clic su Aggiungi valore e poi inserisci il nuovo valore da aggiungere.
- Fai clic su Salva.
API REST
Per aggiornare i valori consentiti di un attributo definito dal sistema del tipo di dati Enum, invia una richiesta PATCH all'API seguente:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes/ATTRIBUTE
Per ulteriori informazioni sull'API, consulta UpdateAttribute.
L'esempio seguente mostra la chiamata API per aggiornare i valori dell'attributo Business unit
.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"allowed_values": [ { "id": "bu1", "display_name": "Business unit 1", "description": "The API can be used by business unit 1" }, { "id": "bu2", "display_name": "Business unit 2", "description": "The API can be used by business unit 2" }, { "id": "bu3", "display_name": "Business unit 3", "description": "The API can be used by business unit 3" }]}' \ -X PATCH https://apihub.googleapis.com/v1/projects/test-15/locations/us-central1/attributes/system-business-unit?update_mask=allowed_values
È importante capire in che modo l'hub API interpreta il payload delle richieste per l'API UpdateAttribute.
- Se il valore specificato nel payload è già presente, l'hub API controlla se il valore è aggiornato nel payload, e poi sovrascrive il valore se viene aggiornato.
- Se il valore non è disponibile nel payload, l'hub API interpreta questo valore che dovrebbe essere eliminato ed elimina il valore dall'hub API.
- Se nel payload è disponibile un nuovo valore, l'hub API aggiunge il nuovo valore all'attributo.
Attributi utente
Sei tu a definire gli attributi utente in base alle tue esigenze.
Visualizza attributi utente
Console
Per visualizzare tutti gli attributi utente, nella console Google Cloud vai all'hub API > Impostazioni. Puoi visualizza tutti gli attributi utente nella sezione Attributi utente della scheda Attributi.
API REST
Per visualizzare tutti gli attributi utente di un problema relativo a una risorsa, invia una richiesta GET
alla seguente API:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes
Per maggiori informazioni sull'API, consulta ListAttributes.
L'esempio seguente mostra la chiamata API per portare l'utente per la risorsa API.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-type: application/json" \ -X GET \ https://apihub.googleapis.com/v1/projects/test-project-1/locations/us-central1/attributes?filter=definition_type=USER_DEFINED
Aggiungere un nuovo attributo utente
Console
Per aggiungere un nuovo attributo utente:
Nella console Google Cloud, vai all'hub API > Impostazioni.
In questo modo vengono visualizzati tutti gli attributi utente nella sezione Attributi utente della scheda Attributi.
- Fai clic su Aggiungi attributo.
Viene visualizzato il riquadro Aggiungi un nuovo attributo.
- Inserisci i seguenti dettagli:
- ID : inserisci un identificatore univoco per l'attributo.
- Se lasci il campo vuoto, l'hub API genera automaticamente un ID univoco.
- Se vuoi inserire manualmente un valore, assicurati che sia univoco in tutti gli attributi.
- Nome : inserisci un nome per l'attributo.
- Descrizione : se vuoi, inserisci una descrizione dell'attributo.
- Cartinalità: inserisci un numero compreso tra 1 e 20. La cardinalità specifica numero massimo di valori che l'attributo può avere.
- Tipo di risorsa : seleziona un tipo di risorsa.
- ID : inserisci un identificatore univoco per l'attributo.
- Per aggiungere un nuovo valore, fai clic su Aggiungi valore e poi inserisci il nuovo valore da aggiungere.
- Fai clic su Salva.
API REST
Per aggiungere un nuovo attributo utente, invia una richiesta POST
all'API seguente:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes?attribute_id=NEW_ATTRIBUTE_NAME
Per maggiori informazioni sull'API, vedi CreateAttribute.
L'esempio seguente mostra la chiamata API per creare l'attributo utente attribute-01
.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "display_name" : "custom attribute", "description" : "custom attribute details", "definition_type" : "USER_DEFINED", "scope" : "API", "data_type" : "ENUM", "allowed_values" : [ { "id" : "value-1", "display_name" : "Value 1", "description" : "Value 1 test description", "immutable" : false, }, { "id" : "value-2", "display_name" : "Value 2", "description" : "Value 2 test description", "immutable" : false, }, ], "cardinality" : 4, "mandatory" : false }' \ -X POST https://apihub.googleapis.com/v1/projects/test-15/locations/us-central1/attributes?attribute_id=attribute-01
Modificare un attributo utente
Su un attributo utente puoi apportare le seguenti modifiche:
- Aggiorna il nome dell'attributo
- Aggiungi nuovo valore attributo
- Eliminare un valore dell'attributo esistente
Console
Per modificare un attributo utente:
Nella console Google Cloud, vai all'hub API > Impostazioni.
In questo modo vengono visualizzati tutti gli attributi utente esistenti nella sezione Attributi utente della scheda Attributi.
- Fai clic su Modifica per l'attributo che vuoi modificare.
Viene visualizzato il riquadro di modifica dell'attributo in cui sono visualizzati i valori degli attributi esistenti.
-
- Per aggiornare il nome dell'attributo, inserisci il nuovo nome nel campo Nome.
- Per aggiungere un nuovo valore, fai clic su Aggiungi valore e poi inserisci il nuovo valore da aggiungere.
- Per eliminare un valore esistente, fai clic su Elimina in corrispondenza del valore che vuoi eliminare.
- Fai clic su Salva.
API REST
Per modificare un attributo utente, invia una richiesta PATCH
all'API seguente:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes/ATTRIBUTE
Per ulteriori informazioni sull'API, consulta UpdateAttribute.
L'esempio seguente mostra l'aggiornamento della chiamata API dell'attributo utente API Visibility
.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"name": "projects/test-15/locations/us-central1/attributes/API Visibility", display_name" : "API Visibility Updated", "allowedValues": [ { "id": "internal", "displayName": "Internal", "description": "The API is visible internally in an organization" }, { "id": "external", "displayName": "External", "description": "The API is visible externally in an organization" }, { "id": "public", "displayName": "Public", "description": "The API is visible public in an organization" } ]}' \ -X PATCH https://autopush-apihub.sandbox.googleapis.com/v1/projects/common-dev-15/locations/us-central1/attributes/API Visibility?update_mask=display_name,allowed_values
È importante capire in che modo l'hub API interpreta il payload delle richieste per l'API UpdateAttribute.
- Se il valore specificato nel payload è già presente, l'hub API controlla se il valore è stato aggiornato nel payload. e poi sovrascrive il valore se viene aggiornato.
- Se il valore non è disponibile nel payload, l'hub API interpreta questo valore che dovrebbe essere eliminato ed elimina il valore dall'hub API.
- Se nel payload è disponibile un nuovo valore, l'hub API aggiunge il nuovo valore all'attributo.