Creazione di sottoscrizioni Cloud Storage

Questo documento descrive come creare un abbonamento a Cloud Storage. Puoi utilizzare la console Google Cloud, Google Cloud CLI, la libreria client o l'API Pub/Sub per creare una sottoscrizione Cloud Storage.

Prima di iniziare

Prima di leggere questo documento, assicurati di acquisire familiarità con quanto segue:

Autorizzazioni e ruoli richiesti

Di seguito è riportato un elenco di linee guida relative ai ruoli e alle autorizzazioni:

  • Per creare una sottoscrizione, devi configurare il controllo dell'accesso a livello di progetto.

  • Devi disporre delle autorizzazioni a livello di risorsa anche se le sottoscrizioni e gli argomenti si trovano in progetti diversi, come illustrato più avanti in questa sezione.

  • Per creare una sottoscrizione Cloud Storage, l'account di servizio Pub/Sub deve disporre dell'autorizzazione per scrivere nel bucket Cloud Storage specifico e leggere i metadati del bucket. Per ulteriori informazioni su come concedere queste autorizzazioni, consulta la sezione successiva di questo documento.

Per ottenere le autorizzazioni necessarie per creare sottoscrizioni Cloud Storage, chiedi all'amministratore di concederti il ruolo IAM Editor Pub/Sub (roles/pubsub.editor) per il progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare sottoscrizioni Cloud Storage. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per creare sottoscrizioni Cloud Storage sono necessarie le seguenti autorizzazioni:

  • Crea una sottoscrizione: pubsub.subscriptions.create
  • Allega una sottoscrizione a un argomento: pubsub.topics.attachSubscription
  • Esegui il pull da una sottoscrizione: pubsub.subscriptions.consume
  • Acquista un abbonamento: pubsub.subscriptions.get
  • Elenca un abbonamento: pubsub.subscriptions.list
  • Aggiorna un abbonamento: pubsub.subscriptions.update
  • Elimina una sottoscrizione: pubsub.subscriptions.delete
  • Ottieni il criterio IAM per una sottoscrizione: pubsub.subscriptions.getIamPolicy
  • Configura il criterio IAM per un abbonamento: pubsub.subscriptions.setIamPolicy

Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Se devi creare sottoscrizioni Cloud Storage in un progetto associato a un argomento in un altro progetto, chiedi all'amministratore dell'argomento di concederti anche il ruolo IAM Editor Pub/Sub (roles/pubsub.editor) per l'argomento.

Assegna i ruoli di Cloud Storage all'account di servizio Pub/Sub

Alcuni servizi Google Cloud dispongono di account di servizio gestiti da Google Cloud che consentono ai servizi di accedere alle tue risorse. Questi account di servizio sono noti come agenti di servizio. Pub/Sub crea e gestisce un account di servizio per ogni progetto nel formato service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com.

Per creare una sottoscrizione Cloud Storage, l'account di servizio Pub/Sub deve disporre dell'autorizzazione per scrivere nel bucket Cloud Storage specifico e leggere i metadati del bucket. Scegli una delle seguenti procedure:

  • Concedi le autorizzazioni a livello di bucket. Nello specifico bucket Cloud Storage, concedi il ruolo Autore oggetti Storage (roles/storage.objectCreator) e il ruolo Lettore bucket legacy Storage (roles/storage.legacyBucketReader) all'account di servizio Pub/Sub.

  • Se devi concedere ruoli a livello di progetto, puoi concedere il ruolo Amministratore Storage (roles/storage.admin) per il progetto che contiene il bucket Cloud Storage. Concedi questo ruolo all'account di servizio Pub/Sub.

Autorizzazioni bucket

