Cloud Storage supporta il flusso di dati da un bucket a un processo senza richiedere il salvataggio dei dati su un file.
Utilizzo della convalida del checksum durante il flusso di dati
Non devi utilizzare un download in modalità flusso se hai bisogno della convalida del checksum prima che i dati diventino accessibili. Questo perché i download in modalità flusso utilizzano l'intestazione Range
e Cloud Storage non esegue la convalida del checksum su queste richieste.
Ti consigliamo di utilizzare sempre la convalida del checksum, che puoi eseguire manualmente al termine del download di un flusso di dati. Tuttavia, la convalida dopo il completamento del download fa sì che i dati danneggiati siano accessibili durante il tempo necessario per confermare il danneggiamento del sito e rimuoverlo.
Prerequisiti
I prerequisiti possono variare in base allo strumento utilizzato:
Console
Per completare questa guida utilizzando la console Google Cloud, devi disporre delle autorizzazioni IAM appropriate. Se il bucket a cui vuoi accedere per il flusso di dati esiste in un progetto non creato da te, potrebbe essere necessario che il proprietario del progetto ti conceda un ruolo che contiene le autorizzazioni necessarie.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta Autorizzazioni IAM per la console Google Cloud.
Per un elenco dei ruoli pertinenti, consulta Ruoli di Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
Riga di comando
Per completare questa guida utilizzando un'utilità a riga di comando, devi disporre delle autorizzazioni IAM appropriate. Se il bucket a cui vuoi accedere per i flussi di dati esiste in un progetto non creato da te, potrebbe essere necessario che il proprietario del progetto ti conceda un ruolo che contenga le autorizzazioni necessarie.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta Autorizzazioni IAM per i comandi gcloud storage
.
Per un elenco dei ruoli pertinenti, consulta Ruoli di Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
Librerie client
Per completare questa guida utilizzando le librerie client di Cloud Storage, devi disporre delle autorizzazioni IAM appropriate. Se il bucket a cui vuoi accedere per i flussi di dati esiste in un progetto non creato da te, potrebbe essere necessario che il proprietario del progetto ti conceda un ruolo che contenga le autorizzazioni necessarie.
Se non diversamente indicato, le richieste di libreria client vengono effettuate tramite l'API JSON e richiedono le autorizzazioni elencate nelle autorizzazioni IAM per i metodi JSON. Per vedere quali metodi dell'API JSON vengono richiamati quando effettui richieste utilizzando una libreria client, registra le richieste non elaborate.
Per un elenco dei ruoli IAM pertinenti, consulta Ruoli di Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
API REST
API JSON
Per completare questa guida utilizzando l'API JSON, devi disporre delle autorizzazioni IAM appropriate. Se il bucket a cui vuoi accedere per i flussi di dati esiste in un progetto non creato da te, potrebbe essere necessario che il proprietario del progetto ti conceda un ruolo che contenga le autorizzazioni necessarie.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta Autorizzazioni IAM per i metodi JSON.
Per un elenco dei ruoli pertinenti, consulta Ruoli di Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
Riprodurre un download in streaming
I seguenti esempi mostrano come eseguire un download da un oggetto Cloud Storage a un processo:
Console
La console Google Cloud non supporta i download in streaming. Utilizza invece gcloud CLI.
Riga di comando
Esegui il comando
gcloud storage cp
utilizzando un trattino per l'URL di destinazione, quindi associa i dati al processo:gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME - | PROCESS_NAME
Dove:
BUCKET_NAME
è il nome del bucket che contiene l'oggetto. Ad esempio,my_app_bucket
.OBJECT_NAME
è il nome dell'oggetto di cui si esegue il flusso di dati nel processo. Ad esempio,data_measurements
.PROCESS_NAME
è il nome del processo in cui vengono forniti i dati. Ad esempio,analyze_data
.
Puoi anche creare un flusso di dati da un oggetto Cloud Storage a un comando Linux standard come sort:
gcloud storage cp gs://my_app_bucket/data_measurements - | sort
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Per eseguire un download in modalità flusso, segui le istruzioni per il download di un oggetto, tenendo presenti le seguenti considerazioni:
Prima di iniziare il download, recupera i metadati dell'oggetto e salva il numero di generazione dell'oggetto. Includi questo numero di generazione in ogni richiesta per assicurarti di non scaricare dati di due generazioni diverse nel caso in cui l'originale venga sovrascritto.
Utilizza l'intestazione
Range
nella richiesta per recuperare una parte dell'oggetto complessivo, che puoi inviare al processo locale desiderato.Continua a effettuare richieste per parti successive dell'oggetto, fino a quando l'intero oggetto non è stato recuperato.
API XML
Per eseguire un download in modalità flusso, segui le istruzioni per il download di un oggetto, tenendo presenti le seguenti considerazioni:
Prima di iniziare il download, recupera i metadati dell'oggetto e salva il numero di generazione dell'oggetto. Includi questo numero di generazione in ogni richiesta per assicurarti di non scaricare dati di due generazioni diverse nel caso in cui l'originale venga sovrascritto.
Utilizza l'intestazione
Range
nella richiesta per recuperare una parte dell'oggetto complessivo, che puoi inviare al processo locale desiderato.Continua a effettuare richieste per parti successive dell'oggetto, fino a quando l'intero oggetto non è stato recuperato.
Passaggi successivi
- Trasmettere un caricamento in streaming
- Scopri di più sulla transcodifica decompressiva.
- Scopri di più su caricamenti e download.