Festlegen und Abrufen von Eigenschaften und Metadaten für Blobressourcen mithilfe von REST
Container und BLOBs unterstützen als HTTP-Header dargestellte benutzerdefinierte Metadaten. Metadatenheader können für eine Anforderung festgelegt werden, die eine neue Container- oder BLOB-Ressource erstellt, oder für eine Anforderung, die explizit eine Eigenschaft für eine vorhandene Ressource erstellt.
Format der Metadatenheader
Metadatenheader sind Name-Wert-Paare. Das Format für den Header lautet:
x-ms-meta-name:string-value
Ab Version 2009-09-19 müssen Metadatennamen den Benennungsregeln für C#-Bezeichner entsprechen.
Bei Namen wird die Groß-/Kleinschreibung nicht berücksichtigt. Bei Metadatennamen wird die Groß-/Kleinschreibung beibehalten, mit der sie erstellt wurden. Beim Festlegen oder Lesen wird die Groß-/Kleinschreibung allerdings ignoriert. Wenn zwei oder mehr Metadatenheader mit dem gleichen Namen für eine Ressource übermittelt werden, gibt der Blob-Dienst den Statuscode 400 (Bad Request) zurück.
Die Metadaten bestehen aus Name-Wert-Paaren. Die Gesamtgröße aller Metadatenpaare kann bis zu 8 KB betragen.
Name-Wert-Paare für Metadaten sind gültige HTTP-Header und entsprechen daher allen Einschränkungen, die für HTTP-Header gelten.
Vorgänge für Metadaten
Metadaten für eine BLOB- oder Containerressource können direkt abgerufen oder festgelegt werden, ohne den Inhalt der Ressource zurückzugeben oder zu ändern.
Metadatenwerte können nur vollständig gelesen oder geschrieben werden. Teilweise Updates werden nicht unterstützt. Durch das Festlegen von Metadaten für eine Ressource werden alle vorhandenen Metadatenwerte für diese Ressource überschrieben.
Abrufen von Eigenschaften und Metadaten
Der GET/HEAD-Vorgang ruft Metadatenheader für den angegebenen Container oder Blob ab. Diese Vorgänge geben nur Header und keinen Antworttext zurück. Die URI-Syntax zum Abrufen von Metadatenheadern für einen Container lautet wie folgt:
GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=metadata
Die URI-Syntax zum Abrufen von Metadatenheadern für ein BLOB lautet wie folgt:
GET/HEAD https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=metadata
Festlegen von Metadatenheadern
Der PUT-Vorgang legt Metadatenheader für den angegebenen Container oder das angegebene BLOB fest und überschreibt alle vorhandenen Metadaten für die Ressource. Durch den Aufruf von PUT ohne Header für die Anforderung werden alle vorhandenen Metadaten für die Ressource gelöscht.
Die URI-Syntax zum Festlegen von Metadatenheadern für einen Container lautet wie folgt:
PUT https://myaccount.blob.core.windows.net/mycontainer?comp=metadata&restype=container
Die URI-Syntax zum Festlegen von Metadatenheadern für ein BLOB lautet wie folgt:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=metadata
HTTP-Standardeigenschaften für Container und Blobs
Container und BLOBs unterstützen auch bestimmte HTTP-Standardeigenschaften. Eigenschaften und Metadaten werden beide als HTTP-Standardheader dargestellt. Sie unterscheiden sich durch die Benennung der Header. Metadatenheader werden mit dem Headerpräfix x-ms-meta- und einem benutzerdefinierten Namen benannt. Für Eigenschaftsheader werden HTTP-Standardheadernamen verwendet, wie im Abschnitt 14, Definition von Headerfeldern, in der HTTP/1.1--Protokollspezifikation angegeben.
Zu den für Container unterstützten HTTP-Standardheadern gehören:
ETagLast-Modified
Zu den für BLOBs unterstützten HTTP-Standardheadern gehören:
ETagLast-ModifiedContent-LengthContent-TypeContent-MD5Content-EncodingContent-LanguageCache-ControlOriginRange