Segui questi passaggi per concedere i ruoli Creatore oggetti Storage (roles/storage.objectCreator) e Lettore bucket legacy Storage (roles/storage.legacyBucketReader) a livello di bucket:

  1. Nella console Google Cloud, vai alla pagina Cloud Storage.

    Vai a Cloud Storage

  2. Fai clic sul bucket Cloud Storage in cui vuoi scrivere i messaggi.

    Viene visualizzata la pagina Dettagli bucket.

  3. Nella pagina Dettagli bucket, fai clic sulla scheda Autorizzazioni.

  4. Nella scheda Autorizzazioni > Visualizza per entità, fai clic su Concedi l'accesso.

    Viene visualizzata la pagina Concedi l'accesso.

  5. Nella sezione Aggiungi entità, inserisci il nome del tuo account di servizio Pub/Sub.

    Il formato dell'account di servizio è service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com. Ad esempio, per un progetto con PROJECT_NUMBER=112233445566, l'account di servizio è nel formato service-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com.

  6. Nel menu a discesa Assegna ruoli > Seleziona un ruolo, inserisci Creator e seleziona il ruolo Creatore oggetti Storage.

  7. Fai clic su Aggiungi un altro ruolo.

  8. Nel menu a discesa Seleziona un ruolo, inserisci Bucket Reader e seleziona il ruolo Lettore bucket legacy Storage.

  9. Fai clic su Salva.

Autorizzazioni per il progetto

Segui questi passaggi per concedere il ruolo Amministratore Storage (roles/storage.admin) a livello di progetto:

  1. Nella console Google Cloud, vai alla pagina IAM.

    Vai a IAM

  2. Nella scheda Autorizzazioni > Visualizza per entità, fai clic su Concedi l'accesso.

    Viene visualizzata la pagina Concedi l'accesso.

  3. Nella sezione Aggiungi entità, inserisci il nome del tuo account di servizio Pub/Sub.

    Il formato dell'account di servizio è service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com. Ad esempio, per un progetto con PROJECT_NUMBER=112233445566, l'account di servizio è nel formato service-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com.

  4. Nel menu a discesa Assegna ruoli > Seleziona un ruolo, inserisci Storage Admin e seleziona il ruolo Amministratore archiviazione.

  5. Fai clic su Salva.

Per ulteriori informazioni su IAM per Cloud Storage, consulta Cloud Storage Identity and Access Management.

Proprietà delle sottoscrizioni Cloud Storage

Quando configuri un abbonamento a Cloud Storage, devi specificare le proprietà comuni a tutti i tipi di abbonamento e alcune proprietà aggiuntive specifiche dell'abbonamento a Cloud Storage.

Proprietà degli abbonamenti comuni

Scopri di più sulle proprietà di abbonamento comuni che puoi impostare per tutte le sottoscrizioni.

Nome bucket

Per poter creare una sottoscrizione Cloud Storage deve già esistere un bucket Cloud Storage.

I messaggi vengono inviati in batch e archiviati nel bucket Cloud Storage. Un singolo batch o file viene archiviato come oggetto nel bucket.

Nel bucket Cloud Storage deve essere disabilitata la funzionalità Pagamenti a carico del richiedente.

Per creare un bucket Cloud Storage, consulta Creare bucket.

Prefisso, suffisso e data/ora del nome file

I file Cloud Storage di output generati dalla sottoscrizione a Cloud Storage vengono archiviati come oggetti nel bucket Cloud Storage. Il nome dell'oggetto archiviato nel bucket Cloud Storage è nel seguente formato: <file-prefix><UTC-date-time>_<uuid><file-suffix>.

