Questa pagina mostra come comporre oggetti Cloud Storage in un . Una richiesta di scrittura richiede da 1 a 32 oggetti e crea un nuovo oggetto composito. L'oggetto composto è una concatenazione degli oggetti di origine nell'ordine in cui sono stati specificati nella richiesta.
Quando scrivi oggetti, tieni presente quanto segue:
- Gli oggetti di origine non sono interessati dal processo di composizione. Se sono pensati per essere temporanei, devi eliminarli dopo averli completato la composizione.
- Poiché altre classi di archiviazione sono soggette a tariffe per l'eliminazione anticipata, deve sempre utilizzare Standard Storage per gli oggetti temporanei.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per comporre oggetti, chiedi al tuo
che ti conceda l'Utente oggetto Storage (roles/storage.objectUser
)
ruolo IAM nel bucket. Questo ruolo predefinito contiene le autorizzazioni necessarie per comporre gli oggetti. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
storage.objects.create
storage.objects.delete
- Questa autorizzazione è necessaria solo se vuoi concedere all'oggetto lo stesso nome di un oggetto già esistente nel bucket.
storage.objects.get
storage.objects.list
- Questa autorizzazione è necessaria solo se vuoi utilizzare i caratteri jolly per comporre oggetti con un prefisso comune senza dover elencare ogni oggetto separatamente nel comando Google Cloud CLI.
Se vuoi impostare una configurazione di conservazione per l'oggetto
che componi, dovrai disporre anche dell'autorizzazione storage.objects.setRetention
. A
ottenere questa autorizzazione, chiedi all'amministratore di concederti l'oggetto Storage
Ruolo Amministratore (roles/storage.objectAdmin
) anziché Utente oggetti Storage
(roles/storage.objectUser
).
Puoi anche ottenere queste autorizzazioni con altri ruoli predefiniti o personalizzati.
Per informazioni sulla concessione dei ruoli ai bucket, consulta Utilizzare IAM con i bucket.
Crea un oggetto composito
Riga di comando
Utilizza il comando gcloud storage objects compose
:
gcloud storage objects compose gs://BUCKET_NAME/SOURCE_OBJECT_1 gs://BUCKET_NAME/SOURCE_OBJECT_2 gs://BUCKET_NAME/COMPOSITE_OBJECT_NAME
Dove:
BUCKET_NAME
è il nome del bucket che contiene gli oggetti di origine.SOURCE_OBJECT_1
eSOURCE_OBJECT_2
sono i nomi degli oggetti di origine da utilizzare nella composizione degli oggetti.COMPOSITE_OBJECT_NAME
è il tuo nome dando al risultato della composizione dell'oggetto.
Librerie client
C++
Per ulteriori informazioni, consulta API Cloud Storage C++ documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere installato e inizializzato l'interfaccia a riga di comando gcloud, che consente di generare un token di accesso per l'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{ "sourceObjects": [ { "name": "SOURCE_OBJECT_1" }, { "name": "SOURCE_OBJECT_2" } ], "destination": { "contentType": "COMPOSITE_OBJECT_CONTENT_TYPE" } }
Dove:
Utilizza
cURL
per chiamare l'API JSON con una richiesta diPOST
Object:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/COMPOSITE_OBJECT_NAME/compose"
Dove:
JSON_FILE_NAME
è il nome del file che hai creato nel passaggio precedente.BUCKET_NAME
è il nome del bucket che contiene gli oggetti di origine.COMPOSITE_OBJECT_NAME
è il tuo nome dando al risultato della composizione dell'oggetto.
In caso di esito positivo, la risposta è una risorsa oggetto per l'oggetto composito risultante.
API XML
Avere gcloud CLI installato e inizializzato, che consente generi un token di accesso per l'intestazione
Authorization
.Crea un file XML contenente le seguenti informazioni:
<ComposeRequest> <Component> <Name>SOURCE_OBJECT_1</Name> </Component> <Component> <Name>SOURCE_OBJECT_2</Name> </Component> </ComposeRequest>
Dove:
SOURCE_OBJECT_1
eSOURCE_OBJECT_2
sono i nomi degli oggetti di origine da utilizzare nella composizione degli oggetti.
Utilizza
cURL
per chiamare l'API XML con una richiesta diPUT
oggetto e il parametro di stringa di querycompose
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: COMPOSITE_OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/BUCKET_NAME/COMPOSITE_OBJECT_NAME?compose"
Dove:
XML_FILE_NAME
è il nome del file che creato nel passaggio precedente.COMPOSITE_OBJECT_CONTENT_TYPE
è il valore Content-Type dell'oggetto composto risultante.BUCKET_NAME
è il nome del bucket che contiene gli oggetti di origine.COMPOSITE_OBJECT_NAME
è il tuo nome dando al risultato della composizione dell'oggetto.
In caso di esito positivo, viene restituito un corpo della risposta vuoto.
Passaggi successivi
- Scopri di più sulla composizione degli oggetti.
- Scopri come utilizzare i precondizioni della richiesta per evitare le condizioni di gara.