Creare un bus per instradare i messaggi

Un bus Eventarc Advanced consente di centralizzare, monitorare e tracciare il flusso di messaggi all'interno del sistema e funge da router. Riceve eventi da un'origine messaggio o pubblicati da un provider e li valuta in base a una registrazione. Una registrazione identifica un abbonamento a un determinato bus e definisce i criteri di corrispondenza per i messaggi, in modo che vengano instradati di conseguenza. Per ulteriori informazioni, consulta Creare una registrazione per ricevere eventi.

Un bus può essere utilizzato dai provider di eventi e dalle destinazioni nel tuo progetto o in altri progetti. Per scoprire di più, consulta la pagina Layout dei progetti.

Ruoli obbligatori

Un ruolo Identity and Access Management (IAM) contiene un insieme di autorizzazioni che ti consente di eseguire azioni specifiche sulle risorse. Google Cloud I seguenti ruoli e le seguenti autorizzazioni sono obbligatori quando crei un bus per instradare i messaggi:

  • Per ottenere l'autorizzazione necessaria per creare un bus, chiedi all'amministratore di concederti il ruolo IAM Amministratore Eventarc (roles/eventarc.admin) o Amministratore Eventarc Message Bus (roles/eventarc.messageBusAdmin) nel progetto del bus. Questi ruoli predefiniti contengono l'autorizzazione eventarc.messageBuses.create, obbligatoria per creare un bus.
  • Per ottenere l'autorizzazione necessaria per utilizzare un bus, chiedi all'amministratore di concederti il ruolo IAM Utente Eventarc Message Bus (roles/eventarc.messageBusUser) nel progetto del bus. Questo ruolo predefinito contiene l'autorizzazione eventarc.buses.use, obbligatoria per utilizzare un bus.
  • Per creare una pipeline e una registrazione, sono necessarie autorizzazioni aggiuntive. Per ulteriori informazioni, consulta i ruoli richiesti per la creazione di una registrazione.

Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso. Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Crea un bus

Puoi creare un bus nei seguenti modi:

  • Nella console Google Cloud
  • Utilizzando Google Cloud CLI nel terminale o in Cloud Shell
  • Inviando una richiesta all'API Eventarc

Console

  1. Nella console Google Cloud, vai alla pagina Eventarc > Bus.

    Vai a Bus

  2. Fai clic su Crea bus.

  3. Nella pagina Crea un bus, segui questi passaggi:

    1. Inserisci un nome del bus. Questo è l'ID del tuo autobus.
    2. (Facoltativo) Inserisci un nome visualizzato del bus che viene visualizzato nella pagina Dettagli del bus.
    3. Nell'elenco Regione, seleziona una regione supportata in cui eseguire il deployment del bus.
    4. Nell'elenco Gravità del log, seleziona la gravità minima per gli eventi descritti nelle voci di log. Il valore predefinito è Nessuno. Per ulteriori informazioni, consulta LogSeverity.
    5. Per Crittografia, accetta il valore predefinito Google-managed encryption key o seleziona Chiave Cloud KMS. Per saperne di più, consulta Utilizzare le chiavi di crittografia gestite dal cliente (CMEK).
    6. Se selezioni Chiave Cloud KMS, segui questi passaggi:

      1. Nell'elenco Tipo di chiave, seleziona un metodo per gestire le chiavi.

        Puoi gestire le tue chiavi manualmente o utilizzare Autokey, che ti consente di generare chiavi e chiavi automatizzate on demand. Se l'opzione Cloud KMS con Autokey è disabilitata, significa che non è ancora integrata nel tipo di risorsa attuale.

      2. In Seleziona una chiave Cloud KMS, seleziona una chiave.

        Tieni presente che devi selezionare una regione prima di poter visualizzare le chiavi gestite dal cliente.

      3. (Facoltativo) Per inserire manualmente il nome della risorsa della chiave, nell'elenco Seleziona una chiave gestita dal cliente, fai clic su Inserisci chiave manualmente e inserisci il nome della chiave nel formato specificato.

      4. Se richiesto, concedi il ruolo cloudkms.cryptoKeyEncrypterDecrypter all'agente di servizio Eventarc.

    7. (Facoltativo) Per aggiungere una sorgente del messaggio, fai clic su Aggiungi sorgente.

      1. Nel riquadro Aggiungi origine messaggio, per il fornitore di messaggi dell'API Google, accetta il valore predefinito google-api-source o inserisci un nome di origine diverso.
      2. Fai clic su Crea.

        In questo modo viene attivata la raccolta automatica degli eventi provenienti direttamente dalle origini Google.

        Tieni presente che vengono pubblicati solo gli eventi delle risorse nello stesso Google Cloud progetto del bus. Per ulteriori informazioni, consulta Pubblicare eventi dalle origini Google.

    8. (Facoltativo) Per aggiungere etichette, fai clic su Aggiungi etichetta. Le etichette sono coppie chiave/valore che ti aiutano a organizzare le tue Google Cloud risorse. Per saperne di più, vedi Che cosa sono le etichette?

  4. Fai clic su Crea.

