Questa pagina descrive come allegare e gestire i contesti sugli oggetti Cloud Storage sotto forma di coppie chiave-valore.
Ottenere i ruoli richiesti
Per ottenere le autorizzazioni necessarie per creare e gestire i contesti degli oggetti, chiedi all'amministratore di concederti i seguenti ruoli IAM sull'oggetto:
-
Crea oggetti con contesti:
Storage Object Creator (
roles/storage.objectCreator) -
Allegare, aggiornare, visualizzare ed eliminare contesti dagli oggetti:
Storage Object User (
roles/storage.objectUser) -
Visualizza le chiavi e i valori di contesto allegati agli oggetti:
Visualizzatore oggetti Storage (
roles/storage.objectViewer) -
Elimina i contesti degli oggetti durante le operazioni di riscrittura, copia e composizione:
Proprietario oggetti legacy Storage (
roles/storage.legacyObjectOwner)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare e gestire i contesti degli oggetti. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare e gestire i contesti degli oggetti sono necessarie le seguenti autorizzazioni:
-
Crea un oggetto con contesti dell'oggetto:
-
storage.objects.create -
storage.objects.createContext
-
-
Allega, aggiorna ed elimina contesti degli oggetti:
-
storage.objects.update -
storage.objects.createContext -
storage.objects.updateContext -
storage.objects.deleteContext
-
-
Elimina contesti degli oggetti:
storage.objects.dropContexts -
Visualizza i contesti degli oggetti:
-
storage.objects.get -
storage.objects.list
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Allegare contesti a nuovi oggetti
Allega contesti agli oggetti quando carichi nuovi oggetti nei bucket Cloud Storage. Ogni contesto è costituito da una chiave e da un valore.
Riga di comando
Per allegare contesti quando carichi oggetti con il comando
gcloud storage cp, utilizza il flag --custom-contexts:
gcloud storage cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME --custom-contexts=KEY=VALUE,...
Dove:
OBJECT_LOCATIONè il percorso locale dell'oggetto. Ad esempio,Desktop/employees.txt.DESTINATION_BUCKET_NAMEè il nome del bucket in cui stai caricando l'oggetto. Ad esempio,my-bucket.KEYè la chiave del contesto da allegare a un oggetto. Ad esempio,Department. Puoi specificare più coppie chiave-valore separate da virgole.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
In alternativa, crea un file JSON contenente i contesti che vuoi allegare agli oggetti e utilizza il flag --custom-contexts-file:
{ "KEY": { "value": "VALUE" }, ... }
Dove:
KEYè la chiave del contesto da allegare a un oggetto. Ad esempio,Department. Puoi specificare più coppie chiave-valore.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
Per collegare i contesti quando carichi directory con il comando gcloud storage rsync, utilizza il flag --custom-contexts o il flag --custom-contexts-file:
gcloud storage rsync DIRECTORY_LOCATION gs://DESTINATION_BUCKET_NAME --recursive --custom-contexts=KEY=VALUE,...
Dove:
DIRECTORY_LOCATIONè il percorso locale della tua directory. Ad esempio,~/my_directory.DESTINATION_BUCKET_NAMEè il nome del bucket in cui stai caricando la directory. Ad esempio,my-bucket.KEYè la chiave del contesto da allegare agli oggetti. Ad esempio,Department. Puoi specificare più coppie chiave-valore separate da virgole.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
API JSON
Per allegare contesti agli oggetti quando carichi nuovi oggetti, utilizza uno dei seguenti metodi:
Come parte dei metadati dell'oggetto in formato JSON, includi il campo contexts:
{ "contexts": { "custom": { "KEY": { "value": "VALUE" }, ... } } }
Dove:
KEYè la chiave del contesto da allegare a un oggetto. Ad esempio,Department. Puoi specificare più coppie chiave-valore nell'oggettocustom.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
Allegare o modificare i contesti di un oggetto esistente
Puoi collegare nuovi contesti agli oggetti esistenti nei bucket Cloud Storage.
Riga di comando
Utilizza il comando gcloud storage objects update:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME CUSTOM_CONTEXTS_FLAG
Dove:
BUCKET_NAMEè il nome del bucket che contiene l'oggetto per cui vuoi modificare il contesto. Ad esempio,my-bucket.OBJECT_NAMEè il nome dell'oggetto. Ad esempio,employees.txt.CUSTOM_CONTEXTS_FLAGè uno dei seguenti flag:Per sostituire tutti i contesti esistenti, utilizza
--custom-contexts=KEY=VALUE,...o--custom-contexts-file=CUSTOM_CONTEXTS_FILEDove:
KEYè la chiave di contesto da allegare a un oggetto. Ad esempio,Department. Puoi specificare più coppie chiave-valore separate da virgole.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.CUSTOM_CONTEXTS_FILEè il percorso del file JSON o YAML che contiene i contesti da allegare all'oggetto.
Per eliminare tutti i contesti esistenti, utilizza il flag
--clear-custom-contexts.Per aggiungere, modificare o eliminare singoli contesti, utilizza una combinazione di
--update-custom-contexts=KEY=VALUE,...e--remove-custom-contexts=KEY,...Dove:
KEYè la chiave di contesto che vuoi allegare a un oggetto o eliminare da un oggetto. Ad esempio,Department.VALUEè il valore da associare alla chiave di contesto che vuoi allegare a un oggetto o eliminare da un oggetto. Ad esempio,Human resources.
Se l'operazione ha esito positivo, la risposta è simile al seguente esempio:
Patching gs://my-bucket/employees.txt#1560574162144861... Completed 1
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.
API JSON
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Crea un file JSON contenente le impostazioni dell'oggetto, che deve includere i campi di configurazione
contextsper l'oggetto.Per aggiungere, modificare o sovrascrivere i contesti esistenti, utilizza il seguente formato:
{ "contexts": { "custom": { "KEY": { "value": "VALUE" }, ... } } }
Dove:
KEYè la chiave del contesto da allegare a un oggetto. Ad esempio,Department. Puoi specificare più coppie chiave-valore nell'oggettocustom.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
Per eliminare tutti i contesti esistenti, utilizza il seguente formato:
{ "contexts": { "custom": null } }
Per eliminare una chiave specifica dal contesto, utilizza il seguente formato:
{ "contexts": { "custom": { "KEY": null, ... } } }
Dove:
KEYè la chiave di contesto che vuoi eliminare da un oggetto. Ad esempio,Department. Puoi specificare più chiavi da eliminare dall'oggettocustom.Utilizza
cURLper chiamare l'API JSON con una richiesta diPATCHoggetto:curl -X PATCH --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/OBJECT_NAME"
Dove:
JSON_FILE_NAMEè il percorso del file che include le informazioni sui contesti degli oggetti.BUCKET_NAMEè il nome del bucket che contiene l'oggetto per cui vuoi modificare il contesto. Ad esempio,my-bucket.OBJECT_NAMEè il nome codificato come URL dell'oggetto. Ad esempio,employees.txt.
In alternativa, puoi sostituire il contesto di un oggetto con una richiesta PUT
Object. La richiesta dell'oggetto PUT sostituisce anche altri
metadati dell'oggetto. Pertanto, non consigliamo di utilizzare la richiesta di oggetti PUT.
Visualizzare i contesti degli oggetti
Puoi visualizzare i contesti di un oggetto elencando i metadati dell'oggetto o descrivendo un oggetto specifico.
Riga di comando
Utilizza il comando gcloud storage objects describe:
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME
Dove:
BUCKET_NAMEè il nome del bucket contenente l'oggetto di cui vuoi visualizzare il contesto. Ad esempio,my-bucket.OBJECT_NAMEè il nome dell'oggetto di cui vuoi visualizzare il contesto. Ad esempio,employees.txt
Se l'operazione ha esito positivo, la risposta è simile al seguente esempio:
bucket: my-bucket
contexts:
Department:
createTime: '2023-01-01T00:00:00.000000+00:00'
type: CUSTOM
updateTime: '2023-01-01T00:00:00.000000+00:00'
value: Human resources
name: employees.txt
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.
API JSON
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiesta diGEToggetto:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
Dove:
BUCKET_NAMEè il nome del bucket che contiene l'oggetto di cui vuoi visualizzare il contesto. Ad esempio,my-bucket.OBJECT_NAMEè il nome codificato tramite URL dell'oggetto di cui vuoi visualizzare il contesto. Ad esempio,employees.txt.
Se l'operazione ha esito positivo, la risposta è simile al seguente esempio:
{ "kind": "storage#object", "name": "employees.txt", "bucket": "my-bucket", "contexts": { "custom": { "Department": { "value": "Human resources", "createTime": "2023-01-01T00:00:00.000Z", "updateTime": "2023-01-01T00:00:00.000Z" } } } }
Filtrare gli oggetti per contesti
Filtra gli oggetti in base all'esistenza di chiavi di contesto dell'oggetto o ai relativi valori specifici. Il filtraggio degli oggetti per contesti consente di individuare e gestire in modo efficiente gruppi particolari di oggetti. Per maggiori dettagli, vedi Filtrare gli oggetti per contesti.
Gestisci i contesti degli oggetti durante le operazioni sugli oggetti
Per impostazione predefinita, Cloud Storage conserva i contesti degli oggetti quando li copi, riscrivi, componi, sposti o ripristini.
Copiare oggetti
Per impostazione predefinita, Cloud Storage conserva i contesti degli oggetti dall'oggetto di origine durante un'operazione di copia, anche se esegui l'override di altri metadati. Per modificare i contesti degli oggetti durante un'operazione di copia:
Riga di comando
I comandi gcloud storage cp, gcloud storage rsync e gcloud storage mv conservano i contesti dell'oggetto di origine per impostazione predefinita. Per modificare i contesti durante queste operazioni, utilizza uno dei seguenti flag:
Il flag
--custom-contextsper impostare nuovi contesti per l'oggetto di destinazione.Il flag
--clear-custom-contextsper impedire che i contesti dell'oggetto origine vengano allegati all'oggetto di destinazione.Una combinazione dei flag
--update-custom-contextse--remove-custom-contextsper modificare i singoli contesti dell'oggetto origine prima di collegarli all'oggetto di destinazione.
Per impostare nuovi contesti quando copi un oggetto, utilizza il comando gcloud storage cp:
gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME --custom-contexts=KEY=VALUE,...
Dove:
SOURCE_BUCKET_NAMEè il nome del bucket contenente l'oggetto da copiare. Ad esempio,my-source-bucket.SOURCE_OBJECT_NAMEè il nome dell'oggetto da copiare. Ad esempio,employees.txt.DESTINATION_BUCKET_NAMEè il nome del bucket in cui copiare l'oggetto. Ad esempio,my-destination-bucket.DESTINATION_OBJECT_NAMEè il nome dell'oggetto di destinazione. Ad esempio,employees-backup.txt.KEYè la chiave del contesto da allegare a un oggetto. Ad esempio,Department. Puoi specificare più coppie chiave-valore separate da virgole.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
Per rimuovere tutti i contesti dall'oggetto di origine quando copi un oggetto, utilizza il comando gcloud storage cp:
gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME --clear-custom-contexts
Dove:
SOURCE_BUCKET_NAMEè il nome del bucket contenente l'oggetto da copiare. Ad esempio,my-source-bucket.SOURCE_OBJECT_NAMEè il nome dell'oggetto da copiare. Ad esempio,pets/dog.png.DESTINATION_BUCKET_NAMEè il nome del bucket in cui copiare l'oggetto. Ad esempio,my-destination-bucket.DESTINATION_OBJECT_NAMEè il nome dell'oggetto di destinazione. Ad esempio,pets/cat.png.
Per modificare i singoli contesti dell'oggetto di origine quando copi un oggetto,
utilizza il comando gcloud storage cp con --update-custom-contexts
e --remove-custom-contexts:
gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME --update-custom-contexts=KEY=VALUE,... --remove-custom-contexts=KEY,...
Dove:
SOURCE_BUCKET_NAMEè il nome del bucket contenente l'oggetto da copiare. Ad esempio,my-source-bucket.SOURCE_OBJECT_NAMEè il nome dell'oggetto da copiare. Ad esempio,pets/dog.png.DESTINATION_BUCKET_NAMEè il nome del bucket in cui copiare l'oggetto. Ad esempio,my-destination-bucket.DESTINATION_OBJECT_NAMEè il nome dell'oggetto di destinazione. Ad esempio,pets/cat.png.KEYè la chiave del contesto da allegare a un oggetto. Ad esempio,Department. Puoi specificare più coppie chiave-valore o chiavi separate da virgole.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
API JSON
Per ignorare i contesti durante la copia di un oggetto, includi la
proprietà contexts.custom nel corpo della richiesta:
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Crea un file JSON contenente i contesti da allegare all'oggetto di destinazione:
{ "contexts": { "custom": { "KEY": { "value": "VALUE" } } } }
Dove:
KEYè la chiave del contesto da allegare a un oggetto. Ad esempio,Department.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
Utilizza
cURLper chiamare l'API JSON con una richiesta diPOSToggetto: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/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/copyTo/b/DESTINATION_BUCKET_NAME/o/DESTINATION_OBJECT_NAME"
Dove:
JSON_FILE_NAMEè il percorso del file JSON che include le informazioni sui contesti degli oggetti.SOURCE_BUCKET_NAMEè il nome del bucket che contiene l'oggetto da copiare. Ad esempio,my-source-bucket.SOURCE_OBJECT_NAMEè il nome con codifica URL dell'oggetto da copiare. Ad esempio,employees.txt.DESTINATION_BUCKET_NAMEè il nome del bucket in cui copiare l'oggetto. Ad esempio,my-destination-bucket.DESTINATION_OBJECT_NAMEè il nome con codifica URL dell'oggetto di destinazione. Ad esempio,employees-backup.txt.
Per rimuovere tutti i contesti di origine senza fornire un override, utilizza il
parametro di query dropContextGroups=custom nella richiesta:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/copyTo/b/DESTINATION_BUCKET_NAME/o/DESTINATION_OBJECT_NAME?dropContextGroups=custom"
Per preservare i contesti, ometti la proprietà contexts.custom dal corpo della richiesta ed escludi dropContextGroups=custom nei parametri di ricerca:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/copyTo/b/DESTINATION_BUCKET_NAME/o/DESTINATION_OBJECT_NAME"
Per informazioni sul comportamento dei contesti durante le operazioni di copia, consulta il parametro di query
dropContextGroups.
Riscrivere gli oggetti
Per impostazione predefinita, Cloud Storage conserva i contesti degli oggetti dall'oggetto di origine durante un'operazione di riscrittura, anche se esegui l'override di altri metadati. Per modificare i contesti degli oggetti durante un'operazione di riscrittura, completa i seguenti passaggi:
Riga di comando
I comandi gcloud storage cp, gcloud storage rsync e gcloud storage mv eseguono automaticamente le riscritture quando necessario, ad esempio quando si copiano oggetti tra posizioni o classi di archiviazione diverse. gcloud storage cp e gcloud storage rsync creano un oggetto di origine e di destinazione, mentre gcloud storage mv crea l'oggetto di destinazione e rimuove l'oggetto di origine. Poiché queste operazioni creano un nuovo
oggetto, puoi anche modificare o allegare contesti nell'ambito dello stesso comando utilizzando
uno qualsiasi dei seguenti flag:
Il flag
--custom-contextsper impostare nuovi contesti per l'oggetto di destinazione.Il flag
--clear-custom-contextsper impedire che i contesti dell'oggetto origine vengano allegati all'oggetto di destinazione.Una combinazione dei flag
--update-custom-contextse--remove-custom-contextsper modificare i singoli contesti dell'oggetto origine prima di collegarli all'oggetto di destinazione.
Per impostare nuovi contesti quando copi un oggetto, utilizza il comando gcloud storage cp:
gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME --custom-contexts=KEY=VALUE,...
Dove:
SOURCE_BUCKET_NAMEè il nome del bucket contenente l'oggetto da copiare. Ad esempio,my-source-bucket.SOURCE_OBJECT_NAMEè il nome dell'oggetto da copiare. Ad esempio,employees.txt.DESTINATION_BUCKET_NAMEè il nome del bucket in cui copiare l'oggetto. Ad esempio,my-destination-bucket.DESTINATION_OBJECT_NAMEè il nome dell'oggetto di destinazione. Ad esempio,employees-backup.txt.KEYè la chiave del contesto da allegare a un oggetto. Ad esempio,Department. Puoi specificare più coppie chiave-valore separate da virgole.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
Per rimuovere tutti i contesti dall'oggetto di origine quando copi un oggetto, utilizza il comando gcloud storage cp:
gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME --clear-custom-contexts
Dove:
SOURCE_BUCKET_NAMEè il nome del bucket contenente l'oggetto da copiare. Ad esempio,my-source-bucket.SOURCE_OBJECT_NAMEè il nome dell'oggetto da copiare. Ad esempio,pets/dog.png.DESTINATION_BUCKET_NAMEè il nome del bucket in cui copiare l'oggetto. Ad esempio,my-destination-bucket.DESTINATION_OBJECT_NAMEè il nome dell'oggetto di destinazione. Ad esempio,pets/cat.png.
Per modificare i singoli contesti dell'oggetto di origine quando copi un oggetto,
utilizza il comando gcloud storage cp con --update-custom-contexts
e --remove-custom-contexts:
gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME --update-custom-contexts=KEY=VALUE,... --remove-custom-contexts=KEY,...
Dove:
SOURCE_BUCKET_NAMEè il nome del bucket contenente l'oggetto da copiare. Ad esempio,my-source-bucket.SOURCE_OBJECT_NAMEè il nome dell'oggetto da copiare. Ad esempio,pets/dog.png.DESTINATION_BUCKET_NAMEè il nome del bucket in cui copiare l'oggetto. Ad esempio,my-destination-bucket.DESTINATION_OBJECT_NAMEè il nome dell'oggetto di destinazione. Ad esempio,pets/cat.png.KEYè la chiave del contesto da allegare a un oggetto. Ad esempio,Department. Puoi specificare più coppie chiave-valore o chiavi separate da virgole.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
API JSON
Per sostituire i contesti durante la riscrittura di un oggetto, includi la
proprietà contexts.custom nel corpo della richiesta:
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Crea un file JSON contenente i contesti da allegare all'oggetto di destinazione:
{ "contexts": { "custom": { "KEY": { "value": "VALUE" } } } }
Dove:
KEYè la chiave del contesto da allegare a un oggetto. Ad esempio,Department.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
Utilizza
cURLper chiamare l'API JSON con una richiesta di riscrittura dell'oggettoPOST: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/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/rewriteTo/b/DESTINATION_BUCKET_NAME/o/DESTINATION_OBJECT_NAME"
Dove:
JSON_FILE_NAMEè il percorso del file JSON che include le informazioni sui contesti degli oggetti.SOURCE_BUCKET_NAMEè il nome del bucket che contiene l'oggetto da riscrivere. Ad esempio,my-source-bucket.SOURCE_OBJECT_NAMEè il nome con codifica URL dell'oggetto da riscrivere. Ad esempio,employees.txt.DESTINATION_BUCKET_NAMEè il nome del bucket in cui riscrivere l'oggetto. Ad esempio,my-destination-bucket.DESTINATION_OBJECT_NAMEè il nome con codifica URL dell'oggetto di destinazione. Ad esempio,employees-backup.txt.
Per rimuovere tutti i contesti di origine senza fornire un override, utilizza il
parametro di query dropContextGroups=custom nella richiesta:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/rewriteTo/b/DESTINATION_BUCKET_NAME/o/DESTINATION_OBJECT_NAME?dropContextGroups=custom"
Per conservare i contesti, ometti
la proprietà contexts.custom dal corpo della richiesta ed escludi
dropContextGroups=custom neparametri di ricercary:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/rewriteTo/b/DESTINATION_BUCKET_NAME/o/DESTINATION_OBJECT_NAME"
Per informazioni sul comportamento dei contesti durante le operazioni di riscrittura, consulta il parametro di query
dropContextGroups.
Comporre oggetti
Il comando gcloud storage objects compose e il metodo API JSON
compose uniscono i contesti degli oggetti di origine e li collegano
agli oggetti di destinazione per impostazione predefinita. Cloud Storage risolve i conflitti dando la priorità ai contesti degli oggetti di origine elaborati in un secondo momento. Per saperne di più
sul comportamento del contesto dell'oggetto durante un'operazione di composizione, consulta
Contesti degli oggetti compositi.
Riga di comando
Per specificare nuovi contesti per l'oggetto di destinazione durante la composizione degli oggetti, utilizza il
flag --contexts:
gcloud storage objects compose gs://BUCKET_NAME/SOURCE_OBJECT_1 gs://BUCKET_NAME/SOURCE_OBJECT_2 gs://BUCKET_NAME/DESTINATION_OBJECT_NAME --contexts=KEY=VALUE,...
Dove:
BUCKET_NAMEè il nome del bucket che contiene gli oggetti di origine e in cui viene creato l'oggetto di destinazione. Ad esempio,my-bucket.SOURCE_OBJECT_1eSOURCE_OBJECT_2sono oggetti di origine da comporre.DESTINATION_OBJECT_NAMEè il nome dell'oggetto di destinazione da creare. Ad esempio,my-composite-object.KEYè la chiave del contesto da allegare a un oggetto. Ad esempio,Department. Puoi specificare più coppie chiave-valore separate da virgole.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
Per impedire che i contesti di origine vengano collegati agli oggetti compositi, utilizza il flag --clear-custom-contexts:
gcloud storage objects compose gs://BUCKET_NAME/SOURCE_OBJECT_1 gs://BUCKET_NAME/SOURCE_OBJECT_2 gs://BUCKET_NAME/DESTINATION_OBJECT_NAME --clear-custom-contexts
Dove:
BUCKET_NAMEè il nome del bucket che contiene gli oggetti di origine e in cui viene creato l'oggetto di destinazione. Ad esempio,my-bucket.SOURCE_OBJECT_1eSOURCE_OBJECT_2sono gli oggetti di origine da comporre.DESTINATION_OBJECT_NAMEè il nome dell'oggetto di destinazione da creare. Ad esempio,my-composite-object.
API JSON
Per specificare nuovi contesti per l'oggetto di destinazione durante la composizione degli oggetti,
includi i contesti nella proprietà destination del corpo della richiesta.
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Crea un file JSON contenente il corpo della richiesta:
{ "sourceObjects": [ {"name": "SOURCE_OBJECT_1"}, {"name": "SOURCE_OBJECT_2"} ], "destination": { "contentType": "text/plain", "contexts": { "custom": { "KEY": { "value": "VALUE" } } } } }
Dove:
SOURCE_OBJECT_1eSOURCE_OBJECT_2sono oggetti di origine da comporre.KEYè la chiave di contesto da allegare a un oggetto. Ad esempio,Department.VALUEè il valore da associare alla chiave di contesto. Ad esempio,Human resources.
Utilizza
cURLper chiamare l'API JSON con una richiestaPOSTcompose 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/DESTINATION_OBJECT_NAME/compose"
Dove:
JSON_FILE_NAMEè il percorso del file JSON che include il corpo della richiesta.BUCKET_NAMEè il nome del bucket che contiene gli oggetti di origine e in cui verrà creato l'oggetto di destinazione. Ad esempio,my-bucket.DESTINATION_OBJECT_NAMEè il nome dell'oggetto di destinazione da creare. Ad esempio,my-composite-object.
Per impedire l'allegato di contesti di origine a oggetti compositi, utilizza il
parametro di query dropContextGroups=custom nella richiesta:
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Crea un file JSON contenente il corpo della richiesta:
{ "sourceObjects": [ {"name": "SOURCE_OBJECT_1"}, {"name": "SOURCE_OBJECT_2"} ], "destination": { "contentType": "text/plain" } }
Dove:
SOURCE_OBJECT_1eSOURCE_OBJECT_2sono oggetti di origine da comporre.
Utilizza
cURLper chiamare l'API JSON con una richiestaPOSTcompose 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/DESTINATION_OBJECT_NAME/compose?dropContextGroups=custom"
Dove:
JSON_FILE_NAMEè il percorso del file JSON che include il corpo della richiesta.BUCKET_NAMEè il nome del bucket che contiene gli oggetti di origine e in cui verrà creato l'oggetto di destinazione. Ad esempio,my-bucket.DESTINATION_OBJECT_NAMEè il nome dell'oggetto di destinazione da creare. Ad esempio,my-composite-object.
Passaggi successivi
- Scopri di più sulle proprietà del contesto dell'oggetto nella documentazione dell'API Cloud Storage.