Gestisci attributi

Questa pagina si applica ad Apigee e Apigee hybrid.

Panoramica

Un attributo può essere considerato come un metadati di una risorsa. Ad esempio, nel caso di una risorsa API, l'API può avere un attributo denominato Target Users che specifica se è destinata all'utilizzo pubblico, privato o interno.

Gli attributi sono utili nei seguenti modi:

  • Puoi filtrare i risultati di ricerca delle risorse in base agli attributi. Di conseguenza, la presenza di più attributi ti consentirà di restringere più facilmente i risultati di ricerca.
  • Puoi associare dati personalizzati alle risorse hub API.

L'hub API archivia un attributo nel formato chiave-valore, dove la chiave è il nome dell'attributo e il valore è il valore corrispondente dell'attributo. Inoltre, il valore può essere in uno dei seguenti formati:

  • String
  • Enum
  • JSON

Gli attributi possono essere dei seguenti due tipi:

  • Attributi di sistema, che sono predefiniti dall'hub API.
  • Attributi utente, che sono definiti 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 da una release all'altra dell'hub API. Esempi di attributi di sistema sono la fase del ciclo di vita, la conformità delle API, l'accreditamento delle API, lo SLO e così via. Questi attributi 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 di tipo Enum possono essere immutabili o modificabili.

  • Immutabile : non puoi apportare modifiche ai valori esistenti. Tuttavia, puoi aggiungere nuovi valori modificabili all'attributo. Ad esempio, l'attributo oas-version avrà i valori 2.1, 3.0 e 3.1. Non puoi aggiornare questi valori, ma puoi aggiungere nuovi valori personalizzati.
  • Modificabile : puoi aggiungere, modificare o eliminare i valori esistenti. Ad esempio, l'attributo lifecycle-stage può avere inizialmente valori come Dev, Stage, UAT o Prod. Puoi modificare questi valori esistenti e aggiungerne di nuovi.

Visualizza attributi di sistema

Console

Per visualizzare tutti gli attributi di sistema, nella console Google Cloud, vai alla pagina Hub API > Impostazioni. Puoi visualizzare 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 ulteriori informazioni sull'API, consulta ListAttributes.

L'esempio seguente mostra la chiamata API per ottenere gli attributi di sistema 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 mutabile puoi eseguire le seguenti operazioni:

  • Aggiungi un nuovo valore
  • Aggiorna un valore esistente
  • Eliminare un valore di 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:

  1. Nella console Google Cloud, vai alla pagina Hub API > Impostazioni.

    Vengono visualizzati tutti gli attributi di sistema esistenti nella sezione Attributi di sistema della scheda Attributi.

  2. Fai clic su Modifica per l'attributo a cui vuoi aggiungere un valore.

    Si apre il riquadro di modifica dell'attributo, in cui sono visualizzati i valori esistenti degli attributi.

  3. Per aggiungere un nuovo valore, fai clic su Aggiungi valore e inserisci il nuovo valore da aggiungere.
  4. Fai clic su Salva.

API REST

Per aggiornare i valori consentiti di un attributo del tipo di dati Enum definito dal sistema, invia una richiesta PATCH alla seguente API:

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 della richiesta per l'API UpdateAttribute.

  • Se il valore specificato nel payload è già presente, l'hub API controlla se il valore è stato aggiornato nel payload e, se aggiornato, sovrascrive il valore.
  • Se il valore non è disponibile nel payload, l'hub API interpreta questo valore che deve 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

Gli attributi utente vengono definiti da te in base ai tuoi requisiti.

Visualizza attributi utente

Console

Per visualizzare tutti gli attributi utente, nella console Google Cloud, vai alla pagina Hub API > Impostazioni. Puoi visualizzare tutti gli attributi utente nella sezione Attributi utente della scheda Attributi.

API REST

Per visualizzare tutti gli attributi utente di una risorsa, invia una richiesta GET alla seguente API:

https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes

Per ulteriori informazioni sull'API, consulta ListAttributes.

L'esempio seguente mostra la chiamata API per ottenere gli attributi 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:

  1. Nella console Google Cloud, vai alla pagina Hub API > Impostazioni.

    Vengono visualizzati tutti gli attributi utente nella sezione Attributi utente della scheda Attributi.

  2. Fai clic su Aggiungi attributo.

    Viene visualizzato il riquadro Aggiungi un nuovo attributo.

  3. Inserisci i seguenti dettagli:
    • ID : inserisci un identificatore univoco per l'attributo.
      • Se lasci vuoto il campo, 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 il numero massimo di valori che l'attributo può avere.
    • Tipo di risorsa : seleziona un tipo di risorsa.
  4. Per aggiungere un nuovo valore, fai clic su Aggiungi valore e inserisci il nuovo valore da aggiungere.
  5. Fai clic su Salva.

API REST

Per aggiungere un nuovo attributo utente, invia una richiesta POST alla seguente API:

https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes?attribute_id=NEW_ATTRIBUTE_NAME

Per ulteriori informazioni sull'API, consulta 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

Puoi apportare le seguenti modifiche a un attributo utente:

  • Aggiorna il nome dell'attributo
  • Aggiungi nuovo valore dell'attributo
  • Eliminare un valore di attributo esistente

Console

Per modificare un attributo utente, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Hub API > Impostazioni.

    Vengono visualizzati tutti gli attributi utente esistenti nella sezione Attributi utente della scheda Attributi.

  2. Fai clic su Modifica per l'attributo da modificare.

    Si apre il riquadro di modifica dell'attributo, in cui sono visualizzati i valori esistenti degli attributi.

    • Per aggiornare il nome dell'attributo, inserisci il nuovo nome nel campo Nome.
    • Per aggiungere un nuovo valore, fai clic su Aggiungi valore e inserisci il nuovo valore da aggiungere.
    • Per eliminare un valore esistente, fai clic su Elimina in corrispondenza del valore che vuoi eliminare.
  3. Fai clic su Salva.

API REST

Per modificare un attributo utente, invia una richiesta PATCH alla seguente API:

https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes/ATTRIBUTE

Per ulteriori informazioni sull'API, consulta UpdateAttribute.

L'esempio seguente mostra che la chiamata API aggiorna l'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 della richiesta per l'API UpdateAttribute.

  • Se il valore specificato nel payload è già presente, l'hub API controlla se il valore è stato aggiornato nel payload, quindi sovrascrive il valore se viene aggiornato.
  • Se il valore non è disponibile nel payload, l'hub API interpreta questo valore che deve 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.