Il seguente elenco include i dettagli del formato file e i campi che puoi personalizzare:

  • <file-prefix> è il prefisso del nome file personalizzato. Questo è un campo facoltativo.

  • <UTC-date-time> è una stringa personalizzabile generata automaticamente in base al momento in cui l'oggetto viene creato.

  • <uuid> è una stringa casuale generata automaticamente per l'oggetto.

  • <file-suffix> è il suffisso personalizzato del nome file. Questo è un campo facoltativo. Il suffisso del nome file non può terminare con "/".

  • Puoi modificare il prefisso e il suffisso del nome file:

    • Ad esempio, se il valore del prefisso del nome file è prod_ e il valore del suffisso del nome file è _archive, un nome di oggetto di esempio è prod_2023-09-25T04:10:00+00:00_uN1QuE_archive.

    • Se non specifichi il prefisso e il suffisso del nome file, il nome dell'oggetto archiviato nel bucket Cloud Storage è nel formato: <UTC-date-time>_<uuid>.

    • I requisiti di denominazione degli oggetti Cloud Storage si applicano anche al prefisso e al suffisso dei nomi file. Per maggiori informazioni, consulta Informazioni sugli oggetti Cloud Storage.

  • Puoi modificare il modo in cui la data e l'ora vengono visualizzate nel nome file:

    • Matcher di data/ora obbligatori, che puoi utilizzare una sola volta: anno (YYYY o YY), mese (MM), giorno (DD), ora (hh), minuto (mm), secondo (ss). Ad esempio, YY-YYYY o MMM non sono validi.

    • Matcher facoltativi che puoi utilizzare una sola volta: separatore data/ora (T) e offset fuso orario (Z o +00:00).

    • Elementi facoltativi che puoi utilizzare più volte: trattino (-), trattino basso (_), due punti (:) e barra (/).

    • Ad esempio, se il valore del formato data/ora del nome file è YYYY-MM-DD/hh_mm_ssZ, il nome di un oggetto di esempio è prod_2023-09-25/04_10_00Z_uNiQuE_archive.

    • Se il formato data/ora del nome file termina con un carattere che non è un matcher, questo carattere sostituirà il separatore tra <UTC-date-time> e <uuid>. Ad esempio, se il valore del formato data/ora del nome file è YYYY-MM-DDThh_mm_ss-, il nome di un oggetto di esempio è prod_2023-09-25T04_10_00-uNiQuE_archive.

Batch di file

Le sottoscrizioni Cloud Storage ti consentono di decidere quando creare un nuovo file di output archiviato come oggetto nel bucket Cloud Storage. Pub/Sub scrive un file di output quando viene soddisfatta una delle condizioni di batch specificate. Di seguito sono riportate le condizioni di batch di Cloud Storage:

  • Durata massima batch di archiviazione. Si tratta di un'impostazione obbligatoria. L'abbonamento a Cloud Storage scrive un nuovo file di output se viene superato il valore di durata massima specificato. Se non specifichi il valore, viene applicato un valore predefinito di 5 minuti. Di seguito sono riportati i valori applicabili per la durata massima:

    • Valore minimo = 1 minuto
    • Valore predefinito = 5 minuti
    • Valore massimo = 10 minuti
  • Byte massimi batch di archiviazione. Si tratta di un'impostazione facoltativa. L'abbonamento a Cloud Storage scrive un nuovo file di output se viene superato il valore specificato di byte massimi. Di seguito sono riportati i valori applicabili per i byte massimi:

    • Valore minimo = 1 kB
    • Valore massimo = 10 GiB

Ad esempio, puoi configurare una durata massima di 6 minuti e un massimo di 2 GB. Se al quarto minuto il file di output raggiunge la dimensione di 2 GB, Pub/Sub finalizza il file precedente e inizia a scrivere in un nuovo file.

Un abbonamento a Cloud Storage potrebbe scrivere su più file contemporaneamente in un bucket Cloud Storage. Se hai configurato l'abbonamento in modo da creare un nuovo file ogni sei minuti, potresti notare che più file Cloud Storage vengono creati ogni sei minuti.

In alcune situazioni, Pub/Sub potrebbe iniziare a scrivere su un nuovo file prima dell'ora configurata dalle condizioni di raggruppamento dei file. Un file potrebbe superare il valore Max byte anche se la sottoscrizione riceve messaggi di dimensioni superiori a questo valore.

Formato file

