Un argomento di importazione da Cloud Storage ti consente di importare continuamente i dati da Cloud Storage in Pub/Sub. Poi puoi inviare i dati in streaming in una delle destinazioni supportate da Pub/Sub. Pub/Sub rileva automaticamente i nuovi oggetti aggiunti al bucket Cloud Storage e li importa.
Cloud Storage è un servizio per l'archiviazione di oggetti in Google Cloud. Un oggetto è un dato immutabile costituito da un file di qualsiasi formato. Gli oggetti vengono memorizzati in container chiamati bucket. I bucket possono contenere anche cartelle gestite, che utilizzi per fornire accesso avanzato a gruppi di oggetti con un prefisso del nome condiviso.
Per ulteriori informazioni su Cloud Storage, consulta la documentazione di Cloud Storage.
Per ulteriori informazioni sugli argomenti di importazione, consulta Informazioni sugli argomenti di importazione.
Prima di iniziare
Prima di creare un argomento di importazione Cloud Storage, deve già esistere un bucket Cloud Storage. Se utilizzi la console per creare l'argomento di importazione, il flusso di lavoro ti consente di creare un bucket Cloud Storage. Per altri metodi di configurazione, consulta Creare bucket.
Se applicabile, assicurati che il criterio di archiviazione dei messaggi dell'argomento Pub/Sub si sovrapponga alla regione in cui si trova il bucket Cloud Storage. Per ulteriori informazioni, consulta Il criterio di archiviazione dei messaggi è conforme alla posizione del bucket.
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
. Configura i ruoli e le autorizzazioni richiesti sull'account di servizio Pub/Sub per gestire gli argomenti di importazione di Cloud Storage, tra cui:Concedi il ruolo Publisher Pub/Sub (
roles/pubsub.publisher
) all'account di servizio Pub/Sub. Questo account di servizio effettuerà la pubblicazione nell'argomento di importazione. Per concedere questo ruolo, è necessario un account utente con il ruolo Amministratore Pub/Sub (roles/pubsub.admin
). Per saperne di più, consulta Aggiungere il ruolo Publisher Pub/Sub all'account di servizio Pub/Sub.Concedi le autorizzazioni di Cloud Storage all'account di servizio Pub/Sub. Per concedere queste autorizzazioni, devi avere un account utente con il ruolo Amministratore archiviazione (
roles/storage.admin
). Per ulteriori informazioni, consulta Assegnare i ruoli Cloud Storage all'account di servizio Pub/Sub.
Ruoli e autorizzazioni richiesti per gestire gli argomenti di importazione di Cloud Storage
Per ottenere le autorizzazioni necessarie per creare e gestire un argomento di importazione di Cloud Storage,
chiedi all'amministratore di concederti il ruolo IAM Editor Pub/Sub (roles/pubsub.editor
) per il tuo argomento o progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per creare e gestire un argomento di importazione di Cloud Storage. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare e gestire un argomento di importazione di Cloud Storage sono necessarie le seguenti autorizzazioni:
-
Crea un argomento di importazione:
pubsub.topics.create
-
Elimina un argomento di importazione:
pubsub.topics.delete
-
Ricevi un argomento di importazione:
pubsub.topics.get
-
Elenca un argomento di importazione:
pubsub.topics.list
-
Pubblica in un argomento di importazione:
pubsub.topics.publish
-
Aggiorna un argomento di importazione:
pubsub.topics.update
-
Recupera il criterio IAM per un argomento di importazione:
pubsub.topics.getIamPolicy
-
Configura il criterio IAM per un argomento di importazione:
pubsub.topics.setIamPolicy
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Puoi configurare il controllo dell'accesso a livello di progetto e di singola risorsa.
Il criterio di archiviazione dei messaggi è conforme alla località del bucket
Il criterio di archiviazione dei messaggi dell'argomento Pub/Sub deve sovrapporsi alle regioni in cui si trova il bucket Cloud Storage. Questa norma prescrive dove Pub/Sub può archiviare i dati dei messaggi.
Per i bucket con tipo di località come regione: il criterio deve includere la regione specifica. Ad esempio, se il bucket si trova nella regione
us-central1
, il criterio di archiviazione dei messaggi deve includere ancheus-central1
.Per i bucket con tipo di località a due o più regioni: il criterio deve includere almeno una regione all'interno della località a due o più regioni. Ad esempio, se il bucket si trova in
US multi-region
, il criterio di archiviazione dei messaggi potrebbe includereus-central1
,us-east1
o qualsiasi altra regione all'interno diUS multi-region
.Se il criterio non include la regione del bucket, la creazione dell'argomento non va a buon fine. Ad esempio, se il bucket si trova in
europe-west1
e il criterio di archiviazione dei messaggi include soloasia-east1
, riceverai un errore.Se il criterio di archiviazione dei messaggi include una sola regione che si sovrappone alla posizione del bucket, la ridondanza multi-regione potrebbe essere compromessa. Questo accade perché se la singola regione non è più disponibile, i tuoi dati potrebbero non essere accessibili. Per garantire la ridondanza completa, ti consigliamo di includere almeno due regioni nel criterio di archiviazione dei messaggi che fanno parte della località multiregione o doppia regione del bucket.
Per saperne di più sulle località dei bucket, consulta la documentazione.
Aggiungi il ruolo Publisher Pub/Sub all'account di servizio Pub/Sub
Devi assegnare il ruolo Publisher Pub/Sub all'account di servizio Pub/Sub in modo che Pub/Sub possa pubblicare nell'argomento di importazione di Cloud Storage.
Per attivare la pubblicazione in tutti gli argomenti di un progetto, consulta Attivare la pubblicazione in tutti gli argomenti. Utilizza questo metodo se non hai creato argomenti di importazione di Cloud Storage.
Per attivare la pubblicazione in un argomento specifico, consulta Attivare la pubblicazione in un singolo argomento. Utilizza questo metodo solo se l'argomento di importazione da Cloud Storage esiste già.
Attivare la pubblicazione in tutti gli argomenti di importazione di Cloud Storage
Scegli questa opzione se non hai un argomento di importazione Cloud Storage disponibile nel tuo progetto.
Nella console Google Cloud, vai alla pagina IAM.
Attiva l'opzione Includi concessioni di ruoli fornite da Google.
Cerca l'account di servizio Pub/Sub con il seguente formato:
service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com
Per questo account di servizio, fai clic sul pulsante Modifica entità.
Se necessario, fai clic su Aggiungi un altro ruolo.
Cerca e seleziona il ruolo Publisher Pub/Sub (
roles/pubsub.publisher
).Fai clic su Salva.
Attivare la pubblicazione in un singolo argomento di importazione Cloud Storage
Se vuoi concedere a Pub/Sub l'autorizzazione per pubblicare in un argomento di importazione Cloud Storage specifico esistente, segui questi passaggi:
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Esegui il comando
gcloud pubsub topics add-iam-policy-binding
:gcloud pubsub topics add-iam-policy-binding TOPIC_ID\ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com"\ --role="roles/pubsub.publisher"
Sostituisci quanto segue:
TOPIC_ID è l'ID o il nome dell'argomento di importazione di Cloud Storage.
PROJECT_NUMBER è il numero del progetto. Per visualizzare il numero del progetto, consulta Identificazione dei progetti.
Assegna i ruoli Cloud Storage all'account di servizio Pub/Sub
Per creare un argomento di importazione Cloud Storage, l'account di servizio Pub/Sub deve disporre dell'autorizzazione di lettura dal bucket Cloud Storage specifico. Sono richieste le seguenti autorizzazioni:
storage.objects.list
storage.objects.get
storage.buckets.get
Per assegnare queste autorizzazioni all'account di servizio Pub/Sub, scegli una delle seguenti procedure:
Concedi le autorizzazioni a livello di bucket. Al bucket Cloud Storage specifico, concedi all'account di servizio Pub/Sub i ruoli Legacy Object Reader (
roles/storage.legacyObjectReader
) e Legacy Bucket Reader (roles/storage.legacyBucketReader
).Se devi concedere i ruoli a livello di progetto, puoi concedere il ruolo Amministratore archiviazione (
roles/storage.admin
) al progetto contenente il bucket Cloud Storage. Concedi questo ruolo all'account di servizio Pub/Sub.
Autorizzazioni del bucket
Esegui i seguenti passaggi per concedere al account di servizio Pub/Sub i ruoli
Storage Legacy Object Reader (roles/storage.legacyObjectReader
) e
Storage Legacy Bucket Reader (roles/storage.legacyBucketReader
) a livello di bucket:
Nella console Google Cloud, vai alla pagina Cloud Storage.
Fai clic sul bucket Cloud Storage da cui vuoi leggere i messaggi e importarli nell'argomento di importazione di Cloud Storage.
Viene visualizzata la pagina Dettagli bucket.
Nella pagina Dettagli bucket, fai clic sulla scheda Autorizzazioni.
Nella scheda Autorizzazioni > Visualizza per entità, fai clic su Concedi accesso.
Viene visualizzata la pagina Concedi l'accesso.
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 formatoservice-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com
.Nel menu a discesa Assegna i ruoli > Seleziona un ruolo, inserisci
Object Reader
e seleziona il ruolo Lettore di oggetti legacy di Storage.Fai clic su Aggiungi un altro ruolo.
Nel menu a discesa Seleziona un ruolo, inserisci
Bucket Reader
e seleziona il ruolo Lettore di bucket legacy di Storage.Fai clic su Salva.
Autorizzazioni per il progetto
Per concedere il ruolo Amministratore archiviazione
(roles/storage.admin
) a livello di progetto, svolgi i seguenti passaggi:
Nella console Google Cloud, vai alla pagina IAM.
Nella scheda Autorizzazioni > Visualizza per entità, fai clic su Concedi accesso.
Viene visualizzata la pagina Concedi l'accesso.
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 formatoservice-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com
.Nel menu a discesa Assegna i ruoli > Seleziona un ruolo, inserisci
Storage Admin
e seleziona il ruolo Amministratore dello spazio di archiviazione.Fai clic su Salva.
Per ulteriori informazioni su Cloud Storage IAM, consulta Identity and Access Management (IAM) di Cloud Storage.
Argomenti sulle proprietà dell'importazione da Cloud Storage
Per ulteriori informazioni sulle proprietà comuni a tutti gli argomenti, consulta Proprietà di un argomento.
Nome bucket
Si tratta del nome del bucket Cloud Storage da cui Pub/Sub legge i dati pubblicati in un argomento di importazione Cloud Storage.
Formato di input
Quando crei un argomento di importazione di Cloud Storage, puoi specificare il formato degli oggetti da importare come Testo, Avro o Avro Pub/Sub.
Testo. Si presume che gli oggetti contengano dati in testo normale. Questo formato di input tenta di importare tutti gli oggetti nel bucket, a condizione che l'oggetto soddisfi il tempo minimo di creazione dell'oggetto e corrisponda ai criteri del pattern glob.
Delimitatore. Puoi anche specificare un delimitatore in base al quale gli oggetti vengono suddivisi in messaggi. Se non viene impostato, viene utilizzato per impostazione predefinita il carattere di a capo (
\n
). Il delimitatore deve essere costituito da un solo carattere.Avro. Gli oggetti sono nel formato binario Apache Avro. Qualsiasi oggetto non in un formato Apache Avro valido non viene importato. Di seguito sono riportate le limitazioni relative ad Avro:
- Le versioni 1.1.0 e 1.2.0 di Avro non sono supportate.
- La dimensione massima di un blocco Avro è 16 MB.
Pub/Sub Avro. Gli oggetti sono nel formato binario Apache Avro con uno schema corrispondente a quello di un oggetto scritto in Cloud Storage utilizzando un abbonamento Cloud Storage Pub/Sub con il formato file Avro. Di seguito sono riportate alcune linee guida importanti per Avro di Pub/Sub:
Il campo dati del record Avro viene utilizzato per compilare il campo dati del messaggio Pub/Sub generato.
Se per l'abbonamento Cloud Storage è specificata l'opzione write_metadata, tutti i valori nel campo degli attributi vengono inseriti come attributi del messaggio Pub/Sub generato.
Se nel messaggio originale scritto in Cloud Storage è specificata una chiave di ordinamento, questo campo viene compilato come attributo con il nome
original_message_ordering_key
nel messaggio Pub/Sub generato.
Ora minima di creazione dell'oggetto
Se vuoi, puoi specificare un tempo minimo di creazione dell'oggetto quando crei un argomento di importazione di Cloud Storage. Verranno importati solo gli oggetti creati a partire da questo timestamp. Questo timestamp deve essere fornito
in un formato come YYYY-MM-DDThh:mm:ssZ
.
È valida qualsiasi data, passata o futura,
da 0001-01-01T00:00:00Z
a 9999-12-31T23:59:59Z
inclusi.
Corrispondenza pattern glob
Se vuoi, puoi specificare un pattern glob di corrispondenza quando crei un argomento di importazione da Cloud Storage. Verranno importati solo gli oggetti con nomi che corrispondono a questo pattern. Ad esempio, per importare tutti gli oggetti con suffisso .txt
,
puoi specificare il pattern glob come **.txt
.
Per informazioni sulla sintassi supportata per i pattern glob, consulta la documentazione di Cloud Storage.
Crea un argomento di importazione Cloud Storage
Assicurati di aver completato le seguenti procedure:
Crea un bucket Cloud Storage. Se utilizzi la console per creare l'argomento di importazione, il flusso di lavoro consente di creare un bucket Cloud Storage.
Aggiungi il ruolo Publisher Pub/Sub all'account di servizio Pub/Sub per tutti gli argomenti.
Concedi le autorizzazioni Cloud Storage all'account di servizio Pub/Sub.
La creazione separata dell'argomento e della sottoscrizione, anche se eseguita in rapida successione, può comportare la perdita di dati. Esiste un breve periodo di tempo in cui l'argomento esiste senza un abbonamento. Se durante questo periodo vengono inviati dati all'argomento, andranno persi. Se crei prima l'argomento, poi la sottoscrizione e infine converti l'argomento in un argomento di importazione, garantisci che nessun messaggio venga perso durante il processo di importazione.
Per creare un argomento di importazione da Cloud Storage:
Console
-
Nella console Google Cloud, vai alla pagina Topic.
-
Fai clic su Crea argomento.
Viene visualizzata la pagina dei dettagli dell'argomento.
-
Nel campo ID argomento, inserisci un ID per l'argomento di importazione di Cloud Storage.
Per ulteriori informazioni sugli argomenti relativi ai nomi, consulta le linee guida per i nomi.
-
Seleziona Aggiungi una sottoscrizione predefinita.
-
Seleziona Attiva importazione.
-
Per l'origine di importazione, seleziona Google Cloud Storage.
-
Per il bucket Cloud Storage, fai clic su Sfoglia.
Viene visualizzata la pagina Seleziona bucket. Seleziona una delle seguenti opzioni:
-
Seleziona un bucket esistente da qualsiasi progetto appropriato.
-
Fai clic sull'icona Crea e segui le istruzioni sullo schermo per creare un nuovo bucket. Dopo aver creato il bucket, selezionalo per l'argomento sull'importazione da Cloud Storage.
-
-
Quando specifichi il bucket, Pub/Sub controlla se sono presenti le autorizzazioni appropriate 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.
Se si verificano problemi di autorizzazione, fai clic su Imposta autorizzazioni. Per ulteriori informazioni, consulta Concedere le autorizzazioni Cloud Storage all'account di servizio Pub/Sub.
-
Per Formato oggetto, seleziona Testo, Avro o Pub/Sub Avro.
Se selezioni Testo, facoltativamente puoi specificare un Delimitatore con cui suddividere gli oggetti in messaggi.
Per ulteriori informazioni su queste opzioni, vedi Formato di input.
- Facoltativo. Puoi specificare un tempo minimo di creazione dell'oggetto per il tuo argomento. Se impostato, vengono importati solo gli oggetti creati dopo il tempo minimo di creazione dell'oggetto.
Per ulteriori informazioni, consulta Tempo minimo di creazione dell'oggetto.
- Devi specificare un pattern glob. Per importare tutti gli oggetti nel bucket,
utilizza
**
come pattern glob. Se impostato, vengono importati solo gli oggetti che corrispondono al pattern specificato.Per ulteriori informazioni, consulta Eseguire la corrispondenza a un pattern glob.
- Mantieni le altre impostazioni predefinite.
- Fai clic su Crea argomento.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Esegui il comando
gcloud pubsub topics create
:gcloud pubsub topics create TOPIC_ID\ --cloud-storage-ingestion-bucket=BUCKET_NAME\ --cloud-storage-ingestion-input-format=INPUT_FORMAT\ --cloud-storage-ingestion-text-delimiter=TEXT_DELIMITER\ --cloud-storage-ingestion-minimum-object-create-time=MINIMUM_OBJECT_CREATE_TIME\ --cloud-storage-ingestion-match-glob=MATCH_GLOB
Nel comando sono obbligatori solo
TOPIC_ID
, il--cloud-storage-ingestion-bucket
e il--cloud-storage-ingestion-input-format
. I flag rimanenti sono facoltativi e possono essere omessi.Sostituisci quanto segue:
-
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. -
INPUT_FORMAT: specifica il formato degli oggetti importati. Può essere
text
,avro
opubsub_avro
. Per ulteriori informazioni su queste opzioni, vedi Formato di input. -
TEXT_DELIMITER: specifica il delimitatore con cui suddividere gli oggetti di testo in messaggi Pub/Sub. Deve essere costituito da un solo carattere e deve essere impostato solo quando
INPUT_FORMAT
ètext
. Il valore predefinito è il carattere di nuova riga (\n
).Quando utilizzi gcloud CLI per specificare il delimitatore, presta molta attenzione alla gestione dei caratteri speciali come il nuovo riga
\n
. Utilizza il formato'\n'
per assicurarti che il delimitatore venga interpretato correttamente. Se utilizzi semplicemente\n
senza virgolette o sfugge, il delimitatore sarà"n"
. -
MINIMUM_OBJECT_CREATE_TIME: specifica il tempo minimo in cui è stato creato un oggetto affinché possa essere importato. Deve essere in UTC nel formato
YYYY-MM-DDThh:mm:ssZ
. Ad esempio:2024-10-14T08:30:30Z
.È valida qualsiasi data, passata o futura, compresa tra
0001-01-01T00:00:00Z
e9999-12-31T23:59:59Z
. -
MATCH_GLOB: specifica il pattern glob da associare per consentire l'importazione di un oggetto. Quando utilizzi gcloud CLI, un pattern di corrispondenza con caratteri
*
deve avere il carattere*
formattato come carattere di escape nel formato\*\*.txt
o l'intero pattern di corrispondenza deve essere tra virgolette"**.txt"
o'**.txt'
. Per informazioni sulla sintassi supportata per i pattern glob, consulta la documentazione di Cloud Storage.
-
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Go.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Java.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Node.js.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Python.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C++
Prima di provare questo esempio, segui le istruzioni di configurazione di C++ riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub C++.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js (TypeScript)
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Node.js.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Se riscontri problemi, consulta la sezione Risolvere i problemi relativi a un argomento di importazione di Cloud Storage.
Modificare un argomento di importazione da Cloud Storage
Puoi modificare un argomento di importazione da Cloud Storage per aggiornarne le proprietà.
Ad esempio, per riavviare l'importazione, puoi modificare il bucket o aggiornare la data di creazione minima dell'oggetto.
Per modificare un argomento di importazione di Cloud Storage:
Console
-
Nella console Google Cloud, vai alla pagina Topic.
-
Fai clic sull'argomento relativo all'importazione da Cloud Storage.
-
Nella pagina dei dettagli dell'argomento, fai clic su Modifica.
-
Aggiorna i campi che vuoi modificare.
-
Fai clic su Aggiorna.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Per evitare di perdere le impostazioni per l'argomento di importazione, assicurati di includerle tutte ogni volta che aggiorni l'argomento. Se ometti qualcosa, Pub/Sub reimposta l'impostazione sul valore predefinito originale.
Esegui il comando
gcloud pubsub topics update
con tutti i flag menzionati nel seguente esempio:gcloud pubsub topics update TOPIC_ID \ --cloud-storage-ingestion-bucket=BUCKET_NAME\ --cloud-storage-ingestion-input-format=INPUT_FORMAT\ --cloud-storage-ingestion-text-delimiter=TEXT_DELIMITER\ --cloud-storage-ingestion-minimum-object-create-time=MINIMUM_OBJECT_CREATE_TIME\ --cloud-storage-ingestion-match-glob=MATCH_GLOB
Sostituisci quanto segue:
-
TOPIC_ID è l'ID o il nome dell'argomento. Questo campo non può essere aggiornato.
-
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. -
INPUT_FORMAT: specifica il formato degli oggetti importati. Può essere
text
,avro
opubsub_avro
. Per ulteriori informazioni su queste opzioni, consulta Formato di input. -
TEXT_DELIMITER: specifica il delimitatore con cui suddividere gli oggetti di testo in messaggi Pub/Sub. Deve essere costituito da un solo carattere e deve essere impostato solo quando
INPUT_FORMAT
ètext
. Il valore predefinito è il carattere di nuova riga (\n
).Quando utilizzi gcloud CLI per specificare il delimitatore, presta molta attenzione alla gestione dei caratteri speciali come il nuovo riga
\n
. Utilizza il formato'\n'
per assicurarti che il delimitatore venga interpretato correttamente. Se utilizzi semplicemente\n
senza virgolette o sfugge, il delimitatore sarà"n"
. -
MINIMUM_OBJECT_CREATE_TIME: specifica il tempo minimo in cui è stato creato un oggetto affinché possa essere importato. Deve essere in UTC nel formato
YYYY-MM-DDThh:mm:ssZ
. Ad esempio:2024-10-14T08:30:30Z
.È valida qualsiasi data, passata o futura, compresa tra
0001-01-01T00:00:00Z
e9999-12-31T23:59:59Z
. -
MATCH_GLOB: specifica il pattern glob da associare per consentire l'importazione di un oggetto. Quando utilizzi gcloud CLI, un pattern di corrispondenza con caratteri
*
deve avere il carattere*
formattato come carattere di escape nel formato\*\*.txt
o l'intero pattern di corrispondenza deve essere tra virgolette"**.txt"
o'**.txt'
. Per informazioni sulla sintassi supportata per i pattern glob, consulta la documentazione di Cloud Storage.
-
Quote e limiti per gli argomenti di importazione di Cloud Storage
Il throughput del publisher per gli argomenti di importazione è limitato dalla quota di pubblicazione dell'argomento. Per ulteriori informazioni, consulta Quote e limiti di Pub/Sub.
Passaggi successivi
Abilita i log della piattaforma per un argomento di importazione di Cloud Storage.
Scegli il tipo di sottoscrizione per l'argomento.
Scopri come pubblicare un messaggio in un argomento.
Risolvi i problemi relativi a un argomento di importazione da Cloud Storage.