gcloud

  1. Apri un terminale.

  2. Crea un bus utilizzando il comando gcloud beta eventarc message-buses create.

    gcloud beta eventarc message-buses create BUS_NAME \
        --location=REGION
    

    Sostituisci quanto segue:

    • BUS_NAME: l'ID o l'identificatore completo del bus
    • REGION: un'area supportata per il bus

      In alternativa, puoi impostare la proprietà della posizione di Google Cloud CLI:

      gcloud config set eventarc/location REGION
      

    (Facoltativo) Puoi anche utilizzare i seguenti flag:

    • --async per uscire immediatamente dal comando, senza attendere il completamento dell'operazione in corso.
    • --crypto-key per specificare il nome completo di una chiave di crittografia gestita dal cliente. Se non specificato, Google-owned and managed keys vengono utilizzati.
    • --logging-config per configurare la gravità minima per gli eventi descritti nelle voci del log. Deve essere uno dei seguenti: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Il valore predefinito è NONE. Per ulteriori informazioni, consulta LogSeverity.

API REST

Per creare un bus, utilizza il metodo projects.locations.messageBuses.create.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • BUS_NAME: il nome visualizzato del tuo bus, ad esempio my_bus.
  • LABEL_KEY e LABEL_VALUE: facoltativi. Una mappa di coppie chiave-valore delle etichette che ti aiutano a organizzare le tue Google Cloud risorse. Per ulteriori informazioni, consulta Che cosa sono le etichette?
  • ANNOTATION_KEY e ANNOTATION_VALUE: facoltativi. Una mappa di coppie chiave-valore di annotazioni di testo in formato libero. Puoi utilizzarli per associare informazioni arbitrarie alla risorsa. Per ulteriori informazioni, consulta la sezione Annotazioni.
  • ENCRYPT_KEY: facoltativo. Una chiave Cloud KMS che il bus deve utilizzare per la crittografia dei dati nel formato projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Per saperne di più, vedi Utilizzare le chiavi di crittografia gestite dal cliente.
  • PROJECT_ID: il tuo Google Cloud ID progetto.
  • LOCATION: la regione in cui creare il bus, ad esempio us-central1.
  • LOG_SEVERITY: facoltativo. La gravità minima dell'evento descritto in una voce di log. Uno dei seguenti: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Il valore predefinito è NONE. Per ulteriori informazioni, consulta LogSeverity.

Corpo JSON della richiesta:

{
  "display_name": "BUS_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "cryptoKeyName": "ENCRYPT_KEY",
  "loggingConfig": {"logSeverity":"LOG_SEVERITY"}
}

Per inviare la richiesta, espandi una di queste opzioni:

In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di Operation:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
    "createTime": "2024-01-25T17:17:45.782370139Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Eliminare un bus

Puoi eliminare un bus nei seguenti modi:

  • Nella console Google Cloud
  • Utilizzando l'interfaccia a riga di comando gcloud nel terminale o in Cloud Shell
  • Inviando una richiesta all'API Eventarc

Console

  1. Nella console Google Cloud, vai alla pagina Eventarc > Bus.

    Vai a Bus

  2. Fai clic sul nome del bus che vuoi eliminare.

    Viene visualizzata la pagina Dettagli autobus.

  3. Fai clic su Elimina.

  4. Quando ti viene chiesto di eliminare il bus, per confermare che le origini dei messaggi configurate per utilizzarlo non potranno più farlo, seleziona la casella di controllo Vuoi procedere?.

  5. Per confermare l'eliminazione, inserisci Delete.

  6. Fai clic su Elimina.

gcloud

  1. Apri un terminale.

  2. Elimina un bus utilizzando il comando gcloud beta eventarc message-buses delete.

    gcloud beta eventarc message-buses delete BUS_NAME \
        --location=REGION
    

    Sostituisci quanto segue:

API REST

Per eliminare un autobus, utilizza il metodo projects.locations.messageBuses.delete.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: il tuo Google Cloud ID progetto.
  • LOCATION: la regione in cui viene creato il bus, ad esempio us-central1.
  • BUS_NAME: il nome del bus che vuoi eliminare.

Per inviare la richiesta, espandi una di queste opzioni:

In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di Operation:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
    "createTime": "2024-01-25T17:17:45.782370139Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Passaggi successivi