Quando crei un abbonamento a Cloud Storage, puoi specificare il formato dei file di output da archiviare in un bucket Cloud Storage come Text o Avro.

  • Testo: i messaggi vengono memorizzati come testo normale. Un carattere di nuova riga separa un messaggio dal messaggio precedente nel file. Vengono archiviati solo i payload dei messaggi, non attributi o altri metadati.

  • Avro: i messaggi vengono archiviati in formato binario Apache Avro.

    Quando selezioni Avro, puoi attivare anche l'opzione di scrittura metadati. Questa opzione consente di archiviare i metadati del messaggio insieme al messaggio.

    Metadati come subscription_name, message_id, publish_time e campi degli attributi vengono scritti nei campi di primo livello nell'oggetto Avro di output, mentre tutte le altre proprietà del messaggio diverse dai dati (ad esempio, un ordinare_key, se presente) come voci nella mappa degli attributi.

    Se l'opzione scrittura metadati è disabilitata, solo il payload del messaggio viene scritto nell'oggetto Avro di output.

    Ecco lo schema Avro per i messaggi di output senza metadati di scrittura abilitati:

    {
      "type": "record",
      "namespace": "com.google.pubsub",
      "name": "PubsubMessage",
      "fields": [
        { "name": "data", "type": "bytes" }
      ]
    }
    

    Ecco lo schema Avro per i messaggi di output con i metadati di scrittura abilitati:

    {
      "type": "record",
      "namespace": "com.google.pubsub",
      "name": "PubsubMessageWithMetadata",
      "fields": [
        { "name": "subscription_name", "type": "string" },
        { "name": "message_id", "type": "string"  },
        { "name": "publish_time", "type": {
            "type": "long",
            "logicalType": "timestamp-micros"
          }
        },
        { "name": "attributes", "type": { "type": "map", "values": "string" } },
        { "name": "data", "type": "bytes" }
      ]
    }
    

Crea una sottoscrizione Cloud Storage

