Set Table Service Properties
この操作ではSet Table Service Properties
、ストレージ アカウントの Azure Table Storage エンドポイントのプロパティ (Storage Analyticsおよびクロスオリジン リソース共有 (CORS) ルールのプロパティを含む) が設定されます。 CORS ルールの詳細については、「 Azure Storage サービスの CORS サポート」を参照してください。
要求
要求は Set Table Service Properties
次のように指定できます。 HTTPS をお勧めします。
account-name をストレージ アカウントの名前に置き換えます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
PUT | https://account-name.table.core.windows.net/?restype=service&comp=properties |
HTTP/1.1 |
URI には必ずスラッシュ (/) を含めて、ホスト名を URI のパス部分とクエリ部分から分離する必要があります。 この操作の場合、URI のパス部分は空です。
URI パラメーター
URI パラメーター | 説明 |
---|---|
restype=service&comp=properties |
必須。 Azure Storage サービスのプロパティを設定するには、両方のクエリ文字列の組み合わせが必要です。 |
timeout |
省略可能。
timeout パラメーターは、秒単位で表されます。 |
要求ヘッダー
次の表では、必須および省略可能な要求ヘッダーについて説明します。
要求ヘッダー | 説明 |
---|---|
Authorization |
必須。 承認スキーム、ストレージ アカウント名、および署名を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。 |
Date または x-ms-date |
必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。 |
x-ms-version |
すべての承認された要求に必要です。 この要求に使用する操作のバージョンを指定します。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。 |
x-ms-client-request-id |
省略可能。 ログ記録の構成時にログに記録される 1 kibibyte (KiB) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 |
要求本文
バージョン 2012-02-12 以前では、要求本文の形式は次のとおりです。
<?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>
</StorageServiceProperties>
バージョン 2013-08-15 以降では、要求本文の形式は次のとおりです。
<?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-verb</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>
</StorageServiceProperties>
バージョン 2013-08-15 以降では、要求本文で指定された 1 つ以上のルート要素を使用して Set Table Service Properties
を呼び出すことができます。 ルート要素は次のとおりです。
Logging
HourMetrics
MinuteMetrics
Cors
要求のすべてのルート要素を指定する必要はなくなりました。 ルート要素を省略した場合、その機能に対応したサービスの既存の設定が維持されます。 ただし、ルート要素を指定する場合は、その要素のすべての子要素を指定する必要があります。
要求本文の要素を次の表に示します。
要素名 | 説明 |
---|---|
Logging |
バージョン 2013-08-15 以降では省略可能です。 それよりも前のバージョンでは必須です。 Storage AnalyticsLogging 設定をグループにします。 |
Metrics |
バージョン 2012-02-12 以前では必須です。 バージョン 2013-08-15 以降には適用されません。 Storage AnalyticsMetrics 設定をグループにします。
Metrics 設定によって、テーブルの 1 時間ごとの集計で API 別にグループ化された要求の統計に関する概要が示されます。 |
HourMetrics |
バージョン 2013-08-15 以降では省略可能です。 以前のバージョンには適用されません。 Storage AnalyticsHourMetrics 設定をグループにします。
HourMetrics 設定によって、テーブルの 1 時間ごとの集計で API 別にグループ化された要求の統計に関する概要が示されます。 |
MinuteMetrics |
バージョン 2013-08-15 以降では省略可能です。 以前のバージョンには適用されません。 Storage AnalyticsMinuteMetrics 設定をグループにします。
MinuteMetrics 設定によって、テーブルの分単位の要求の統計が示されます。 2013-08-15 よりも前のバージョンでは、応答本文には MinuteMetrics は含まれません。 |
Version |
必須。 構成するStorage Analyticsのバージョンを示します。 |
Delete |
必須。 ログ構成にのみ適用されます。 すべての削除要求をログに記録するかどうかを示します。 |
Read |
必須。 ログ構成にのみ適用されます。 すべての読み取り要求をログに記録するかどうかを示します。 |
Write |
必須。 ログ構成にのみ適用されます。 すべての書き込み要求をログに記録するかどうかを示します。 |
Enabled |
必須。 Azure Storage サービスに対してメトリックが有効になっているかどうかを示します。 読み取りアクセスの地理冗長レプリケーションが有効である場合、プライマリ メトリックとセカンダリ メトリックの両方が収集されます。 読み取りアクセスの地理冗長レプリケーションが有効でない場合、プライマリ メトリックだけが収集されます。 |
IncludeAPIs |
メトリックが有効な場合のみ必須です。 メトリック構成にのみ適用されます。 メトリックで、呼び出された API 操作の概要統計情報を生成するかどうかを示します。 |
RetentionPolicy/Enabled |
必須。 Azure Storage サービスに対してアイテム保持ポリシーが有効になっているかどうかを示します。 |
RetentionPolicy/Days |
保持ポリシーが有効な場合のみ必須です。 メトリックまたはログ データを保持する日数を示します。 この値より古いデータは、すべて削除されます。 指定できる最小値は です 1 。 最大値は 365 (1 年) です。 |
Cors |
省略可能。 バージョン 2013-08-15 以降でサポートされています。 すべての CORS ルールをグループ化します。 この要素グループを省略しても、既存の CORS 設定は上書きされません。 |
CorsRule |
省略可能。 Table Storage の CORS 規則を指定します。 要求には最大 5 個の CorsRule 要素を含めることができます。 要求本文に要素が含まれていない CorsRule 場合、すべての CORS ルールが削除され、Table Storage に対して CORS が無効になります。 |
AllowedOrigins |
CorsRule 要素が存在する場合は必須です。 CORS 経由で許可される配信元ドメインのコンマ区切りの一覧を提供します。または、すべてのドメインを許可するために を含 * みます。 配信元ドメインには、ドメインのすべてのサブドメインに対する CORS 経由の要求を許可するワイルドカード文字をサブドメインに含めることもできます。 元のドメインは 64 個までに限定されています。 許可される元のドメインのそれぞれは、最大 256 文字で指定できます。 |
ExposedHeaders |
要素が存在する CorsRule 場合は必須です。 CORS クライアントに公開する応答ヘッダーのコンマ区切りの一覧を提供します。 定義済みのヘッダーは 64 個まで、プレフィックスが指定されたヘッダーは 2 個までに制限されています。 各ヘッダーは最大 256 文字で指定できます。 |
MaxAgeInSeconds |
要素が存在する CorsRule 場合は必須です。 クライアントまたはブラウザーがプレフライト応答をキャッシュする秒数を示します。 |
AllowedHeaders |
要素が存在する場合は CorsRule 必須です。 クロスオリジン要求の一部として許可されるヘッダーのコンマ区切りのリストを提供します。 定義済みのヘッダーは 64 個まで、プレフィックスが指定されたヘッダーは 2 個までに制限されています。 各ヘッダーは最大 256 文字で指定できます。 |
AllowedMethods |
要素が存在する場合は CorsRule 必須です。 配信元で実行できる HTTP メソッドのコンマ区切りの一覧を提供します。 Azure Storage の場合、許可されるメソッドはDELETE 、、、GET 、HEAD 、MERGE POST 、OPTIONS および PUT です。 |
[応答]
応答には、HTTP 状態コード、一連の応答ヘッダー、および応答本文が含まれています。
状態コード
操作が正常に終了すると、ステータス コード 202 (Accepted) が返されます。
応答ヘッダー
この操作の応答には、次のヘッダーが含まれています。 応答には、追加の標準 HTTP ヘッダーも含まれる場合があります。 すべての標準ヘッダーは 、HTTP/1.1 プロトコル仕様に準拠しています。
応答ヘッダー | 説明 |
---|---|
x-ms-request-id |
サービスに対して行われた要求を一意に識別する値を指定します。 |
x-ms-version |
要求に対して使用される操作のバージョンを指定します。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。 |
x-ms-client-request-id |
要求と対応する応答のトラブルシューティングに使用できます。 このヘッダーの値は、要求に存在し、その値 x-ms-client-request-id が最大 1,024 文字の可視 ASCII 文字である場合、ヘッダーの値と同じです。 ヘッダーが x-ms-client-request-id 要求に存在しない場合、このヘッダーは応答に存在しません。 |
応答本文
なし。
承認
この操作を呼び出すことができるのは、アカウント所有者だけです。
注釈
次の制約事項と制限事項は、Azure Storage の CORS ルールに適用されます。
最大 5 つのルールを格納できます。
XML タグを除く要求のすべての CORS ルール設定の最大サイズは、2 KiB を超えないようにする必要があります。
許可されるヘッダー、公開されるヘッダー、許可される元のドメインの長さは、256 文字を超えることはできません。
許可されるヘッダーと公開されるヘッダーは、次のいずれかです。
正確なヘッダー名が指定されているリテラル ヘッダー (例:
x-ms-meta-processed
)。 要求では、最大 64 個のリテラル ヘッダーを指定できます。ヘッダーのプレフィックスが指定されているプレフィックス付きヘッダー (例:
x-ms-meta-data\
)。 この方法でプレフィックスを指定すると、そのプレフィックスで始まるヘッダーが許可または公開されます。 要求では、プレフィックス付きヘッダーを最大 2 つ指定できます。
要素で
AllowedMethods
指定されたメソッド (または HTTP 動詞) は、Azure Storage サービス API がサポートするメソッドに準拠している必要があります。 サポートされているメソッドは、DELETE
、、GET
、、MERGE
HEAD
、OPTIONS
POST
、およびPUT
です。
要求での CORS ルールの指定は、省略できます。 要求本文で Cors
要素を指定せずに Set Table Service Properties
を呼び出すと、既存の CORS ルールが保持されます。
CORS を無効にするには、空の CORS ルール設定 (例: ) を使用して を呼び出し、</Cors>
内部 CORS 規則は呼び出Set Table Service Properties
しません。 この呼び出しは、既存の規則を削除し、Table Storage の CORS を無効にします。
要素を指定する場合は、すべての CORS ルール要素が CorsRule
必要です。 要素が見つからない場合、要求はエラー コード 400 (無効な要求) で失敗します。
バージョン 2013-08-15 以降では、XML 設定の要素は省略可能です。 更新された要素のみを含み、他の設定には影響しない XML を送信することで、特定の要素を更新できます。
CORS ルールと評価ロジックの詳細については、「 Azure Storage サービスの CORS サポート」を参照してください。
要求と応答の例
次のサンプル URI は、 myaccount という名前の架空のストレージ アカウントの Table Storage プロパティを変更するように要求します。
PUT https://myaccount.table.core.windows.net/?restype=service&comp=properties HTTP/1.1
要求は次のヘッダーと共に送信されます。
x-ms-version: 2013-08-15
x-ms-date: Mon, 21 Oct 2013 04:38:23 GMT
Authorization: SharedKey
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=
Host: myaccount.table.core.windows.net
要求は次の XML 本文と共に送信されます。
<?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>
</StorageServiceProperties>
要求が送信されると、次の応答が返されます。
HTTP/1.1 202 Accepted
Connection: Keep-Alive
Transfer-Encoding: chunked
Date: Mon, 21 Oct 2013 04:38:24 GMT
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30
x-ms-version: 2013-08-15