Set Table Service Properties

この Set Table Service Properties 操作では、Storage Analyticsおよび CORS (クロスオリジン リソース共有) ルールのプロパティを含む、ストレージ アカウントの Table service エンドポイントのプロパティが設定されます。 CORS ルールの詳細については、「Storage サービスの CORSサポート」を参照してください。

Request

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 必須。 ストレージ サービス プロパティを設定するには、両方のクエリ文字列を組み合わせる必要があります。
timeout 省略可能。 timeout パラメーターは、秒単位で表されます。

要求ヘッダー

必須要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。

要求ヘッダー 説明
Authorization 必須。 承認スキーム、ストレージ アカウント名、および署名を指定します。 詳細については、「要求を承認して要求を承認する」をAzure Storage。
Date または x-ms-date 必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「要求を承認して要求を承認する」をAzure Storage。
x-ms-version すべての承認された要求に必要です。 この要求に使用する操作のバージョンを指定します。 詳細については、「サービスのバージョン管理」をAzure Storageしてください
x-ms-client-request-id 省略可能。 ストレージ分析ログが有効になっている場合に分析ログに記録される 1 KiB 文字制限を持つ、クライアントによって生成された非透過的な値を提供します。 クライアント側のアクティビティをサーバーが受信した要求と関連付けるには、このヘッダーを使用することが強く推奨されます。 詳細については、「Storage Analytics ログと Azure ログについて: ログを使用した要求の追跡Storage参照してください

要求本文

バージョン 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-seperated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders> comma-seperated-list-of-request-headers </AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  

バージョン 2013-08-15 以降では、要求本文で指定された 1 つ以上のルート要素を使用して Set Table Service Properties を呼び出すことができます。 ルート要素は次のとおりです。

  • Logging

  • HourMetrics

  • MinuteMetrics

  • Cors

要求ですべてのルート要素を指定する必要はなくなりました。 ルート要素を省略した場合、その機能に対応したサービスの既存の設定が維持されます。 ただし、特定のルート要素を指定した場合、その要素のすべての子要素を指定する必要があります。

要求本文の要素を次の表に示します。

要素名 説明
Logging バージョン 2013-08-15 以降では省略可能です。 それよりも前のバージョンでは必須です。 Azure Analytics の Logging 設定をグループ化します。
Metrics バージョン 2012-02-12 以前では必須です。 バージョン 2013-08-15 以降には適用できません。 Azure Analytics メトリックの設定 をグループにしますMetrics 設定によって、テーブルの 1 時間ごとの集計で API 別にグループ化された要求の統計に関する概要が示されます。
HourMetrics バージョン 2013-08-15 以降では省略可能ですが、それよりも前のバージョンには適用できません。 Azure Analytics の HourMetrics 設定をグループ化します。 HourMetrics 設定によって、テーブルの 1 時間ごとの集計で API 別にグループ化された要求の統計に関する概要が示されます。
MinuteMetrics バージョン 2013-08-15 以降では省略可能ですが、それよりも前のバージョンには適用できません。 Azure Analytics の MinuteMetrics 設定をグループ化します。 MinuteMetrics 設定によって、テーブルの分単位の要求の統計が示されます。 2013-08-15 より前のバージョンの場合 、MinuteMetrics は応答本文に含まれません。
Version 必須です。 構成する Storage Analytics のバージョン。
削除 必須。 ログ構成にのみ適用されます。 すべての削除要求をログに記録するかどうかを示します。
読み取り 必須。 ログ構成にのみ適用されます。 すべての読み取り要求をログに記録するかどうかを示します。
書き込み 必須。 ログ構成にのみ適用されます。 すべての書き込み要求をログに記録するかどうかを示します。
Enabled 必須。 ストレージ サービスに対してメトリックが有効であるかどうかを示します。

読み取りアクセスの地理冗長レプリケーションが有効である場合、プライマリ メトリックとセカンダリ メトリックの両方が収集されます。 読み取りアクセスの地理冗長レプリケーションが有効でない場合、プライマリ メトリックだけが収集されます。
IncludeAPIs メトリックが有効な場合のみ必須です。 メトリック構成にのみ適用されます。 メトリックで、呼び出された API 操作の概要統計情報を生成するかどうかを示します。
RetentionPolicy/Enabled 必須。 ストレージ サービスに対して保持ポリシーが有効であるかどうかを示します。
RetentionPolicy/Days 保持ポリシーが有効な場合のみ必須です。 メトリックまたはログ データを保持する日数を示します。 この値より古いデータは、すべて削除されます。 指定できる最小値は 1、最大値は 365 (1 年) です。
Cors 省略可能。 Cors 要素はバージョン2013-08-15 以降でサポートされています。 すべての CORS ルールをグループ化します。

この要素グループを省略しても、既存の CORS 設定は上書きされません。
CorsRule 省略可能。 Table Service の CORS ルールを指定します。 要求には最大5つの CorsRule 要素を含めることができます。 CorsRule 要素が要求本文に含まれていない場合は、すべての cors ルールが削除され、cors は Table service に対して無効になります。
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 値は最大で1024の表示可能な ASCII 文字になります。 x-ms-client-request-idヘッダーが要求内に存在しない場合、このヘッダーは応答に存在しません。

応答本文

なし。

承認

この操作を呼び出すことができるのはアカウント所有者のみです。

Remarks

次の制約事項と制限事項は、Azure Storage の CORS ルールに適用されます。

  • 最大 5 つのルールを格納できます。

  • XML タグを除く、要求のすべての CORS ルール設定の最大サイズは、2つの KiB を超えることはできません。

  • 許可されるヘッダー、公開されるヘッダー、許可される元のドメインの長さは、256 文字を超えることはできません。

  • 許可されるヘッダーと公開されるヘッダーとして、次のいずれかを使用できます。

    • リテラル ヘッダー。x-ms-meta-processed などの正確なヘッダー名を指定します。 最大 64 個のリテラル ヘッダーを要求で指定できます。

    • プレフィックス付きヘッダー。ヘッダーのプレフィックスが指定されています (例: x-ms メタ * データ)。 このような方法でプレフィックスを指定した場合は、指定のプレフィックスで始まるすべてのヘッダーが許可または公開されます。 最大 2 個のプレフィックスが指定されたヘッダーを要求で指定できます。

  • AllowedMethods 要素で指定されたメソッド (または HTTP 動詞) は、Azure ストレージ サービス API でサポートされるメソッドに従う必要があります。 サポートされるメソッドは、DELETE、GET、HEAD、MERGE、POST、OPTIONS、PUT です。

要求での CORS ルールの指定は、省略できます。 Set Table Service Properties要求本文で cors 要素を指定せずにを呼び出すと、既存の cors ルールが保持されます。

CORS を無効にするには、空の CORS ルール設定 (つまり、</Cors>) を使用し、内部 CORS ルールを使用せずに、Set Table Service Properties を呼び出します。 この呼び出しによって、既存のルールが削除され、テーブル サービスの CORS が無効になります。

CorsRule 要素が指定されている場合は、すべての CORS ルール要素が必要です。 いずれかの要素がない場合、要求はエラー コード 400 (Bad Request) で失敗します。

バージョン 2013-08-15 以降では、XML 設定要素は省略できます。そのため、特定の要素の更新は、更新済みの要素のみを含む XML を送信することによって実行できます。その他の設定は影響を受けません。

cors ルールと評価ロジックの詳細については、「 Storage サービスの cors のサポート」を参照してください。

要求と応答の例

次の URI の例では、架空のストレージ アカウント名 myaccount のテーブル サービス プロパティを変更するように要求します。

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  
  

参照