Console

  1. Nella console Google Cloud, vai alla pagina Abbonamenti.

    Vai ad Abbonamenti

  2. Fai clic su Crea sottoscrizione.

  3. Inserisci un nome nel campo ID abbonamento.

    Per informazioni su come assegnare un nome a una sottoscrizione, consulta le linee guida per assegnare un nome a un argomento o a una sottoscrizione.

  4. Scegli o crea un argomento dal menu a discesa.

    La sottoscrizione riceve i messaggi dall'argomento.

    Per informazioni su come creare un argomento, vedi Creare e gestire argomenti.

  5. Seleziona Tipo di consegna come Scrivi in Cloud Storage.

  6. Per il bucket Cloud Storage, fai clic su Sfoglia.

    • Puoi selezionare un bucket esistente da qualsiasi progetto appropriato.

    • Puoi anche fare clic sull'icona di creazione e seguire le istruzioni sullo schermo per creare un nuovo bucket.

      Dopo aver creato il bucket, seleziona quello per la sottoscrizione Cloud Storage.

      Per saperne di più su come creare un bucket, consulta la sezione Creare bucket.

    Quando specifichi il bucket, Pub/Sub controlla le autorizzazioni appropriate sul bucket per l'account di servizio Pub/Sub. In caso di problemi di autorizzazione, viene visualizzato un messaggio simile al seguente: Unable to verify if the Pub/Sub service agent has write permissions on this bucket. You may be lacking permissions to view or set permissions.

  7. Se riscontri problemi di autorizzazione, fai clic su Imposta autorizzazione e segui le istruzioni sullo schermo.

    In alternativa, segui le istruzioni in Assegnare ruoli di Cloud Storage all'account di servizio Pub/Sub.

  8. In Formato file, seleziona Testo o Avro.

    Se selezioni Avro, puoi anche specificare facoltativamente se vuoi archiviare i metadati dei messaggi nell'output.

    Per maggiori informazioni sulle due opzioni, inclusa l'opzione dei metadati dei messaggi per il formato Avro, consulta Formato file.

  9. (Facoltativo) Puoi specificare il prefisso e il suffisso del nome file per tutti i file da scrivere nel bucket Cloud Storage. Un file viene archiviato come oggetto nel bucket.

    Per ulteriori informazioni su come impostare il prefisso e il suffisso del file, consulta Prefisso e suffisso del file.

  10. Per Raggruppamento di file, specifica il tempo massimo che deve trascorrere prima di creare un nuovo file.

    Facoltativamente, puoi anche impostare la dimensione massima dei file.

    Per ulteriori informazioni su entrambe le opzioni di raggruppamento dei file, consulta la sezione Raggruppamento di file.

  11. Ti consigliamo vivamente di abilitare i messaggi non recapitabili per gestire gli errori relativi ai messaggi.

    Per ulteriori informazioni, consulta l'argomento sui messaggi non recapitabili.

  12. Puoi mantenere le altre impostazioni predefinite e fare clic su Crea.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per creare un abbonamento a Cloud Storage, esegui il comando gcloud pubsub subscriptions create.
    gcloud pubsub subscriptions create SUBSCRIPTION_ID \
        --topic=TOPIC_ID \
        --cloud-storage-bucket=BUCKET_NAME \
        --cloud-storage-file-prefix=CLOUD_STORAGE_FILE_PREFIX \
        --cloud-storage-file-suffix=CLOUD_STORAGE_FILE_SUFFIX \
        --cloud-storage-max-bytes=CLOUD_STORAGE_MAX_BYTES \
        --cloud-storage-max-duration=CLOUD_STORAGE_MAX_DURATION \
        --cloud-storage-output-format=CLOUD_STORAGE_OUTPUT_FORMAT \
        --cloud-storage-write-metadata

    Nel comando sono obbligatori solo SUBSCRIPTION_ID, il flag --topic e il flag --cloud-storage-bucket. I restanti flag sono facoltativi e possono essere omessi.

    Sostituisci quanto segue:

    • SUBSCRIPTION_ID: nome o ID del tuo nuovo abbonamento a Cloud Storage.
    • TOPIC_ID: il nome o l'ID dell'argomento.
    • BUCKET_NAME: specifica il nome di un bucket esistente. Ad esempio, prod_bucket. Il nome del bucket non deve includere l'ID progetto. Per creare un bucket, consulta la sezione Creare bucket.
    • CLOUD_STORAGE_FILE_PREFIX: specifica il prefisso per il nome file di Cloud Storage. Ad esempio, log_events_.
    • CLOUD_STORAGE_FILE_SUFFIX: specifica il suffisso per il nome file Cloud Storage. Ad esempio, .txt.
    • CLOUD_STORAGE_MAX_BYTES: il numero massimo di byte che è possibile scrivere in un file Cloud Storage prima della creazione di un nuovo file. Il valore deve essere compreso tra 1 kB e 10 GB. Ad esempio, 20MB.
    • CLOUD_STORAGE_MAX_DURATION: la durata massima che può trascorrere prima della creazione di un nuovo file Cloud Storage. Il valore deve essere compreso tra 1 e 10 metri. Ad esempio, 5m.
    • CLOUD_STORAGE_OUTPUT_FORMAT: il formato di output per i dati scritti in Cloud Storage. I valori sono i seguenti:
      • text: i messaggi sono scritti come testo non elaborato, separati da una nuova riga.
      • avro: i messaggi sono scritti come file binario Avro. --cloud-storage-write-metadata ha effetto solo per le sottoscrizioni con formato di output avro.

C++

Prima di provare questo esempio, segui le istruzioni di configurazione di C++ nella guida rapida di Pub/Sub sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Pub/Sub.

Per eseguire l'autenticazione in Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.

namespace pubsub = ::google::cloud::pubsub;
namespace pubsub_admin = ::google::cloud::pubsub_admin;
[](pubsub_admin::SubscriptionAdminClient client,
   std::string const& project_id, std::string const& topic_id,
   std::string const& subscription_id, std::string const& bucket) {
  google::pubsub::v1::Subscription request;
  request.set_name(
      pubsub::Subscription(project_id, subscription_id).FullName());
  request.set_topic(pubsub::Topic(project_id, topic_id).FullName());
  request.mutable_cloud_storage_config()->set_bucket(bucket);
  auto sub = client.CreateSubscription(request);
  if (!sub) {
    if (sub.status().code() == google::cloud::StatusCode::kAlreadyExists) {
      std::cout << "The subscription already exists\n";
      return;
    }
    throw std::move(sub).status();
  }

  std::cout << "The subscription was successfully created: "
            << sub->DebugString() << "\n";
}

