Cloud Storage supporta le letture di oggetti in streaming, 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 Scaricare oggetti come file.
Utilizzo della convalida del checksum durante le letture di streaming
Non devi utilizzare una lettura in streaming se richiedi la convalida del checksum
prima dell'elaborazione dei dati. Poiché le letture in streaming utilizzano in genere l'intestazione HTTP Range, Cloud Storage non restituisce checksum che si applicano esclusivamente a una porzione arbitraria richiesta di 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 lo streaming delle letture. Per vedere quali sono esattamente le autorizzazioni richieste, 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 le policy IAM sui bucket.
Trasmettere in streaming la lettura di un oggetto
Gli esempi riportati di seguito mostrano come eseguire una lettura in streaming 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 alla pipe del 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 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 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 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 i pezzi successivi dell'oggetto finché non viene 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 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 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 letture e download di oggetti.