Creare una registrazione per ricevere eventi

Una registrazione identifica un abbonamento a un determinato bus. La registrazione definisce i criteri di corrispondenza che determinano quali messaggi vengono instradati a una destinazione. Specifica anche la pipeline attraverso la quale devono essere instradati i messaggi corrispondenti. Una pipeline consente di configurare una destinazione di destinazione e offre anche la possibilità di trasformare gli eventi corrispondenti prima di pubblicarli nella destinazione.

Tieni presente quanto segue:

  • Una pipeline e una registrazione devono trovarsi nello stesso Google Cloud progetto. Il bus può trovarsi nello stesso progetto o in un altro.
  • Una pipeline può essere utilizzata per più registrazioni.
  • Solo una destinazione può essere il target dei messaggi instradati da una pipeline.
  • Prima di configurare una pipeline o una registrazione, devi aver già creato un bus Eventarc Advanced.

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 autorizzazioni sono obbligatori quando crei una pipeline e una registrazione per instradare i messaggi:

  • Per ottenere l'autorizzazione necessaria per creare una pipeline, chiedi all'amministratore di concederti il ruolo IAM Sviluppatore Eventarc (roles/eventarc.developer) nel progetto della pipeline. Questo ruolo predefinito contiene l'autorizzazione eventarc.pipelines.create, necessaria per creare una pipeline.
  • Per ottenere l'autorizzazione necessaria per creare una registrazione, chiedi all'amministratore di concederti il ruolo IAM Sviluppatore Eventarc (roles/eventarc.developer) nel progetto di registrazione. Questo ruolo predefinito contiene l'autorizzazione eventarc.enrollments.create, obbligatoria per creare una registrazione.
  • 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 ulteriori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso. Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Registrati per ricevere gli eventi

Puoi creare una pipeline e una registrazione nei seguenti modi:

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

Console

