Pubblicare eventi da origini Google

Puoi attivare o disattivare la raccolta e la pubblicazione di eventi dalle origini Google per un bus Eventarc Advanced specifico.

Gli eventi provenienti dalle origini Google vengono attivati direttamente da un evento non mediato, ad esempio la creazione di una funzione Cloud Run o la modifica dello stato di un job Dataflow. Per ulteriori informazioni, consulta Tipi di eventi Google supportati da Eventarc.

Tieni presente quanto segue:

  • Esiste un limite di una risorsa GoogleApiSource per progetto Google Cloud.
  • Puoi pubblicare eventi provenienti da origini Google solo nello stesso progetto Google Cloud della risorsa GoogleApiSource.
  • Puoi pubblicare eventi in un bus che si trova in un progetto Google Cloud diverso da quello in cui esiste la risorsa GoogleApiSource. Puoi configurarlo utilizzando gcloud CLI o inviando una richiesta all'API Eventarc.

Attivare gli eventi provenienti da origini Google

Per pubblicare eventi provenienti da origini Google, devi creare una risorsa GoogleApiSource. Questa risorsa rappresenta un abbonamento agli eventi dell'API Google in un progetto Google Cloud specifico per un determinato bus Eventarc Advanced.

Puoi attivare la pubblicazione di eventi dalle origini Google 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. Puoi creare un bus o, se stai aggiornando un bus, fai clic su Modifica.

  3. Nella pagina Modifica bus, per aggiungere un'origine 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 diverso per l'origine messaggio.
    2. Fai clic su Crea.
  4. Fai clic su Salva.

gcloud

  1. Apri un terminale.

  2. Puoi attivare gli eventi provenienti da origini Google utilizzando il comando gcloud beta eventarc google-api-sources create:

    gcloud beta eventarc google-api-source create GOOGLE_API_SOURCE_NAME \
        --destination-message-bus=BUS_NAME \
        --destination-message-bus-project=BUS_PROJECT_ID

    Sostituisci quanto segue:

    • GOOGLE_API_SOURCE_NAME: l'ID o l'identificatore completamente qualificato della risorsa GoogleApiSource che rappresenta un abbonamento agli eventi dell'API di Google per un determinato bus
    • BUS_NAME: l'ID o l'identificatore completamente qualificato del bus per cui vuoi iscriverti agli eventi dell'API di Google
    • BUS_PROJECT_ID: l' Google Cloud ID progetto per il bus

    (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 il livello di logging, che deve essere uno tra i seguenti: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Per ulteriori informazioni, consulta LogSeverity.

API REST

Per attivare gli eventi provenienti da origini Google, utilizza il metodo projects.locations.googleApiSources.create.

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

  • GOOGLE_API_SOURCE_NAME: il nome visualizzato della risorsa GoogleApiSource che rappresenta un abbonamento agli eventi dell'API Google per un determinato bus, ad esempio my_google_source.
  • 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 saperne di più, 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.
  • DESTINATION: l'identificatore completo del bus Eventarc Advanced a cui devono essere pubblicati gli eventi di origine Google nel formato projects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME. Per ulteriori informazioni, consulta Creare un bus per instradare i messaggi.
  • ENCRYPT_KEY: facoltativo. Una chiave Cloud KMS che la risorsa GoogleApiSource 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: l' Google Cloud ID progetto in cui creare la risorsa GoogleApiSource.
  • LOCATION: la regione supportata in cui creare la risorsa GoogleApiSource, 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:

{
  "displayName": "GOOGLE_API_SOURCE_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "destination": "DESTINATION",
  "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/googleApiSources/GOOGLE_API_SOURCE_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Gli eventi provenienti da origini Google nello stesso progetto Google Cloud della risorsa GoogleApiSource vengono ora raccolti e pubblicati nel bus.

Disattivare gli eventi provenienti dalle origini Google

Per disattivare la pubblicazione di eventi provenienti da origini Google in un progetto Google Cloud specifico in un bus Eventarc Advanced, devi eliminare la risorsa GoogleApiSource.

Puoi disattivare la pubblicazione di eventi dalle origini Google 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 > Dettagli bus.

    Vai a Dettagli autobus

  2. Fai clic su Modifica.

  3. Nella pagina Modifica bus, per eliminare il provider di messaggi dell'API Google, fai clic su Elimina risorsa per l'origine messaggio google-api-source (o il nome che hai assegnato).

  4. Al prompt Elimina risorsa, fai clic su Conferma.

  5. Fai clic su Salva.

gcloud

  1. Apri un terminale.

  2. Puoi disattivare gli eventi provenienti dalle origini Google utilizzando il comando gcloud beta eventarc google-api-sources delete:

    gcloud beta eventarc google-api-source delete GOOGLE_API_SOURCE_NAME \
        --location=REGION

    Sostituisci quanto segue:

    • GOOGLE_API_SOURCE_NAME: l'ID o l'identificatore completamente qualificato della risorsa GoogleApiSource
    • REGION: la posizione della risorsaGoogleApiSource

API REST

Per disattivare gli eventi provenienti da origini Google, utilizza il metodo projects.locations.googleApiSources.delete.

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

  • PROJECT_ID: l' Google Cloud ID progetto in cui viene creata la risorsa GoogleApiSource.
  • LOCATION: la regione in cui viene creata la risorsa GoogleApiSource, ad esempio us-central1.
  • GOOGLE_API_SOURCE_NAME: il nome della risorsa GoogleApiSource 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/googleApiSources/GOOGLE_API_SOURCE_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Gli eventi provenienti da origini Google nello stesso progetto Google Cloud della risorsa GoogleApiSource eliminata non vengono più raccolti e pubblicati.

Passaggi successivi