Set Blob Metadata
Der Set Blob Metadata
-Vorgang legt benutzerdefinierte Metadaten für das angegebene BLOB als ein oder mehrere Name-Wert-Paare fest.
Anforderung
Die Set Blob Metadata
-Anforderung kann wie folgt erstellt werden. Es wird empfohlen, HTTPS zu verwenden. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos:
PUT-Methodenanforderungs-URI | HTTP-Version |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=metadata |
HTTP/1.1 |
URI des emulierten Speicherdiensts
Wenn Sie eine Anforderung an den emulierten Speicherdienst stellen, geben Sie den Emulatorhostnamen und den Blob Storage-Port als 127.0.0.1:10000
an, gefolgt vom Namen des emulierten Speicherkontos:
PUT-Methodenanforderungs-URI | HTTP-Version |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=metadata |
HTTP/1.1 |
Weitere Informationen finden Sie unter Verwenden des Azurite-Emulators für lokale Azure Storage-Entwicklung.
URI-Parameter
Sie können im Anforderungs-URI die folgenden zusätzlichen Parameter angeben:
Parameter | BESCHREIBUNG |
---|---|
timeout |
Optional. Der timeout -Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Blob Storage-Vorgänge. |
Anforderungsheader
Die erforderlichen und optionalen Anforderungsheader werden in der folgenden Tabelle beschrieben:
Anforderungsheader | BESCHREIBUNG |
---|---|
Authorization |
Erforderlich. Gibt das Autorisierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
Date oder x-ms-date |
Erforderlich. Gibt die koordinierte Weltzeit (Coordinated Universal Time, UTC) für die Anforderung an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
x-ms-version |
Erforderlich für alle autorisierten Anforderungen. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste. |
x-ms-meta-name:value |
Optional. Legt ein Name-Wert-Paar für das BLOB fest. Jeder Aufruf dieses Vorgangs ersetzt alle vorhandenen Metadaten, die an das Blob angefügt sind. Um alle Metadaten aus dem BLOB zu entfernen, rufen Sie diesen Vorgang ohne Metadatenheader auf. Hinweis: Ab Version 2009-09-19 müssen Metadatennamen den Benennungsregeln für C#-Bezeichner entsprechen. |
x-ms-encryption-scope |
Optional. Gibt den Verschlüsselungsbereich an, der zum Verschlüsseln des Anforderungsinhalts verwendet werden soll. Dieser Header wird in Version 2019-02-02 oder höher unterstützt. |
x-ms-lease-id:<ID> |
Erforderlich, wenn das BLOB über eine aktive Lease verfügt. Um diesen Vorgang für ein BLOB mit einer aktiven Lease auszuführen, geben Sie die gültige Lease-ID für diesen Header an. |
x-ms-client-request-id |
Optional. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem Zeichenlimit von 1 Kibibyte (KiB) bereit, der in den Protokollen aufgezeichnet wird, wenn die Protokollierung konfiguriert ist. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt. Weitere Informationen finden Sie unter Überwachen Azure Blob Storage. |
Dieser Vorgang unterstützt die Verwendung von bedingten Headern zum Festlegen von BLOB-Metadaten nur dann, wenn eine angegebene Bedingung erfüllt ist. Weitere Informationen finden Sie unter Angeben von bedingten Headern für Blob Storage-Vorgänge.
Anforderungsheader (vom Kunden bereitgestellte Verschlüsselungsschlüssel)
Ab Version 2019-02-02 können die folgenden Header für die Anforderung angegeben werden, um ein Blob mit einem vom Kunden bereitgestellten Schlüssel zu verschlüsseln. Die Verschlüsselung mit einem vom Kunden bereitgestellten Schlüssel (und dem entsprechenden Satz von Headern) ist optional. Wenn ein Blob zuvor mit einem vom Kunden bereitgestellten Schlüssel verschlüsselt wurde, müssen diese Header in die Anforderung aufgenommen werden, um den Schreibvorgang erfolgreich abzuschließen.
Anforderungsheader | BESCHREIBUNG |
---|---|
x-ms-encryption-key |
Erforderlich. Der Base64-codierte AES-256-Verschlüsselungsschlüssel. |
x-ms-encryption-key-sha256 |
Erforderlich. Der Base64-codierte SHA256-Hash des Verschlüsselungsschlüssels. |
x-ms-encryption-algorithm: AES256 |
Erforderlich. Gibt den Algorithmus an, der für die Verschlüsselung verwendet werden soll. Der Wert dieses Headers muss auf AES256 festgelegt sein. |
Anforderungstext
Keine.
Antwort
Die Antwort enthält den HTTP-Statuscode und einen Satz von Antwortheadern.
Statuscode
Bei einem erfolgreichen Vorgang wird der Statuscode 200 (OK) zurückgegeben.
Informationen zu status Codes finden Sie unter Status- und Fehlercodes.
Antwortheader
Die Antwort für diesen Vorgang umfasst die folgenden Header. Die Antwort kann außerdem weitere HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.
Antwortheader | BESCHREIBUNG |
---|---|
ETag |
Enthält einen Wert, den Sie zum bedingten Ausführen von Vorgängen verwenden können. Weitere Informationen finden Sie unter Angeben von bedingten Headern für Blob Storage-Vorgänge . Wenn die Anforderungsversion 2011-08-18 und höher ist, wird der ETag-Wert in Anführungszeichen eingeschlossen. |
Last-Modified |
Datum/Uhrzeit der letzten Änderung des BLOB. Das Datumsformat entspricht RFC 1123. Weitere Informationen finden Sie unter Darstellen von Datums-/Uhrzeitwerten in Headern. Bei jedem Schreibvorgang für das BLOB (einschließlich von Updates der Metadaten oder Eigenschaften des BLOB) wird der Zeitpunkt der letzten Änderung des BLOB geändert. |
x-ms-request-id |
Identifiziert eindeutig die Anforderung, die gestellt wurde, und kann zur Problembehandlung für die Anforderung verwendet werden. Weitere Informationen finden Sie unter Problembehandlung für API-Vorgänge. |
x-ms-version |
Gibt die Blob Storage-Version an, die zum Ausführen der Anforderung verwendet wurde. Dieser Header wird für Anforderungen zurückgegeben, die für Version 2009-09-19 und höher erfolgen. |
Date |
Ein UTC-Datums-/Uhrzeitwert, der vom Dienst generiert wird, der den Zeitpunkt angibt, zu dem die Antwort initiiert wurde. |
x-ms-request-server-encrypted: true/false |
Version 2015-12-11 und höher. Der Wert dieses Headers wird auf true festgelegt, wenn der Inhalt der Anforderung mithilfe des angegebenen Algorithmus erfolgreich verschlüsselt wurde. Andernfalls wird der Wert auf false festgelegt. |
x-ms-encryption-key-sha256 |
Version 2019-02-02 und höher. Wird zurückgegeben, wenn die Anforderung einen vom Kunden bereitgestellten Schlüssel für die Verschlüsselung verwendet hat, sodass der Client sicherstellen kann, dass der Inhalt der Anforderung mithilfe des bereitgestellten Schlüssels erfolgreich verschlüsselt wurde. |
x-ms-encryption-scope |
Version 2019-02-02 und höher. Wird zurückgegeben, wenn die Anforderung einen Verschlüsselungsbereich verwendet hat, damit der Client sicherstellen kann, dass der Inhalt der Anforderung mithilfe des Verschlüsselungsbereichs erfolgreich verschlüsselt wurde. |
x-ms-client-request-id |
Kann zur Problembehandlung von Anforderungen und entsprechenden Antworten verwendet werden. Der Wert dieses Headers ist gleich dem Wert des x-ms-client-request-id Headers, wenn er in der Anforderung vorhanden ist und der Wert nicht mehr als 1.024 sichtbare ASCII-Zeichen enthält. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist er in der Antwort nicht vorhanden. |
Antworttext
Keine.
Authorization
Beim Aufrufen eines Datenzugriffsvorgangs in Azure Storage ist eine Autorisierung erforderlich. Sie können den Set Blob Metadata
Vorgang wie unten beschrieben autorisieren.
Wichtig
Microsoft empfiehlt die Verwendung Microsoft Entra ID mit verwalteten Identitäten, um Anforderungen an Azure Storage zu autorisieren. Microsoft Entra ID bietet im Vergleich zur Autorisierung mit gemeinsam genutzten Schlüsseln überlegene Sicherheit und Benutzerfreundlichkeit.
Azure Storage unterstützt die Verwendung von Microsoft Entra ID zum Autorisieren von Anforderungen an Blobdaten. Mit Microsoft Entra ID können Sie die rollenbasierte Zugriffssteuerung (Azure RBAC) von Azure verwenden, um einem Sicherheitsprinzipal Berechtigungen zu erteilen. Der Sicherheitsprinzipal kann ein Benutzer, eine Gruppe, ein Anwendungsdienstprinzipal oder eine verwaltete Azure-Identität sein. Der Sicherheitsprinzipal wird von Microsoft Entra ID authentifiziert, um ein OAuth 2.0-Token zurückzugeben. Das Token kann anschließend zum Autorisieren einer Anforderung an den Blob-Dienst verwendet werden.
Weitere Informationen zur Autorisierung mit Microsoft Entra ID finden Sie unter Autorisieren des Zugriffs auf Blobs mit Microsoft Entra ID.
Berechtigungen
Nachfolgend sind die RBAC-Aktion aufgeführt, die für einen Microsoft Entra Benutzer, Gruppe, verwaltete Identität oder Dienstprinzipal erforderlich ist, um den Set Blob Metadata
Vorgang aufzurufen, und die integrierte Azure RBAC-Rolle mit den geringsten Berechtigungen, die diese Aktion enthält:
- Azure RBAC-Aktion:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- Integrierte Rolle mit den geringsten Berechtigungen:Mitwirkender für Speicherblobdaten
Weitere Informationen zum Zuweisen von Rollen mithilfe von Azure RBAC finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf Blobdaten.
Hinweise
Wenn das Blob über eine aktive Lease verfügt, muss der Client für die Anforderung zum Schreiben von Metadaten in das Blob eine gültige Lease-ID angeben. Wenn der Client keine Lease-ID angibt oder eine ungültige Lease-ID angibt, gibt Blob Storage status Code 412 (Vorbedingung fehlgeschlagen) zurück. Wenn der Client eine Lease-ID angibt, das Blob jedoch nicht über eine aktive Lease verfügt, gibt Blob Storage auch status Code 412 (Vorbedingung fehlgeschlagen) zurück.
Abrechnung
Preisanforderungen können von Clients stammen, die Blob Storage-APIs verwenden, entweder direkt über die Blob Storage-REST-API oder aus einer Azure Storage-Clientbibliothek. Für diese Anforderungen fallen Gebühren pro Transaktion an. Die Art der Transaktion wirkt sich auf die Belastung des Kontos aus. Beispielsweise werden Lesetransaktionen in eine andere Abrechnungskategorie als das Schreiben von Transaktionen angewendet. Die folgende Tabelle zeigt die Abrechnungskategorie für Set Blob Metadata
Anforderungen basierend auf dem Speicherkontotyp:
Vorgang | Speicherkontotyp | Abrechnungskategorie |
---|---|---|
Set Blob Metadata | Premium, Blockblob Standard „Allgemein v2“ |
Weitere Vorgänge |
Set Blob Metadata | Standard „Allgemein v1“ | Schreibvorgänge |
Weitere Informationen zu Preisen für die angegebene Abrechnungskategorie finden Sie unter Azure Blob Storage Preise.
Weitere Informationen
Autorisieren von Anforderungen an Azure Storage
Status- und Fehlercodes
Blob Storage-Fehlercodes