Nella console Google Cloud, puoi creare contemporaneamente sia la pipeline sia la registrazione dalla pagina Pipeline.

  1. Per creare una registrazione, nella console Google Cloud vai alla pagina Eventarc > Pipeline.

    Vai a Pipeline

  2. Fai clic su Crea pipeline.

  3. Nel riquadro Dettagli pipeline, segui questi passaggi:

    1. Inserisci un nome per la pipeline. Questo è l'ID della pipeline.
    2. Nell'elenco Regione, seleziona una regione in cui eseguire il deployment della pipeline. La pipeline deve essere creata nella stessa regione del bus. Per maggiori informazioni, consulta le località di Eventarc Advanced.
    3. (Facoltativo) Puoi modificare la configurazione predefinita per riprovare gli eventi.
    4. 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).
    5. 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 Autokey è disabilitata, significa che non è ancora integrata nel tipo di risorsa attuale.

      2. In Seleziona una chiave gestita dal cliente, 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.

    6. (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?

    7. Fai clic su Continua.

  4. Nel riquadro Iscrizioni, segui questi passaggi:

    1. Fai clic su Aggiungi una registrazione.
    2. Inserisci un nome per la registrazione.
    3. Nell'elenco Autobus, seleziona un autobus a cui abbonarti.
    4. Nel campo Espressione CEL, scrivi un'espressione di valutazione utilizzando il linguaggio CEL. Ad esempio:

      message.type == "google.cloud.dataflow.job.v1beta3.statusChanged"

      Tieni presente che l'espressione predefinita, true, indica che tutti i messaggi vengono instradati senza essere filtrati.

    5. Fai clic su Fine.

    6. Puoi aggiungere un'altra registrazione o fare clic su Continua.

  5. (Facoltativo) Nel riquadro Mediazione eventi, segui questi passaggi o fai clic su Continua:

    1. Seleziona la casella di controllo Applica una trasformazione.
    2. Nell'elenco Formato in entrata, seleziona il formato applicabile.

      Tieni presente che, quando applichi una trasformazione, devi specificare un formato di dati in entrata per una pipeline e che tutti gli eventi devono corrispondere a questo formato.

    3. Per i formati Avro o Protobuf, devi specificare uno schema in entrata. Facoltativamente, puoi caricare uno schema in entrata. Per ulteriori informazioni, consulta Formattare gli eventi ricevuti.

    4. Nel campo Espressione CEL, scrivi un'espressione di trasformazione utilizzando CEL.

    5. Fai clic su Continua.

  6. Nel riquadro Destinazione, segui questi passaggi:

    1. Nell'elenco Tipo di destinazione, seleziona un tipo di destinazione a cui instradare i messaggi. A seconda del tipo di destinazione, procedi nel seguente modo:

      • Endpoint HTTP: specifica l'URI di destinazione. L'host può essere un indirizzo IP statico indirizzabile da una rete Virtual Private Cloud (VPC) o il nome host del Domain Name System (DNS) interno di un servizio risolvibile utilizzando Cloud DNS.

        Tieni presente che puoi utilizzare questo tipo di destinazione per scegliere come target una funzione Cloud Run.

      • Bus Eventarc Advanced: seleziona un bus Eventarc Advanced.

      • Flusso di lavoro di Workflows: seleziona un flusso di lavoro di Workflows.

      • Argomento Pub/Sub: seleziona o crea un argomento Pub/Sub.

      • Servizio Cloud Run (tramite HTTP): seleziona un servizio Cloud Run che riceverà gli eventi sotto forma di richieste POST HTTP inviate al suo percorso dell'URL di primo livello (/). Se vuoi, puoi specificare un percorso dell'URL relativo nel servizio di destinazione a cui devono essere inviati gli eventi.

      • Job Cloud Run (tramite HTTP): seleziona un job Cloud Run che riceverà gli eventi come richieste HTTP POST.

    2. Specifica un collegamento di rete.

      Un collegamento di rete è una risorsa che consente a una rete VPC producer di avviare collegamenti a una rete VPC consumer. Per pubblicare eventi, Eventarc Advanced utilizza il collegamento di rete per stabilire una connessione all'endpoint ospitato in una rete VPC.

      Puoi creare un collegamento di rete che accetti automaticamente le connessioni da qualsiasi interfaccia Private Service Connect che fa riferimento al collegamento di rete. Crea il collegamento di rete nella stessa rete e nella stessa regione contenente l'endpoint di destinazione.

      Se indirizzi i messaggi a una destinazione Google utilizzando un indirizzo DNS, ad esempio Cloud Run, Pub/Sub, Workflows o un altro bus Eventarc Advanced, assicurati che Accesso privato Google sia abilitato sulla sottorete utilizzata nell'attacco alla rete; in caso contrario, l'indirizzo DNS non può essere risolto.

    3. Se applicabile, seleziona un formato nell'elenco Formato in uscita.

      Tieni presente che se per una pipeline non è specificato un formato dei dati in entrata, non è possibile impostare un formato in uscita.

    4. Se applicabile, applica una associazione di messaggi. Per ulteriori informazioni, consulta Definire una definizione di messaggio.

    5. Per attivare l'autenticazione, seleziona la casella di controllo Attiva autenticazione.

      1. Nell'elenco Intestazione di autenticazione, seleziona il tipo di token da generare e allegalo come intestazione Authorization nella richiesta HTTP:

        • In genere, un token OAuth dovrebbe essere utilizzato solo quando si chiamano le API di Google ospitate su*.googleapis.com. (Facoltativo) Specifica l'ambito di questo token; in caso contrario, il valore predefinito è https://www.googleapis.com/auth/cloud-platform. Per i Google Cloud servizi, è buona prassi utilizzare l'ambito https://www.googleapis.com/auth/cloud-platform, che include tutte le Google Cloud API, insieme a Identity and Access Management (IAM), che fornisce un controllo dell'accesso granulare.

          Tieni presente che tutte le richieste a un altro bus Eventarc Advanced, Pub/Sub o Workflows devono avere un'intestazione di autorizzazione HTTP contenente un token OAuth firmato da Google per uno degli account di servizio autorizzati.

        • Un token OIDC può essere utilizzato per molti scenari, inclusi gli endpoint in cui intendi convalidare il token autonomamente. Inoltre, specifica il segmento di pubblico a cui è destinato questo token. In genere, deve corrispondere all'URL della pipeline di destinazione. Se non specificato, viene utilizzato l'intero URL, inclusi eventuali parametri di richiesta.

          Tieni presente che Cloud Run esegue un controllo IAM su ogni richiesta e puoi utilizzare l'autorizzazione run.routes.invoke per configurare chi può accedere al tuo servizio Cloud Run in uno dei seguenti modi:

          • Concedi l'autorizzazione a selezionare account di servizio o gruppi per consentire l'accesso al servizio. Tutte le richieste devono avere un'intestazione HTTP Authorization contenente un token OpenID Connect firmato da Google per uno degli account di servizio autorizzati.

          • Concedi l'autorizzazione a allUsers per consentire l'accesso non autenticato.

          Per ulteriori informazioni, consulta Controllo dell'accesso per Cloud Run.

        Scopri di più sui tipi di token.

      2. Nell'elenco Account di servizio, seleziona l'account di servizio che invoca il servizio di destinazione. In alternativa, puoi creare un nuovo account di servizio.

        Questo specifica l'indirizzo email dell'account di servizio IAM associato alla pipeline e a cui hai precedentemente concesso ruoli specifici richiesti da Eventarc Advanced.

  7. Fai clic su Crea.

gcloud

Quando utilizzi gcloud CLI, crea prima la pipeline e poi la registrazione utilizzando i comandi appropriati.

Pipeline

  1. Apri un terminale.

  2. Crea una pipeline utilizzando il comando gcloud beta eventarc pipelines create:

    gcloud beta eventarc pipelines create PIPELINE_NAME \
        --destinations=DESTINATION_KEY \
        --location=REGION

    Sostituisci quanto segue:

    • PIPELINE_NAME: l'ID della pipeline o un nome completamente qualificato
    • DESTINATION_KEY: una o più coppie chiave-valore per configurare una destinazione per la pipeline

      Devi impostare una sola delle seguenti chiavi:

      Devi impostare la seguente chiave:

      • network_attachment: una risorsa che consente a una rete VPC producer di avviare connessioni a una rete VPC consumer. Per pubblicare eventi, Eventarc Advanced utilizza il collegamento di rete per stabilire una connessione all'endpoint ospitato in una rete VPC.

        Puoi creare un collegamento di rete che accetti automaticamente le connessioni da qualsiasi interfaccia Private Service Connect che fa riferimento al collegamento di rete. Crea l'attacco alla rete nella stessa rete e nella stessa regione contenente la risorsa di destinazione.

        Se indirizzi i messaggi a una destinazione Google utilizzando un indirizzo DNS, ad esempio Cloud Run, Pub/Sub, Workflow o un altro bus Eventarc Advanced, assicurati che Accesso privato a Google sia abilitato sulla sottorete utilizzata nell'attacco alla rete; altrimenti, l'indirizzo DNS non può essere risolto.

      Per attivare l'autenticazione, puoi impostare una delle seguenti chiavi:

      • google_oidc_authentication_service_account: l'indirizzo email dell'account servizio utilizzato per generare un token OIDC che può essere utilizzato per molti scenari, inclusi gli endpoint in cui prevedi di convalidare il token autonomamente. Se vuoi, puoi impostare google_oidc_authentication_audience per specificare il pubblico a cui è destinato questo token. In genere, deve corrispondere all'URL della pipeline di destinazione. Se non specificato, viene utilizzato l'intero URL, inclusi eventuali parametri di richiesta.

        Tieni presente che Cloud Run esegue un controllo IAM su ogni richiesta e puoi utilizzare l'autorizzazione run.routes.invoke per configurare chi può accedere al tuo servizio Cloud Run in uno dei seguenti modi:

        • Concedi l'autorizzazione a selezionare account di servizio o gruppi per consentire l'accesso al servizio. Tutte le richieste devono avere un'intestazione HTTP Authorization contenente un token OpenID Connect firmato da Google per uno degli account di servizio autorizzati.

        • Concedi l'autorizzazione a allUsers per consentire l'accesso non autenticato.

        Per ulteriori informazioni, consulta Controllo dell'accesso per Cloud Run .

      • oauth_token_authentication_service_account: l'email dell'account di servizio utilizzata per generare un token OAuth, che in genere deve essere utilizzato solo quando si chiamano le API di Google ospitate su *.googleapis.com. Se vuoi, puoi impostare oauth_token_authentication_scope per specificare l'ambito di questo token. In caso contrario, il valore predefinito è https://www.googleapis.com/auth/cloud-platform. Per i Google Cloud servizi, è buona prassi utilizzare l'ambito https://www.googleapis.com/auth/cloud-platform, che include tutte le Google Cloud API, insieme a Identity and Access Management (IAM), che fornisce un controllo dell'accesso granulare.

        Tieni presente che tutte le richieste a un altro bus, Pub/Sub o Workflows Eventarc Advanced devono avere un'intestazione di autorizzazione HTTP contenente un token OAuth firmato da Google per uno degli account di servizio autorizzati.

        Scopri di più sui tipi di token.

      (Facoltativo) Puoi impostare una delle seguenti chiavi:

      • output_payload_format_avro_schema_definition
      • output_payload_format_json
      • output_payload_format_protobuf_schema_definition

        Tieni presente che se imposti un formato di output, devi specificare anche un formato di input (vedi i seguenti flag input-payload-format-*).

      (Facoltativo) Se http_endpoint_uri non viene utilizzato come chiave di destinazione, puoi impostare le seguenti chiavi:

      • project: l' Google Cloud ID progetto della risorsa di destinazione. Per impostazione predefinita, viene utilizzato l'ID progetto della pipeline.
      • location: la posizione della risorsa di destinazione. Per impostazione predefinita, viene utilizzata la posizione della pipeline.
    • REGION: un'ubicazione Eventarc Advanced supportata

      In alternativa, puoi impostare la proprietà della posizione gcloud CLI:

      gcloud config set eventarc/location REGION
      

    (Facoltativo) Puoi 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,vengono utilizzati Google-owned and managed keys .
    • --logging-config per configurare il livello di logging, che deve essere uno tra i seguenti: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY.
    • --mediations per applicare una trasformazione; transformation_template è l'unico modello supportato ed è supportata soltanto una mediazione per pipeline; ad esempio:

      --mediations=transformation_template='message.removeFields(["id\ ","credit_card_number","age"])'

      Tieni presente che, se applichi una trasformazione, devi utilizzare uno dei seguenti flag per specificare un formato di input.

    • Una delle seguenti opzioni per specificare un formato di input:

      • --input-payload-format-avro-schema-definition
      • --input-payload-format-json
      • --input-payload-format-protobuf-schema-definition
    • --max-retry-attempts, --max-retry-delay e --min-retry-delay per gli eventi di ripetizione

    Ad esempio:

    gcloud beta eventarc pipelines create my-pipeline \
        --destinations=http_endpoint_uri='https://example-endpoint.com',network_attachment=my-network-attachment,oauth_token_authentication_service_account=example-service-account@example-project.gserviceaccount.iam.com,oauth_token_authentication_scope='https://www.googleapis.com/auth/cloud-platform',output_payload_format_avro_schema_definition='{"type": "record","name": "my_record", "fields": [{"name": "my_field", "type":"string"}]}' \
        --input-payload-format-avro-schema-definition='{"type":"record", "name": "my_record", "fields": [{"name": "my_field","type": "string"}]}' \
        --location=us-central1 \
        --async
    

    Per ulteriori dettagli ed esempi, consulta la documentazione della CLI gcloud.

Registrazione

  1. Apri un terminale.

  2. Crea una registrazione utilizzando il comando gcloud beta eventarc enrollments create:

    gcloud beta eventarc enrollments create ENROLLMENT_NAME \
        --cel-match=MATCH_EXPRESSION \
        --destination-pipeline=PIPELINE_NAME \
        --message-bus=BUS_NAME \
        --message-bus-project=PROJECT_ID \
        --location=REGION

    Sostituisci quanto segue:

    • ENROLLMENT_NAME: l'ID della registrazione o un nome completamente qualificato
    • MATCH_EXPRESSION: l'espressione di corrispondenza per questa registrazione utilizzando CEL, ad esempio "message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'"
    • PIPELINE_NAME: l'ID pipeline di destinazione o il suo nome completo per questa registrazione
    • BUS_NAME: l'ID del bus Eventarc Advanced o il relativo nome completo
    • PROJECT_ID: l' Google Cloud ID progetto per il bus
    • REGION: un'ubicazione Eventarc Advanced supportata

      In alternativa, puoi impostare la proprietà della posizione gcloud CLI:

      gcloud config set eventarc/location REGION
      

    (Facoltativo) Puoi utilizzare il seguente flag:

    • --async per uscire immediatamente dal comando, senza attendere il completamento dell'operazione in corso

    Ad esempio:

    gcloud beta eventarc enrollments create my-enrollment \
        --cel-match="message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'" \
        --destination-pipeline=my-pipeline \
        --message-bus=my-message-bus \
        --message-bus-project=another-google-cloud-project \
        --location=us-central1 \
        --async
    

API REST

Pipeline

Per creare una pipeline, utilizza il metodo projects.locations.pipelines.create.

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

  • name: il nome completo della risorsa della pipeline nel formato projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME

    Sostituisci quanto segue:

    • PROJECT_ID: Google Cloud l'ID progetto per il progetto della pipeline
    • LOCATION: la regione in cui deve essere eseguito il deployment della pipeline, ad esempio us-central1
    • PIPELINE_NAME: il nome della pipeline
  • 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, vedi 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.
  • 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.
  • destinations: la destinazione a cui verranno inoltrati i messaggi. È supportata solo una destinazione: httpEndpoint, messageBus, topic o workflow. Per ulteriori informazioni, consulta il Destination targeting. Ad esempio, sostituisci quanto segue:
    • HTTP_URI: un URI di destinazione. L'host può essere un indirizzo IP statico indirizzabile da una rete VPC (Virtual Private Cloud) o il nome host interno del DNS (Domain Name System) di un servizio risolvibile utilizzando Cloud DNS. Se vuoi, puoi anche impostare messageBindingTemplate per specificare una definizione del messaggio.
    • networkAttachment: il nome completo della risorsa di un allegato di rete in questo formato: projects/NETWORK_ATTACHMENT_PROJECT_ID/regions/NETWORK_ATTACHMENT_LOCATION /networkAttachments/NETWORK_ATTACHMENT_NAME. Un collegamento di rete è una risorsa che consente a una rete Virtual Private Cloud producer di avviare connessioni a una rete VPC consumer e deve essere specificato. Per pubblicare eventi, Eventarc Advanced utilizza il collegamento di rete per stabilire una connessione all'endpoint ospitato in una rete VPC.

      Puoi creare un collegamento di rete che accetti automaticamente le connessioni da qualsiasi interfaccia Private Service Connect che fa riferimento al collegamento di rete. Crea il collegamento di rete nella stessa rete e nella stessa regione contenente la risorsa di destinazione.

      Se inoltri i messaggi a una destinazione Google utilizzando un indirizzo DNS, ad esempio Cloud Run, Pub/Sub, Workflows o un altro bus Eventarc Advanced, assicurati che Accesso privato a Google sia abilitato sulla sottorete utilizzata nell'attacco alla rete; in caso contrario, l'indirizzo DNS non può essere risolto.

    • SERVICE_ACCOUNT_EMAIL: il nome dell'indirizzo email dell'account di servizio utilizzato per generare un token OIDC che può essere utilizzato per molti scenari, inclusi gli endpoint in cui intendi convalidare il token autonomamente. Se vuoi, puoi impostare audience per specificare il pubblico a cui è destinato questo token. In genere, deve corrispondere all'URL della pipeline di destinazione. Se non specificato, viene utilizzato l'intero URL, inclusi eventuali parametri della richiesta.

      In alternativa, puoi utilizzare oauthToken per specificare l'indirizzo email dell'account di servizio utilizzato per generare un token OAuth che in genere deve essere utilizzato solo quando si chiamano le API di Google ospitate su *.googleapis.com. Se vuoi, puoi impostare scope per specificare l'ambito di questo token. Altrimenti, il valore predefinito è https://www.googleapis.com/auth/cloud-platform. Per i servizi Google Cloud https://www.googleapis.com/auth/cloud-platform, è consigliabile utilizzare l'ambito Google Cloud , che include tutte le API, insieme a Identity and Access Management (IAM), che fornisce un controllo granulare dell'accesso.

      Tieni presente che tutte le richieste a un altro bus Eventarc Advanced, Pub/Sub o Workflows devono avere un'intestazione di autorizzazione HTTP contenente un token OAuth firmato da Google per uno dei service account autorizzati.

      Scopri di più sui tipi di token.

Corpo JSON della richiesta:

{
  "name": "projects/PROJECT_ID/regions/LOCATION/pipelines/PIPELINE_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "loggingConfig": {"logSeverity":"LOG_SEVERITY"},
  "destinations": [{"httpEndpoint": {"uri": "HTTP_URI"},"networkConfig":
  {"networkAttachment": "projects/NETWORK_ATTACHMENT_PROJECT_ID/regions/NETWORK_ATTACHMENT_LOCATION/networkAttachments/NETWORK_ATTACHMENT_NAME"},
  "authenticationConfig": {"googleOidc": {"serviceAccount": "SERVICE_ACCOUNT_EMAIL"}}}]
}

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/pipelines/PIPELINE_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Registrazione

Per creare una registrazione, utilizza il metodo projects.locations.enrollments.create.

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

  • ENROLLMENT_NAME: il nome visualizzato della tua registrazione, ad esempio my_enrollment.
  • MATCH_EXPRESSION: un'espressione CEL che identifica i messaggi a cui si applica questa registrazione. Ad esempio: message.type == 'hello-world-type'.
  • destination: il nome completo della risorsa della pipeline di destinazione nel formato projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME.

    Sostituisci quanto segue:

    • PROJECT_ID: Google Cloud l'ID progetto per il progetto della pipeline
    • LOCATION: la regione in cui è stato eseguito il deployment della pipeline, ad esempio us-central1.
    • PIPELINE_NAME: il nome della pipeline
  • message_bus: il nome completo della risorsa del bus che identifica l'origine dei messaggi nel formato projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME.

    Sostituisci quanto segue:

    • BUS_PROJECT_ID: Google Cloud l'ID progetto per il progetto di trasporto pubblico
    • BUS_LOCATION: la regione in cui è eseguito il deployment del bus, ad esempio us-central1
    • BUS_NAME: il nome del bus di messaggi

Corpo JSON della richiesta:

{
  "display_name": "ENROLLMENT_NAME",
  "cel_match": "MATCH_EXPRESSION",
  "message_bus": "projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME",
  "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
}

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/enrollments/ENROLLMENT_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Eliminare una registrazione

Puoi eliminare una registrazione 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. Per eliminare una registrazione, nella console Google Cloud vai alla pagina Eventarc > Pipeline.

    Vai a Pipeline

  2. Fai clic sul nome della pipeline da cui vuoi eliminare la registrazione.

    Viene visualizzato il riquadro Dettagli della pipeline.

  3. Fai clic su Continua.

    Viene visualizzato il riquadro Iscrizioni.

  4. Fai clic sull'icona di eliminazione accanto alla registrazione che vuoi eliminare.

  5. Fai clic su Salva.

gcloud

  1. Apri un terminale.

  2. Elimina una registrazione utilizzando il comando gcloud beta eventarc enrollments delete:

    gcloud beta eventarc enrollments delete ENROLLMENT_NAME \
          --location=REGION

    Sostituisci quanto segue:

API REST

Per eliminare una registrazione, utilizza il metodo projects.locations.enrollments.delete.

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

  • ENROLLMENT_NAME: il nome visualizzato della registrazione che vuoi eliminare, ad esempio my_enrollment.
  • PROJECT_ID: il tuo Google Cloud ID progetto.
  • LOCATION: la regione in cui è stato eseguito il deployment della registrazione, ad esempio us-central1.

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/enrollments/ENROLLMENT_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Eliminare una pipeline

Puoi eliminare una pipeline 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

Tieni presente che l'eliminazione di una pipeline potrebbe richiedere più di 10 minuti.

Console

  1. Per eliminare una pipeline, nella console Google Cloud vai alla pagina Eventarc > Pipeline.

    Vai a Pipeline

  2. Nell'elenco delle pipeline, seleziona la casella di controllo accanto al nome della pipeline da eliminare.

  3. Fai clic su Elimina.

  4. Conferma l'eliminazione inserendo Delete.

  5. Fai clic su Elimina.

gcloud

  1. Apri un terminale.

  2. Elimina una pipeline utilizzando il gcloud beta eventarc pipelines delete comando:

    gcloud beta eventarc pipelines delete PIPELINE_NAME \
          --location=REGION

    Sostituisci quanto segue:

API REST

Per eliminare una pipeline, utilizza il metodo projects.locations.pipelines.delete.

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

  • PIPELINE_NAME: il nome visualizzato della pipeline che vuoi eliminare, ad esempio my_pipeline.
  • PROJECT_ID: il tuo Google Cloud ID progetto.
  • LOCATION: la regione in cui è stato eseguito il deployment della pipeline, ad esempio us-central1.

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/pipelines/PIPELINE_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Passaggi successivi