Cloud Storage supporta le letture di oggetti in streaming, che consentono a un'applicazione o a un processo di utilizzare i flussi di byte degli oggetti in tempo reale direttamente sulla connessione di rete senza salvare una copia dei dati su un disco locale o su uno spazio di archiviazione permanente.
Se vuoi scaricare un oggetto e salvarlo nel file system locale, consulta Scaricare gli oggetti come file invece.
Utilizzare la convalida del checksum durante le letture in streaming
Non devi utilizzare una lettura in streaming se richiedi la convalida del checksum
prima del trattamento dati. Poiché le letture in streaming in genere utilizzano l'intestazione Range HTTP, Cloud Storage non restituisce checksum che si applicano esclusivamente a una porzione arbitraria richiesta dei dati dell'oggetto. I checksum del server convalidano l'oggetto completo, il che significa che i dati danneggiati potrebbero essere letti ed elaborati prima che lo stream completo venga completato e convalidato.
Ruoli obbligatori
Per ottenere le autorizzazioni richieste per le letture in streaming, chiedi all'amministratore di concederti il ruolo Visualizzatore oggetti Storage (roles/storage.objectViewer) sul bucket.
Questo ruolo contiene l'autorizzazione richiesta per le letture in streaming. 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 Impostare e gestire i criteri IAM sui bucket.
Eseguire lo streaming di una lettura di oggetti
Gli esempi seguenti mostrano come eseguire una lettura in streaming da un oggetto Cloud Storage a un processo:
Console
La Google Cloud console non supporta le letture in streaming. Utilizza invece Google Cloud CLI.
Riga di comando
Esegui il comando
gcloud storage cputilizzando un trattino per l' URL di destinazione, quindi invia 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 di cui stai eseguendo lo streaming al processo. Ad esempio,data_measurements.PROCESS_NAMEè il nome del processo in cui stai inserendo i dati. Ad esempio,analyze_data.
Puoi anche eseguire lo streaming dei 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 saperne di più, consulta la documentazione di riferimento dell'C++API Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
C#
Per saperne di più, consulta la documentazione di riferimento dell'C#API Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Go Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Java
Per saperne di più, consulta la documentazione di riferimento dell'API JavaCloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Node.js Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
PHP
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Python
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Ruby
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Rust
API REST
API JSON
Per eseguire una lettura in streaming, segui le istruzioni per scaricare un oggetto con le seguenti considerazioni:
Prima di iniziare la lettura, 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 leggere i dati di due generazioni diverse nel caso in cui l'originale venga sovrascritto.
Utilizza l'intestazione
Rangenella richiesta per recuperare una parte dell'oggetto complessivo, che puoi inviare a un processo locale.Continua a effettuare richieste per le parti successive dell'oggetto finché non è stato recuperato l'intero oggetto.
API XML
Per eseguire una lettura in streaming, segui le istruzioni per scaricare un oggetto con le seguenti considerazioni:
Prima di iniziare la lettura, 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 leggere i dati di due generazioni diverse nel caso in cui l'originale venga sovrascritto.
Utilizza l'intestazione
Rangenella richiesta per recuperare una parte dell'oggetto complessivo, che puoi inviare a un processo locale.Continua a effettuare richieste per le parti successive dell'oggetto finché non è stato recuperato l'intero oggetto.
Passaggi successivi
- Eseguire lo streaming di un caricamento.
- Scopri di più sulla transcodifica decompressiva.
- Scopri di più sulle letture e sui download degli oggetti.