Auf dieser Seite wird beschrieben, wie Sie Kontexte in Form von Schlüssel/Wert-Paaren an Cloud Storage-Objekte anhängen und verwalten.
Erforderliche Rollen abrufen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Objekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten von Objektkontexten benötigen:
-
Objekte mit Kontexten erstellen:
Storage-Objekt-Ersteller (
roles/storage.objectCreator
) -
Kontexte an Objekte anhängen, aktualisieren, ansehen und löschen:
Storage Object User (
roles/storage.objectUser
) -
Kontextschlüssel und ‑werte ansehen, die an Objekte angehängt sind:
Storage Object Viewer (
roles/storage.objectViewer
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen und Verwalten von Objektkontexten erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um Objektkontexte zu erstellen und zu verwalten:
-
Objekt mit Objektkontexten erstellen:
-
storage.objects.create
-
storage.objects.createContext
-
-
Objektkontexte anhängen, aktualisieren und löschen:
-
storage.objects.update
-
storage.objects.createContext
-
storage.objects.updateContext
-
storage.objects.deleteContext
-
-
Objektkontexte ansehen:
-
storage.objects.get
-
storage.objects.list
-
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Kontexte an neue Objekte anhängen
Kontexte an Objekte anhängen, wenn Sie neue Objekte in Cloud Storage-Buckets hochladen. Jeder Kontext besteht aus einem Schlüssel und einem Wert.
Befehlszeile
Wenn Sie beim Hochladen von Objekten mit dem Befehl gcloud alpha storage cp
Kontexte anhängen möchten, verwenden Sie das Flag --custom-contexts
:
gcloud alpha storage cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME --custom-contexts=KEY=VALUE,...
Wobei:
OBJECT_LOCATION
ist der lokale Pfad zu Ihrem Objekt. Beispiel:Desktop/dog.png
.DESTINATION_BUCKET_NAME
ist der Name des Buckets, in den Sie das Objekt hochladen. Beispiel:my-bucket
KEY
ist der Kontextschlüssel, der an ein Objekt angehängt werden soll. Beispiel:Department
. Sie können mehrere durch Kommas getrennte Schlüssel/Wert-Paare angeben.VALUE
ist der Wert, der dem Kontextschlüssel zugeordnet werden soll. Beispiel:Human resources
.
Alternativ können Sie eine JSON-Datei mit den Kontexten erstellen, die Sie den Objekten zuweisen möchten, und das Flag --custom-contexts-file
verwenden:
{ "KEY": { "value": "VALUE" }, ... }
Wobei:
KEY
ist der Kontextschlüssel, der an ein Objekt angehängt werden soll. Beispiel:Department
. Sie können mehrere Schlüssel/Wert-Paare angeben.VALUE
ist der Wert, der dem Kontextschlüssel zugeordnet werden soll. Beispiel:Human resources
.
Wenn Sie beim Hochladen von Verzeichnissen mit dem Befehl gcloud alpha storage rsync
Kontexte anhängen möchten, verwenden Sie das Flag --custom-contexts
oder das Flag --custom-contexts-file
:
gcloud alpha storage rsync DIRECTORY_LOCATION gs://DESTINATION_BUCKET_NAME --recursive --custom-contexts=KEY=VALUE,...
Wobei:
DIRECTORY_LOCATION
ist der lokale Pfad zu Ihrem Verzeichnis. Beispiel:~/my_directory
.DESTINATION_BUCKET_NAME
ist der Name des Buckets, in den Sie das Verzeichnis hochladen. Beispiel:my-bucket
KEY
ist der Kontextschlüssel, der an Objekte angehängt werden soll. Beispiel:Department
. Sie können mehrere durch Kommas getrennte Schlüssel/Wert-Paare angeben.VALUE
ist der Wert, der dem Kontextschlüssel zugeordnet werden soll. Beispiel:Human resources
.
JSON API
Wenn Sie beim Hochladen neuer Objekte Kontexte an Objekte anhängen möchten, verwenden Sie eine der folgenden Methoden:
Nehmen Sie das Feld contexts
in die Objektmetadaten im JSON-Format auf:
{ "contexts": { "custom": { "KEY": { "value": "VALUE" }, ... } } }
Wobei:
KEY
ist der Kontextschlüssel, der an ein Objekt angehängt werden soll. Beispiel:Department
. Sie können mehrere Schlüssel/Wert-Paare imcustom
-Objekt angeben.VALUE
ist der Wert, der dem Kontextschlüssel zugeordnet werden soll. Beispiel:Human resources
.
Kontexte an ein vorhandenes Objekt anhängen oder ändern
Sie können Ihren vorhandenen Objekten in den Cloud Storage-Buckets neue Kontexte hinzufügen.
Befehlszeile
Führen Sie den Befehl gcloud alpha storage objects update
aus:
gcloud alpha storage objects update gs://BUCKET_NAME/OBJECT_NAME CUSTOM_CONTEXTS_FLAG
Wobei:
BUCKET_NAME
ist der Name des Buckets, der das Objekt enthält, für das Sie den Kontext bearbeiten möchten. Beispiel:my-bucket
OBJECT_NAME
ist der Name des Objekts. Beispiel:pets/dog.png
CUSTOM_CONTEXTS_FLAG
ist eines der folgenden Flags:Verwenden Sie
--custom-contexts=KEY=VALUE,...
oder--custom-contexts-file=CUSTOM_CONTEXTS_FILE
, um alle vorhandenen Kontexte zu ersetzen.Wobei:
KEY
ist der Kontextschlüssel, der an ein Objekt angehängt werden soll. Beispiel:Department
. Sie können mehrere Schlüssel/Wert-Paare angeben, die durch Kommas getrennt sind.VALUE
ist der Wert, der dem Kontextschlüssel zugeordnet werden soll. Beispiel:Human resources
.CUSTOM_CONTEXTS_FILE
ist der Pfad zur JSON- oder YAML-Datei, die die Kontexte enthält, die Sie an das Objekt anhängen möchten.
Verwenden Sie
--clear-custom-contexts
, um alle vorhandenen Kontexte zu löschen.Verwenden Sie eine Kombination aus
--update-custom-contexts=KEY=VALUE,...
und--remove-custom-contexts=KEY,...
, um einzelne Kontexte hinzuzufügen, zu ändern oder zu löschen.Wobei:
KEY
ist der Kontextschlüssel, den Sie an ein Objekt anhängen oder aus einem Objekt löschen möchten. Beispiel:Department
.VALUE
ist der Wert, der dem Kontextschlüssel zugeordnet werden soll, den Sie an ein Objekt anhängen möchten. Beispiel:Human resources
Wenn der Vorgang erfolgreich ausgeführt wurde, sieht die Antwort in etwa so aus:
Patching gs://my-bucket/pets/dog.png#1560574162144861... Completed 1
Clientbibliotheken
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN
auf s3nsapis.fr
fest.
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Erstellen Sie eine JSON-Datei mit den Einstellungen für das Objekt, die die Konfigurationsfelder
contexts
für das Objekt enthalten muss.Verwenden Sie das folgende Format, um vorhandene Kontexte hinzuzufügen, zu ändern oder zu überschreiben:
{ "contexts": { "custom": { "KEY": { "value": "VALUE" }, ... } } }
Wobei:
KEY
ist der Kontextschlüssel, der an ein Objekt angehängt werden soll. Beispiel:Department
. Sie können mehrere Schlüssel/Wert-Paare imcustom
-Objekt angeben.VALUE
ist der Wert, der dem Kontextschlüssel zugeordnet werden soll. Beispiel:Human resources
Verwenden Sie das folgende Format, um alle vorhandenen Kontexte zu löschen:
{ "contexts": { "custom": null } }
Verwenden Sie das folgende Format, um einen bestimmten Schlüssel aus dem Kontext zu löschen:
{ "contexts": { "custom": { "KEY": null, ... } } }
Wobei:
KEY
ist der Kontextschlüssel, den Sie aus einem Objekt löschen möchten. Beispiel:Department
. Sie können mehrere Schlüssel angeben, die aus demcustom
-Objekt gelöscht werden sollen.Verwenden Sie
cURL
, um die JSON API mit einerPATCH
-Objektanfrage aufzurufen:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
Wobei:
JSON_FILE_NAME
ist der Pfad zur Datei, die die Informationen zum Objektkontext enthält.BUCKET_NAME
ist der Name des Buckets, der das Objekt enthält, für das Sie den Kontext bearbeiten möchten. Beispiel:my-bucket
OBJECT_NAME
ist der URL-codierte Name des Objekts. Beispiel:pets/dog.png
, URL-codiert alspets%2Fdog.png
.
Alternativ können Sie den Kontext eines Objekts mit einer PUT
-Anfrage ersetzen. Mit der PUT
-Objektanfrage werden auch andere Objektmetadaten ersetzt. Daher wird die Verwendung der PUT
-Objektanfrage nicht empfohlen.
Objektkontexte ansehen
Sie können die Kontexte eines Objekts aufrufen, indem Sie die Objektmetadaten auflisten oder ein bestimmtes Objekt beschreiben.
Befehlszeile
Führen Sie den Befehl gcloud alpha storage objects describe
aus:
gcloud alpha storage objects describe gs://BUCKET_NAME/OBJECT_NAME
Wobei:
BUCKET_NAME
ist der Name des Buckets, der das Objekt enthält, dessen Kontext Sie ansehen möchten. Beispiel:my-bucket
.OBJECT_NAME
ist der Name des Objekts, dessen Kontext Sie ansehen möchten. z. B.pets/dog.png
.
Wenn der Vorgang erfolgreich war, sieht die Antwort in etwa so aus:
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: HR DataClassification: createTime: '2023-01-01T00:00:00.000000+00:00' type: CUSTOM updateTime: '2023-01-01T00:00:00.000000+00:00' value: Confidential name: employees.txt
Clientbibliotheken
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN
auf s3nsapis.fr
fest.
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die JSON API mit einerGET
-Objektanfrage aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
Wobei:
BUCKET_NAME
ist der Name des Buckets, der das Objekt enthält, dessen Kontext Sie ansehen möchten. Beispiel:my-bucket
OBJECT_NAME
ist der URL-codierte Name des Objekts, dessen Kontext Sie ansehen möchten. Beispiel:pets/dog.png
, URL-codiert alspets%2Fdog.png
.
Wenn der Vorgang erfolgreich war, sieht die Antwort in etwa so aus:
{ "kind": "storage#object", "name": "employees.txt", "bucket": "my-bucket", "contexts": { "custom": { "Department": { "value": "HR", "createTime": "2023-01-01T00:00:00.000Z", "updateTime": "2023-01-01T00:00:00.000Z" }, "DataClassification": { "value": "Confidential", "createTime": "2023-01-01T00:00:00.000Z", "updateTime": "2023-01-01T00:00:00.000Z" } } } }
Objekte nach Kontexten filtern
Objekte nach dem Vorhandensein von Objektkontextschlüsseln oder ihren spezifischen Werten filtern. Wenn Sie Objekte nach Kontexten filtern, können Sie bestimmte Gruppen von Objekten effizient finden und verwalten. Weitere Informationen finden Sie unter Objekte nach Kontexten filtern.
Objektkontexte bei Objektvorgängen verwalten
Objektkontexte bleiben standardmäßig erhalten, wenn Sie Objekte kopieren, neu schreiben, verfassen, verschieben oder wiederherstellen. Sie können Kontexte auch während der Vorgänge zum Kopieren, Umschreiben und Verfassen ändern.
Befehlszeile
Mit dem Befehl gcloud alpha storage cp
, dem Befehl gcloud alpha storage rsync
und dem Befehl gcloud alpha storage mv
werden standardmäßig Kontexte aus dem Quellobjekt beibehalten. Verwenden Sie eines der folgenden Flags, um Kontexte während dieser Vorgänge zu ändern:
- Die Flags
--custom-contexts
oder--custom-contexts-file
zum Festlegen neuer Kontexte für das Zielobjekt. - Das Flag
--clear-custom-contexts
, um zu verhindern, dass Kontexte aus dem Quellobjekt an das Zielobjekt angehängt werden. - Eine Kombination der Flags
--update-custom-contexts
und--remove-custom-contexts
, um einzelne Kontexte aus dem Quellobjekt zu ändern, bevor sie an das Zielobjekt angehängt werden.
Mit dem Befehl gcloud alpha storage objects compose
werden Kontexte aus den Quellobjekten zusammengeführt und standardmäßig an die Zielobjekte angehängt. Cloud Storage löst Konflikte, indem Kontexten aus Quellobjekten, die später verarbeitet werden, Priorität eingeräumt wird. Weitere Informationen zum Verhalten des Objektkontexts während eines Kompositionsvorgangs finden Sie unter Kontexte für zusammengesetzte Objekte. Mit den Flags --custom-contexts
oder --custom-contexts-file
können Sie auch neue Kontexte für das Zielobjekt angeben.
JSON API
Wenn Sie Kontexte während eines copy- oder rewrite-Objektvorgangs ändern möchten, fügen Sie das Attribut
contexts.custom
in den Anfragetext ein. Wenn Sie diese Property nicht angeben, werden Kontexte aus dem Quellobjekt standardmäßig beibehalten.Wenn Sie Objekte zusammenfügen, werden Kontexte aus Quellobjekten standardmäßig in das Zielobjekt zusammengeführt. Cloud Storage löst Konflikte, indem Kontexten aus Quellobjekten, die später verarbeitet werden, Priorität eingeräumt wird. Weitere Informationen zum Verhalten des Objektkontexts während eines Kompositionsvorgangs finden Sie unter Kontexte für zusammengesetzte Objekte. Sie können auch neue Kontexte für das Zielobjekt in der Eigenschaft
destination.contexts.custom
angeben.
Nächste Schritte
- Informationen zu den Eigenschaften des Objektkontexts finden Sie in der Cloud Storage API-Dokumentation.