Questa pagina mostra come caricare oggetti nel bucket Cloud Storage dal file system locale. Un oggetto caricato è costituito dai dati che vuoi archiviare, insieme ai metadati associati. Per una panoramica concettuale, incluso come scegliere il metodo di caricamento ottimale in base alle dimensioni del file, consulta Caricamenti di oggetti.
Per istruzioni sul caricamento dalla memoria, vedi Caricare oggetti dalla memoria.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per caricare oggetti in un bucket, chiedi all'amministratore di concederti il ruolo IAM Storage Object User (roles/storage.objectUser) sul bucket. Questo ruolo predefinito contiene le autorizzazioni necessarie per caricare un oggetto in un bucket. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
storage.objects.createstorage.objects.delete- Questa autorizzazione è richiesta solo per i caricamenti che sovrascrivono un oggetto esistente.
storage.objects.get- Questa autorizzazione è necessaria solo se prevedi di utilizzare Google Cloud CLI per eseguire le attività in questa pagina.
storage.objects.list- Questa autorizzazione è necessaria solo se prevedi di utilizzare Google Cloud CLI per eseguire le attività in questa pagina. Questa autorizzazione è necessaria anche se vuoi utilizzare la console Google Cloud per verificare gli oggetti che hai caricato.
Se prevedi di utilizzare la console Google Cloud per eseguire le attività descritte in questa pagina, devi disporre anche dell'autorizzazione storage.buckets.list, che non è inclusa nel ruolo Utente oggetti Storage (roles/storage.objectUser). Per ottenere questa autorizzazione, chiedi all'amministratore di concederti il ruolo Storage Admin (roles/storage.admin) nel progetto.
Puoi anche ottenere queste autorizzazioni con altri ruoli predefiniti o ruoli personalizzati.
Per informazioni sulla concessione di ruoli sui bucket, consulta Imposta e gestisci le policy IAM sui bucket.
Caricare un oggetto in un bucket
Per caricare un oggetto in un bucket:
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket in cui vuoi caricare un oggetto.
Nella scheda Oggetti del bucket:
Trascina i file dal desktop o dal file manager al riquadro principale della console Google Cloud .
Fai clic su Carica > Carica file, seleziona i file che vuoi caricare nella finestra di dialogo visualizzata, quindi fai clic su Apri.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Google Cloud , consulta Risoluzione dei problemi.
Riga di comando
Utilizza il comando gcloud storage cp:
gcloud storage cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME
Dove:
OBJECT_LOCATIONè il percorso locale del tuo oggetto. Ad esempio,Desktop/dog.png.DESTINATION_BUCKET_NAMEè il nome del bucket in cui stai caricando l'oggetto. Ad esempio,my-bucket.
Se l'operazione ha esito positivo, la risposta è simile al seguente esempio:
Completed files 1/1 | 164.3kiB/164.3kiB
Puoi impostare i metadati degli oggetti a chiave fissa e personalizzati nell'ambito del caricamento degli oggetti utilizzando i flag dei comandi.
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.
Il seguente esempio carica un singolo oggetto:
L'esempio seguente carica più oggetti contemporaneamente:
L'esempio seguente carica contemporaneamente tutti gli oggetti con un prefisso comune:
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.
Il seguente esempio carica un singolo oggetto:
L'esempio seguente carica più oggetti contemporaneamente:
L'esempio seguente carica contemporaneamente tutti gli oggetti con un prefisso comune:
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.
Il seguente esempio carica un singolo oggetto:
L'esempio seguente carica più oggetti contemporaneamente:
Il seguente esempio carica contemporaneamente tutti gli oggetti con un prefisso comune:
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
Terraform
Puoi utilizzare una risorsa Terraform per caricare un oggetto.
È necessario specificare content o source.
API REST
API JSON
L'API JSON distingue tra i caricamenti di contenuti multimediali, in cui nella richiesta sono inclusi solo i dati degli oggetti, e i caricamenti multiparte dell'API JSON, in cui nella richiesta sono inclusi sia i dati degli oggetti sia i metadati degli oggetti.
Caricamento di contenuti multimediali (un caricamento a richiesta singola senza metadati dell'oggetto)
Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiesta diPOSToggetto:curl -X POST --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME"Dove:
OBJECT_LOCATIONè il percorso locale dell'oggetto. Ad esempio,Desktop/dog.png.OBJECT_CONTENT_TYPEè il tipo di contenuti dell'oggetto. Ad esempio:image/png.BUCKET_NAMEè il nome del bucket in cui stai caricando l'oggetto. Ad esempio,my-bucket.OBJECT_NAMEè il nome con codifica URL che vuoi assegnare all'oggetto. Ad esempio,pets/dog.png, codificato come URLpets%2Fdog.png.
Caricamento in più parti dell'API JSON (un caricamento con una sola richiesta che include i metadati dell'oggetto)
Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione
Authorization.Crea un file
multipart/relatedcontenente le seguenti informazioni:--BOUNDARY_STRING Content-Type: application/json; charset=UTF-8 OBJECT_METADATA --BOUNDARY_STRING Content-Type: OBJECT_CONTENT_TYPE OBJECT_DATA --BOUNDARY_STRING--
Dove:
BOUNDARY_STRINGè una stringa definita da te che identifica le diverse parti del file multiparte. Ad esempio,separator_string.OBJECT_METADATAsono i metadati che vuoi includere per il file, in formato JSON. Come minimo, questa sezione deve includere un attributonameper l'oggetto, ad esempio{"name": "myObject"}.OBJECT_CONTENT_TYPEè il tipo di contenuti dell'oggetto. Ad esempio:text/plain.OBJECT_DATAsono i dati dell'oggetto.
Ad esempio:
--separator_string Content-Type: application/json; charset=UTF-8 {"name":"my-document.txt"} --separator_string Content-Type: text/plain This is a text file. --separator_string--Utilizza
cURLper chiamare l'API JSON con una richiestaPOSTObject:curl -X POST --data-binary @MULTIPART_FILE_LOCATION \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: multipart/related; boundary=BOUNDARY_STRING" \ -H "Content-Length: MULTIPART_FILE_SIZE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=multipart"Dove:
MULTIPART_FILE_LOCATIONè il percorso locale del file multiparte che hai creato nel passaggio 2. Ad esempio,Desktop/my-upload.multipart.BOUNDARY_STRINGè la stringa di confine che hai definito nel passaggio 2. Ad esempio,my-boundary.MULTIPART_FILE_SIZEè la dimensione totale, in byte, del file multiparte che hai creato nel passaggio 2. Ad esempio,2000000.BUCKET_NAMEè il nome del bucket in cui stai caricando l'oggetto. Ad esempio,my-bucket.
Se la richiesta ha esito positivo, il server restituisce il codice di stato HTTP 200 OK insieme ai metadati del file.
API XML
Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API XML con una richiestaPUTObject:curl -X PUT --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"Dove:
OBJECT_LOCATIONè il percorso locale del tuo oggetto. Ad esempio,Desktop/dog.png.OBJECT_CONTENT_TYPEè il tipo di contenuti dell'oggetto. Ad esempio:image/png.BUCKET_NAMEè il nome del bucket in cui stai caricando l'oggetto. Ad esempio,my-bucket.OBJECT_NAMEè il nome con codifica URL che vuoi assegnare all'oggetto. Ad esempio,pets/dog.png, codificato come URLpets%2Fdog.png.
Puoi impostare metadati degli oggetti aggiuntivi nell'ambito del caricamento degli oggetti nelle intestazioni della richiesta, nello stesso modo in cui l'esempio precedente imposta Content-Type. Quando utilizzi l'API XML, i metadati possono essere impostati solo al momento della scrittura dell'oggetto, ad esempio durante il caricamento, la copia o la sostituzione dell'oggetto. Per saperne di più, consulta Modifica dei metadati degli oggetti.
Caricare i contenuti di una directory in un bucket
Per copiare i contenuti di una directory in un bucket:
Riga di comando
Utilizza il comando gcloud storage rsync con il flag --recursive:
gcloud storage rsync --recursive LOCAL_DIRECTORY gs://DESTINATION_BUCKET_NAME/FOLDER_NAME
Dove:
LOCAL_DIRECTORYè il percorso della directory che contiene i file che vuoi caricare come oggetti. Ad esempio,~/my_directory.DESTINATION_BUCKET_NAMEè il nome del bucket in cui vuoi caricare gli oggetti. Ad esempio,my-bucket.FOLDER_NAME(facoltativo) è il nome della cartella all'interno del bucket in cui vuoi caricare gli oggetti. Ad esempio,my-folder.
Se l'operazione ha esito positivo, la risposta è simile al seguente esempio:
Completed files 1/1 | 5.6kiB/5.6kiB
Puoi impostare i metadati degli oggetti personalizzati e a chiave fissa nell'ambito del caricamento degli oggetti utilizzando i flag dei comandi.
Passaggi successivi
- Scopri di più sui requisiti di denominazione per gli oggetti.
- Scopri come utilizzare le cartelle per organizzare gli oggetti.
- Trasferisci gli oggetti dall'istanza Compute Engine.
- Trasferisci dati da cloud provider o altre origini online, ad esempio elenchi di URL.
- Controlla chi ha accesso ai tuoi oggetti e bucket.
- Visualizza i metadati dell'oggetto, incluso l'URL dell'oggetto.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di Cloud Storage in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
Prova Cloud Storage senza costi