Go

Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Pub/Sub sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Pub/Sub.

Per eseguire l'autenticazione in Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.

import (
	"context"
	"fmt"
	"io"
	"time"

	"cloud.google.com/go/pubsub"
)

// createCloudStorageSubscription creates a Pub/Sub subscription that exports messages to Cloud Storage.
func createCloudStorageSubscription(w io.Writer, projectID, subID string, topic *pubsub.Topic, bucket string) error {
	// projectID := "my-project-id"
	// subID := "my-sub"
	// topic of type https://godoc.org/cloud.google.com/go/pubsub#Topic
	// note bucket should not have the gs:// prefix
	// bucket := "my-bucket"
	ctx := context.Background()
	client, err := pubsub.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("pubsub.NewClient: %w", err)
	}
	defer client.Close()

	sub, err := client.CreateSubscription(ctx, subID, pubsub.SubscriptionConfig{
		Topic: topic,
		CloudStorageConfig: pubsub.CloudStorageConfig{
			Bucket:         bucket,
			FilenamePrefix: "log_events_",
			FilenameSuffix: ".avro",
			OutputFormat:   &pubsub.CloudStorageOutputFormatAvroConfig{WriteMetadata: true},
			MaxDuration:    1 * time.Minute,
			MaxBytes:       1e8,
		},
	})
	if err != nil {
		return fmt.Errorf("client.CreateSubscription: %w", err)
	}
	fmt.Fprintf(w, "Created Cloud Storage subscription: %v\n", sub)

	return nil
}

Java

Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Pub/Sub sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Pub/Sub.

Per eseguire l'autenticazione in Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.

import com.google.cloud.pubsub.v1.SubscriptionAdminClient;
import com.google.protobuf.Duration;
import com.google.pubsub.v1.CloudStorageConfig;
import com.google.pubsub.v1.ProjectSubscriptionName;
import com.google.pubsub.v1.ProjectTopicName;
import com.google.pubsub.v1.Subscription;
import java.io.IOException;

public class CreateCloudStorageSubscriptionExample {
  public static void main(String... args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "your-project-id";
    String topicId = "your-topic-id";
    String subscriptionId = "your-subscription-id";
    String bucket = "your-bucket";
    String filenamePrefix = "log_events_";
    String filenameSuffix = ".text";
    Duration maxDuration = Duration.newBuilder().setSeconds(300).build();

    createCloudStorageSubscription(
        projectId, topicId, subscriptionId, bucket, filenamePrefix, filenameSuffix, maxDuration);
  }

  public static void createCloudStorageSubscription(
      String projectId,
      String topicId,
      String subscriptionId,
      String bucket,
      String filenamePrefix,
      String filenameSuffix,
      Duration maxDuration)
      throws IOException {
    try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {

      ProjectTopicName topicName = ProjectTopicName.of(projectId, topicId);
      ProjectSubscriptionName subscriptionName =
          ProjectSubscriptionName.of(projectId, subscriptionId);

      CloudStorageConfig cloudStorageConfig =
          CloudStorageConfig.newBuilder()
              .setBucket(bucket)
              .setFilenamePrefix(filenamePrefix)
              .setFilenameSuffix(filenameSuffix)
              .setMaxDuration(maxDuration)
              .build();

      Subscription subscription =
          subscriptionAdminClient.createSubscription(
              Subscription.newBuilder()
                  .setName(subscriptionName.toString())
                  .setTopic(topicName.toString())
                  .setCloudStorageConfig(cloudStorageConfig)
                  .build());

      System.out.println("Created a CloudStorage subscription: " + subscription.getAllFields());
    }
  }
}

Monitora gli abbonamenti

Cloud Monitoring fornisce una serie di metriche per monitorare gli abbonamenti.

Puoi anche monitorare le sottoscrizioni all'interno di Pub/Sub.

Passaggi successivi