Cloud Storage supporta lo streaming di dati da un bucket a un processo senza richiedere che i dati vengano prima salvati in un file.
Utilizzo della convalida del checksum durante lo streaming
Non devi utilizzare un download in streaming se richiedi la convalida del checksum
prima che i dati diventino accessibili. Questo perché i download in streaming utilizzano
l'intestazione Range
e Cloud Storage non restituisce checksum nella
risposta che si applicano solo alla porzione richiesta di dati dell'oggetto.
Ti consigliamo di utilizzare sempre la convalida del checksum, che puoi eseguire dopo il completamento del download dello streaming. Tuttavia, la convalida dopo il completamento del download significa che tutti i dati danneggiati sono accessibili durante il tempo necessario per confermare il danneggiamento e rimuoverli.
Ruoli obbligatori
Per ottenere le autorizzazioni richieste per i download in streaming, chiedi all'amministratore di concederti il ruolo Visualizzatore oggetti Storage (roles/storage.objectViewer
) nel bucket.
Questo ruolo contiene l'autorizzazione necessaria per lo streaming dei download. Per vedere l'autorizzazione esatta richiesta, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
storage.objects.get
Potresti anche ottenere questa autorizzazione con altri ruoli predefiniti o ruoli personalizzati.
Per istruzioni sulla concessione dei ruoli sui bucket, consulta Utilizzare IAM con i bucket.
Trasmettere in streaming un download
Gli esempi riportati di seguito mostrano come eseguire un download da un oggetto Cloud Storage a un processo:
Console
La Google Cloud console non supporta i download in streaming. Utilizza invece Google Cloud CLI.
Riga di comando
Esegui il comando
gcloud storage cp
utilizzando un trattino per l'URL di destinazione, quindi reindirizza i dati al processo:gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME - | PROCESS_NAME
Dove:
BUCKET_NAME
è il nome del bucket contenente l'oggetto. Ad esempio,my_app_bucket
.OBJECT_NAME
è il nome dell'oggetto che stai trasmettendo in streaming al processo. Ad esempio,data_measurements
.PROCESS_NAME
è il nome del processo in cui inserisci i dati. Ad esempio,analyze_data
.
Puoi anche trasmettere 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 Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
API REST
API JSON
Per eseguire un download in streaming, segui le istruzioni per scaricare un oggetto con 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 da 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 a un processo locale.Continua a effettuare richieste per i pezzi successivi dell'oggetto finché non viene recuperato l'intero oggetto.
API XML
Per eseguire un download in streaming, segui le istruzioni per scaricare un oggetto con 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 da 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 a un processo locale.Continua a effettuare richieste per i pezzi successivi dell'oggetto finché non viene recuperato l'intero oggetto.
Passaggi successivi
- Trasmettere in streaming un caricamento.
- Scopri di più sulla transcodifica decompressiva.
- Scopri di più su caricamenti e download.