Cloud Storage supporta le letture di oggetti in modalità flusso, il che consente a un'applicazione o a un processo di utilizzare i flussi di byte degli oggetti in tempo reale direttamente tramite la 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 invece Scarica oggetti come file.
Utilizzo della convalida del checksum durante le letture in streaming
Non devi utilizzare una lettura in streaming se hai bisogno della convalida del checksum prima del trattamento dati. Poiché le letture in streaming in genere utilizzano l'intestazione HTTP Range, Cloud Storage non restituisce checksum che si applicano esclusivamente a una parte 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 sia terminato e convalidato.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie 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 necessaria per eseguire lo streaming delle letture. 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 di ruoli sui bucket, consulta Imposta e gestisci le policy IAM sui bucket.
Trasmetti in streaming la lettura di un oggetto
I seguenti esempi mostrano come eseguire una lettura in modalità flusso da un oggetto Cloud Storage a un processo:
Console
La console Google Cloud 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 tramite pipe 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 nel processo. Ad esempio,data_measurements.PROCESS_NAMEè il nome del processo in cui stai inserendo 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 saperne di più, 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 Configura l'autenticazione per le librerie client.
C#
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Go
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Java
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Node.js
Per saperne di più, 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 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 il download di un oggetto tenendo conto delle 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 dati da 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 inviare richieste per le parti successive dell'oggetto fino a recuperare l'intero oggetto.
API XML
Per eseguire una lettura in streaming, segui le istruzioni per il download di un oggetto tenendo conto delle 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 dati da 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 inviare richieste per le parti successive dell'oggetto fino a recuperare l'intero oggetto.
Passaggi successivi
- Trasmetti in streaming un caricamento.
- Scopri di più sulla transcodifica decompressiva.
- Scopri di più sulle letture e sui download degli oggetti.