Creare un bus per instradare i messaggi

Un bus Eventarc Advanced consente di centralizzare, monitorare e tracciare il flusso di messaggi nel sistema e funge da router. Riceve eventi da un'origine messaggi o pubblicati da un provider e li valuta in base a una registrazione. Una registrazione identifica un abbonamento a un particolare bus e definisce i criteri di corrispondenza per i messaggi, in modo che vengano instradati di conseguenza. Per ulteriori informazioni, vedi 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 maggiori informazioni, consulta la sezione Layout del progetto.

Ruoli obbligatori

Un ruolo Identity and Access Management (IAM) contiene un insieme di autorizzazioni che ti consentono di eseguire azioni specifiche sulle risorse Google Cloud . Per creare un bus per instradare i messaggi sono necessari i seguenti ruoli e autorizzazioni:

  • Per ottenere l'autorizzazione necessaria per creare un bus, chiedi all'amministratore di concederti il ruolo IAM Eventarc Admin (roles/eventarc.admin) o Eventarc Message Bus Admin (roles/eventarc.messageBusAdmin) nel progetto bus. Questi ruoli predefiniti contengono l'autorizzazione eventarc.messageBuses.create, necessaria per creare un bus.
  • Per ottenere l'autorizzazione necessaria per utilizzare un bus, chiedi all'amministratore di concederti il ruolo IAM Eventarc Message Bus User (roles/eventarc.messageBusUser) nel progetto bus. Questo ruolo predefinito contiene l'autorizzazione eventarc.buses.use, che è necessaria per utilizzare un bus.
  • Per creare una pipeline e una registrazione, sono necessarie autorizzazioni aggiuntive. Per ulteriori informazioni, consulta la sezione Ruoli richiesti durante 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:

    1. Inserisci un nome 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à log, seleziona la gravità minima per gli eventi descritti nelle voci di log. Il valore predefinito è Nessuno. Per ulteriori informazioni, vedi LogSeverity.
    5. Per la 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, procedi nel seguente modo:

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

        Puoi gestire le 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 un'origine del messaggio, fai clic su Aggiungi origine.

      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, vedi Pubblicare eventi da 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 risorseGoogle Cloud . 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: una località supportata per l'autobus

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

      gcloud config set eventarc/location REGION
      

    (Facoltativo) Puoi anche utilizzare i seguenti flag:

    • --async per tornare 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,vengono utilizzati Google-owned and managed keys .
    • --logging-config per configurare la gravità minima per gli eventi descritti nelle voci di log. Deve essere uno dei seguenti valori: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Il valore predefinito è NONE. Per ulteriori informazioni, vedi 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 di etichette che ti aiutano a organizzare le tue Google Cloud risorse. Per saperne di più, vedi Che cosa sono le etichette?
  • ANNOTATION_KEY e ANNOTATION_VALUE: facoltativi. Una mappa di coppie chiave-valore di annotazione di testo in formato libero. Puoi utilizzarli per allegare informazioni arbitrarie associate 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 ID progetto Google Cloud.
  • 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 tra: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Il valore predefinito è NONE. Per ulteriori informazioni, vedi 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 autobus nei seguenti modi:

  • Nella console Google Cloud
  • Utilizzando gcloud 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

    Viene visualizzata la pagina Dettagli bus.

  2. Fai clic su Elimina.

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

  4. Per confermare l'eliminazione, inserisci Delete.

  5. 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 bus, utilizza il metodo projects.locations.messageBuses.delete.

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

  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • 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