Abrufen von Blob-Diensteigenschaften
Der Get Blob Service Properties
Vorgang ruft die Eigenschaften eines Azure Blob Storage-Kontos ab, einschließlich Eigenschaften für Storage Analytics- und CORS-Regeln (Cross-Origin Resource Sharing).
Ausführliche Informationen zu CORS-Regeln und der Auswertungslogik finden Sie unter CORS-Unterstützung für die Azure Storage-Dienste.
Anforderung
Sie können die Get Blob Service Properties
Anforderung wie folgt angeben. Es wird empfohlen, HTTPS zu verwenden. Ersetzen Sie <account-name>
durch den Namen Ihres Speicherkontos:
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
GET | https://<account-name>.blob.core.windows.net/?restype=service&comp=properties |
HTTP/1.1 |
Hinweis
Der URI muss immer einen Schrägstrich (/) enthalten, um den Hostnamen von den Pfad- und Abfrageabschnitten zu trennen. Bei diesem Vorgang ist der Pfadteil des URIs leer.
URI-Parameter
URI-Parameter | Beschreibung |
---|---|
restype=service&comp=properties |
Erforderlich. Die Kombination beider Abfragezeichenfolgen ist erforderlich, um die Blob Storage-Eigenschaften abzurufen. |
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 Namen des Speicherkontos 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-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. |
Anforderungstext
Keine.
Antwort
Die Antwort enthält den HTTP-Statuscode, einen Satz von Antwortheadern und einen Antworttext.
Statuscode
Bei einem erfolgreichen Vorgang wird der Statuscode 200 (OK) zurückgegeben.
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 |
---|---|
x-ms-request-id |
Identifiziert eindeutig eine Anforderung, die an den Dienst gestellt wird. |
x-ms-version |
Gibt die Version des Vorgangs an, der für die Antwort verwendet wird. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste. |
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 dieser Header in der Antwort nicht vorhanden. |
Antworttext
Bei Version 2012-02-12 und früheren Versionen weist der Antworttext folgendes Format auf:
<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
<Logging>
<Version>version-number</Version>
<Delete>true|false</Delete>
<Read>true|false</Read>
<Write>true|false</Write>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</Logging>
<Metrics>
<Version>version-number</Version>
<Enabled>true|false</Enabled>
<IncludeAPIs>true|false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</Metrics>
<DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
</StorageServiceProperties>
Ab Version 2013-08-15 lautet das Format des Antworttexts wie folgt:
<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
<Logging>
<Version>version-number</Version>
<Delete>true|false</Delete>
<Read>true|false</Read>
<Write>true|false</Write>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</Logging>
<HourMetrics>
<Version>version-number</Version>
<Enabled>true|false</Enabled>
<IncludeAPIs>true|false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</HourMetrics>
<MinuteMetrics>
<Version>version-number</Version>
<Enabled>true|false</Enabled>
<IncludeAPIs>true|false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</MinuteMetrics>
<Cors>
<CorsRule>
<AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>
<AllowedMethods>comma-separated-list-of-HTTP-verbs</AllowedMethods>
<MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>
<ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>
<AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>
</CorsRule>
</Cors>
<DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
</StorageServiceProperties>
Ab Version 2017-07-29 lautet das Format des Antworttexts wie folgt:
<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
<Logging>
<Version>version-number</Version>
<Delete>true|false</Delete>
<Read>true|false</Read>
<Write>true|false</Write>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</Logging>
<HourMetrics>
<Version>version-number</Version>
<Enabled>true|false</Enabled>
<IncludeAPIs>true|false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</HourMetrics>
<MinuteMetrics>
<Version>version-number</Version>
<Enabled>true|false</Enabled>
<IncludeAPIs>true|false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</MinuteMetrics>
<Cors>
<CorsRule>
<AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>
<AllowedMethods>comma-separated-list-of-HTTP-verbs</AllowedMethods>
<MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>
<ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>
<AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>
</CorsRule>
</Cors>
<DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
<DeleteRetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</DeleteRetentionPolicy>
</StorageServiceProperties>
Ab Version 2018-03-28 lautet das Format des Antworttexts wie folgt:
<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
<Logging>
<Version>version-number</Version>
<Delete>true|false</Delete>
<Read>true|false</Read>
<Write>true|false</Write>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</Logging>
<HourMetrics>
<Version>version-number</Version>
<Enabled>true|false</Enabled>
<IncludeAPIs>true|false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</HourMetrics>
<MinuteMetrics>
<Version>version-number</Version>
<Enabled>true|false</Enabled>
<IncludeAPIs>true|false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</MinuteMetrics>
<Cors>
<CorsRule>
<AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>
<AllowedMethods>comma-separated-list-of-HTTP-verbs</AllowedMethods>
<MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>
<ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>
<AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>
</CorsRule>
</Cors>
<DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
<DeleteRetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</DeleteRetentionPolicy>
<StaticWebsite>
<Enabled>true|false</Enabled>
<IndexDocument>default-name-of-index-page-under-each-directory</IndexDocument>
<ErrorDocument404Path>absolute-path-of-the-custom-404-page</ErrorDocument404Path>
</StaticWebsite>
</StorageServiceProperties>
Ab Version 2019-12-12 lautet das Format des Antworttexts wie folgt:
<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
<Logging>
<Version>version-number</Version>
<Delete>true|false</Delete>
<Read>true|false</Read>
<Write>true|false</Write>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</Logging>
<HourMetrics>
<Version>version-number</Version>
<Enabled>true|false</Enabled>
<IncludeAPIs>true|false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</HourMetrics>
<MinuteMetrics>
<Version>version-number</Version>
<Enabled>true|false</Enabled>
<IncludeAPIs>true|false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</MinuteMetrics>
<Cors>
<CorsRule>
<AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>
<AllowedMethods>comma-separated-list-of-HTTP-verbs</AllowedMethods>
<MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>
<ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>
<AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>
</CorsRule>
</Cors>
<DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
<DeleteRetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</DeleteRetentionPolicy>
<StaticWebsite>
<Enabled>true|false</Enabled>
<IndexDocument>default-name-of-index-page-under-each-directory</IndexDocument>
<DefaultIndexDocumentPath>absolute-path-of-the-default-index-page</DefaultIndexDocumentPath>
<ErrorDocument404Path>absolute-path-of-the-custom-404-page</ErrorDocument404Path>
</StaticWebsite>
</StorageServiceProperties>
Die folgende Tabelle erläutert die Elemente des Antworttexts:
Elementname | BESCHREIBUNG |
---|---|
Logging | Gruppiert die Logging-Einstellungen für Azure-Analysen. |
Metriken | Gruppen die Einstellungen für Azure Analytics-Metriken aus. Die Metrikeinstellungen bieten eine Zusammenfassung der Anforderungsstatistiken, gruppiert nach API in stündliche Aggregate für Blobs. |
HourMetrics | Gruppiert die HourMetrics-Einstellungen für Azure-Analysen. Die HourMetrics-Einstellungen bieten eine Zusammenfassung der Anforderungsstatistiken, gruppiert nach API in stündliche Aggregate für Blobs. |
MinuteMetrics | Gruppiert die MinuteMetrics-Einstellungen für Azure-Analysen. Die MinuteMetrics-Einstellungen stellen Anforderungsstatistiken für BLOBs im Minutentakt bereit. |
Version | Die Version der derzeit verwendeten Speicheranalyse. |
Löschen | Gilt nur für die Protokollierungskonfiguration. Gibt an, ob Löschanforderungen protokolliert werden. |
Lesen | Gilt nur für die Protokollierungskonfiguration. Gibt an, ob Leseanforderungen protokolliert werden. |
Schreiben | Gilt nur für die Protokollierungskonfiguration. Gibt an, ob Schreibanforderungen protokolliert werden. |
Aktiviert | Gibt an, ob Metriken für Blob Storage aktiviert sind. Wenn die georedundante Replikation mit Lesezugriff aktiviert ist, werden sowohl primäre als auch sekundäre Metriken gesammelt. Wenn die georedundante Replikation mit Lesezugriff nicht aktiviert ist, werden nur primäre Metriken erfasst. |
IncludeAPIs | Gilt nur für die Konfiguration von Metriken. Gibt an, ob von einer Metrik eine Zusammenfassungsstatistik für aufgerufene API-Vorgänge generiert wird. |
Aufbewahrungsrichtlinie/Aktiviert | Gibt an, ob eine Aufbewahrungsrichtlinie für Azure Storage aktiviert ist. |
Aufbewahrungsrichtlinie/Tage | Gibt die Anzahl von Tagen an, für die Metrik- oder Protokollierungsdaten beibehalten werden. Alle Daten, die älter als dieser Wert sind, werden gelöscht. |
DefaultServiceVersion | Gibt die Standardversion an, die für Anforderungen an Blob Storage verwendet werden soll, wenn die Version einer eingehenden Anforderung nicht angegeben wird. Die Werte umfassen Version 2008-10-27 und höher. Weitere Informationen zu den anwendbaren Versionen finden Sie unter Versionsverwaltung für die Azure Storage-Dienste. |
Cors | Gruppiert alle CORS-Regeln. |
CorsRule | Gruppiert Einstellungen für eine CORS-Regel. |
AllowedOrigins | Eine durch Trennzeichen getrennte Liste von Ursprungsdomänen, die über CORS zulässig sind, oder "*", falls alle Domänen zulässig sind. |
ExposedHeaders | Eine durch Trennzeichen getrennte Liste mit Antwortheadern, die für CORS-Clients verfügbar gemacht werden sollen. |
MaxAgeInSeconds | Gibt an, wie viele Sekunden eine Preflight-Antwort vom Client/Browser zwischengespeichert werden soll. |
AllowedHeaders | Eine durch Trennzeichen getrennte Liste von Headern, die Teil der ursprungsübergreifenden Anforderung sein dürfen. |
AllowedMethods | Eine durch Trennzeichen getrennte Liste von HTTP-Methoden, die vom Ursprung ausgeführt werden dürfen. Für Azure Storage sind die zulässigen Methoden DELETE, GET, HEAD, MERGE, POST, OPTIONS und PUT. |
DeleteRetentionPolicy | Gruppen die Azure Delete-Einstellungen. Gilt nur für Blob Storage. |
Aktiviert | Gibt an, ob ein gelöschtes Blob oder Momentaufnahme beibehalten oder sofort durch den Löschvorgang entfernt wird. |
Tage | Gibt die Anzahl der Tage an, die ein gelöschtes Blob beibehalten werden soll. Alle Daten, die älter als dieser Wert sind, werden endgültig gelöscht. |
StaticWebsite | Gruppen die Statische Websiteeinstellungen. Gilt nur für Blob Storage. |
StaticWebsite/Enabled | Gibt an, ob statische Websiteunterstützung für das angegebene Konto aktiviert ist. |
StaticWebsite/IndexDocument | Die Webseite, die Azure Storage für Anforderungen an den Stamm einer Website oder eines beliebigen Unterordners (z. B index.html . ) bereitstellt. Bei dem Wert wird die Groß-/Kleinschreibung beachtet. |
StaticWebsite/DefaultIndexDocumentPath | Der absolute Pfad zu einer Webseite, die Azure Storage für Anforderungen bereitstellt, die keiner vorhandenen Datei entsprechen. Der Inhalt der Seite wird mit HTTP 200 OK zurückgegeben (z. B. index.html ). Das -Element schließt sich mit StaticWebsite/IndexDocument gegenseitig aus. Bei dem Wert wird die Groß-/Kleinschreibung beachtet. |
StaticWebsite/ErrorDocument404Path | Der absolute Pfad zu einer Webseite, die Azure Storage für Anforderungen bereitstellt, die keiner vorhandenen Datei entsprechen. Der Inhalt der Seite wird mit HTTP 404 Not Found zurückgegeben (z. B. error/404.html ). Bei dem Wert wird die Groß-/Kleinschreibung beachtet. |
Authorization
Beim Aufrufen eines Datenzugriffsvorgangs in Azure Storage ist eine Autorisierung erforderlich. Sie können den Get Blob Service Properties
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 Get Blob Service Properties
Vorgang aufzurufen, und die integrierte Azure RBAC-Rolle mit den geringsten Berechtigungen, die diese Aktion enthält:
- Azure RBAC-Aktion:Microsoft.Storage/storageAccounts/blobServices/read
- Integrierte Rolle mit den geringsten Berechtigungen:Speicherkontomitwirkender
Weitere Informationen zum Zuweisen von Rollen mithilfe von Azure RBAC finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf Blobdaten.
Bemerkungen
Keine. Weitere Informationen dazu, wie sich dieser Vorgang auf die Kosten auswirkt, finden Sie in den Abrechnungsinformationen .
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 Get Blob Service Properties
Anforderungen basierend auf dem Speicherkontotyp:
Vorgang | Speicherkontotyp | Abrechnungskategorie |
---|---|---|
Abrufen von Blob-Diensteigenschaften | Premium, Blockblob Standard „Allgemein v2“ |
Weitere Vorgänge |
Abrufen von Blob-Diensteigenschaften | Standard „Allgemein v1“ | Dient zum Lesen von Vorgängen. |
Weitere Informationen zu Preisen für die angegebene Abrechnungskategorie finden Sie unter Azure Blob Storage Preise.
Beispielanforderung und -antwort
Der folgende Beispiel-URI stellt eine Anforderung zum Abrufen von Blob Storage-Eigenschaften für ein fiktives Speicherkonto namens myaccount:
GET https://myaccount.blob.core.windows.net/?restype=service&comp=properties&timeout=30 HTTP/1.1
Die Anforderung wird mit den folgenden Headern gesendet;
x-ms-version: 2018-03-28
x-ms-date: Tue, 12 Sep 2018 23:38:36 GMT
Authorization: SharedKey myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=
Host: myaccount.blob.core.windows.net
Nachdem die Anforderung gesendet wurde, wird die folgende Antwort zurückgegeben:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30
x-ms-version: 2018-03-28
Date: Tue, 12 Sep 2018 23:38:35 GMT
Die Antwort enthält den folgenden XML-Text:
<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
<Logging>
<Version>1.0</Version>
<Delete>true</Delete>
<Read>false</Read>
<Write>true</Write>
<RetentionPolicy>
<Enabled>true</Enabled>
<Days>7</Days>
</RetentionPolicy>
</Logging>
<HourMetrics>
<Version>1.0</Version>
<Enabled>true</Enabled>
<IncludeAPIs>false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true</Enabled>
<Days>7</Days>
</RetentionPolicy>
</HourMetrics>
<MinuteMetrics>
<Version>1.0</Version>
<Enabled>true</Enabled>
<IncludeAPIs>true</IncludeAPIs>
<RetentionPolicy>
<Enabled>true</Enabled>
<Days>7</Days>
</RetentionPolicy>
</MinuteMetrics>
<Cors>
<CorsRule>
<AllowedOrigins> http://www.fabrikam.com,http://www.contoso.com</AllowedOrigins>
<AllowedMethods>GET,PUT</AllowedMethods>
<MaxAgeInSeconds>500</MaxAgeInSeconds>
<ExposedHeaders>x-ms-meta-data*,x-ms-meta-customheader</ExposedHeaders>
<AllowedHeaders>x-ms-meta-target*,x-ms-meta-customheader</AllowedHeaders>
</CorsRule>
</Cors>
<DefaultServiceVersion>2017-07-29</DefaultServiceVersion>
<DeleteRetentionPolicy>
<Enabled>true</Enabled>
<Days>5</Days>
</DeleteRetentionPolicy>
<StaticWebsite>
<Enabled>true</Enabled>
<IndexDocument>index.html</IndexDocument>
<ErrorDocument404Path>error/404.html</ErrorDocument404Path>
</StaticWebsite>
</StorageServiceProperties>
Weitere Informationen
Speicheranalyse
CORS-Unterstützung für die Azure Storage-Dienste
CORS HTTP-Spezifikation