Mengatur Properti Layanan Tabel

Operasi ini Set Table Service Properties menetapkan properti untuk titik akhir Azure Table Storage akun penyimpanan, termasuk properti untuk aturan Storage Analytics dan Cross-Origin Resource Sharing (CORS). Untuk informasi selengkapnya tentang aturan CORS, lihat Dukungan CORS untuk layanan Azure Storage.

Minta

Anda dapat menentukan Set Table Service Properties permintaan sebagai berikut. Kami merekomendasikan HTTPS. Ganti nama akun dengan nama akun penyimpanan Anda.

Metode Meminta URI Versi HTTP
PUT https://account-name.table.core.windows.net/?restype=service&comp=properties HTTP/1.1

Perhatikan bahwa URI harus selalu menyertakan garis miring (/) untuk memisahkan nama host dari jalur dan bagian kueri URI. Dalam kasus operasi ini, bagian jalur URI kosong.

Parameter URI

Parameter URI Deskripsi
restype=service&comp=properties Wajib diisi. Kombinasi kedua string kueri diperlukan untuk mengatur properti untuk layanan Azure Storage.
timeout Opsional. Parameter timeout dinyatakan dalam hitung detik.

Header permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional:

Meminta kop Deskripsi
Authorization Wajib diisi. Menentukan skema otorisasi, nama akun penyimpanan, dan tanda tangan. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage.
Date atau x-ms-date Wajib diisi. Menentukan Waktu Universal Terkoordinasi (UTC) untuk permintaan tersebut. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage.
x-ms-version Diperlukan untuk semua permintaan yang diotorisasi. Menentukan versi operasi yang akan digunakan untuk permintaan ini. Untuk informasi selengkapnya, lihat Penerapan versi untuk layanan Azure Storage.
x-ms-client-request-id Opsional. Menyediakan nilai buram yang dihasilkan klien dengan batas karakter 1 kibibyte (KiB) yang dicatat dalam log saat pengelogan dikonfigurasi. Kami sangat menyarankan Anda menggunakan header ini untuk menghubungkan aktivitas sisi klien dengan permintaan yang diterima server.

Isi permintaan

Untuk versi 2012-02-12 dan yang lebih lama, format isi permintaan adalah sebagai berikut:

<?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>  

Untuk versi 2013-08-15 dan yang lebih baru, format isi permintaan adalah sebagai berikut:

<?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>  

Dimulai dengan versi 2013-08-15, Anda dapat memanggil Set Table Service Properties dengan satu atau beberapa elemen akar yang ditentukan dalam isi permintaan. Elemen root meliputi:

  • Logging

  • HourMetrics

  • MinuteMetrics

  • Cors

Tidak perlu lagi menentukan setiap elemen akar pada permintaan. Jika Anda menghilangkan elemen akar, pengaturan yang ada untuk layanan untuk fungsi tersebut dipertahankan. Tetapi jika Anda menentukan elemen akar, Anda harus menentukan setiap elemen anak untuk elemen tersebut.

Tabel berikut ini menjelaskan elemen isi permintaan:

Nama elemen Deskripsi
Logging Opsional untuk versi 2013-08-15 dan yang lebih baru. Diperlukan untuk versi yang lebih lama. Mengelompokkan pengaturan Storage Analytics Logging .
Metrics Diperlukan untuk versi 2012-02-12 dan yang lebih lama. Tidak berlaku untuk versi 2013-08-15 dan yang lebih baru. Mengelompokkan pengaturan Storage Analytics Metrics . Pengaturan Metrics menyediakan ringkasan statistik permintaan yang dikelompokkan menurut API dalam agregat per jam untuk tabel.
HourMetrics Opsional untuk versi 2013-08-15 dan yang lebih baru. Tidak berlaku untuk versi yang lebih lama. Mengelompokkan pengaturan Storage Analytics HourMetrics . Pengaturan HourMetrics menyediakan ringkasan statistik permintaan yang dikelompokkan menurut API dalam agregat per jam untuk tabel.
MinuteMetrics Opsional untuk versi 2013-08-15 dan yang lebih baru. Tidak berlaku untuk versi yang lebih lama. Mengelompokkan pengaturan Storage Analytics MinuteMetrics . Pengaturan MinuteMetrics menyediakan statistik permintaan untuk setiap menit untuk tabel. Untuk versi yang lebih lama dari 2013-08-15, MinuteMetrics tidak disertakan dalam isi respons.
Version Wajib diisi. Menunjukkan versi Storage Analytics untuk dikonfigurasi.
Delete Wajib diisi. Hanya berlaku untuk konfigurasi pengelogan. Menunjukkan apakah semua permintaan penghapusan harus dicatat.
Read Wajib diisi. Hanya berlaku untuk konfigurasi pengelogan. Menunjukkan apakah semua permintaan baca harus dicatat.
Write Wajib diisi. Hanya berlaku untuk konfigurasi pengelogan. Menunjukkan apakah semua permintaan tulis harus dicatat.
Enabled Wajib diisi. Menunjukkan apakah metrik diaktifkan untuk layanan Azure Storage.

Jika replikasi geo-redundan akses baca diaktifkan, metrik primer dan sekunder dikumpulkan. Jika replikasi geo-redundan akses baca tidak diaktifkan, hanya metrik utama yang dikumpulkan.
IncludeAPIs Diperlukan hanya jika metrik diaktifkan. Hanya berlaku untuk konfigurasi metrik. Menunjukkan apakah metrik harus menghasilkan statistik ringkasan untuk operasi API yang disebut.
RetentionPolicy/Enabled Wajib diisi. Menunjukkan apakah kebijakan penyimpanan diaktifkan untuk layanan Azure Storage.
RetentionPolicy/Days Diperlukan hanya jika kebijakan penyimpanan diaktifkan. Menunjukkan jumlah hari metrik atau data pengelogan harus dipertahankan. Semua data yang lebih lama dari nilai ini akan dihapus. Nilai minimum yang dapat Anda tentukan adalah 1. Nilai terbesar adalah 365 (satu tahun).
Cors Opsional. Didukung untuk versi 2013-08-15 dan yang lebih baru. Mengelompokkan semua aturan CORS.

Menghilangkan grup elemen ini tidak akan menimpa pengaturan CORS yang ada.
CorsRule Pilihan. Menentukan aturan CORS untuk Table Storage. Anda dapat menyertakan hingga lima CorsRule elemen dalam permintaan. Jika tidak ada CorsRule elemen yang disertakan dalam isi permintaan, semua aturan CORS akan dihapus, dan CORS akan dinonaktifkan untuk Table Storage.
AllowedOrigins Diperlukan jika CorsRule elemen ada. Menyediakan daftar domain asal yang dipisahkan koma yang akan diizinkan melalui CORS, atau berisi * untuk mengizinkan semua domain. Domain asal mungkin juga menyertakan karakter kartubebas di subdomain untuk mengizinkan permintaan melalui CORS untuk semua subdomain domain. Terbatas pada 64 domain asal. Setiap asal yang diizinkan dapat memiliki hingga 256 karakter.
ExposedHeaders Diperlukan jika CorsRule elemen ada. Menyediakan daftar header respons yang dipisahkan koma untuk diekspos ke klien CORS. Terbatas pada 64 header yang ditentukan dan dua header awalan. Setiap header dapat mencapai 256 karakter.
MaxAgeInSeconds Diperlukan jika CorsRule elemen ada. Menunjukkan jumlah detik bahwa klien atau browser harus menyimpan respons preflight.
AllowedHeaders Diperlukan jika CorsRule elemen ada. Menyediakan daftar header yang dipisahkan koma yang diizinkan untuk menjadi bagian dari permintaan lintas asal. Terbatas pada 64 header yang ditentukan dan 2 header awalan. Setiap header dapat mencapai 256 karakter.
AllowedMethods Diperlukan jika CorsRule elemen ada. Menyediakan daftar metode HTTP yang dipisahkan koma yang asalnya diizinkan untuk dijalankan. Untuk Azure Storage, metode yang diizinkan adalah DELETE, , GET, HEADMERGE, POST, OPTIONS, dan PUT.

Respons

Respons mencakup kode status HTTP, sekumpulan header respons, dan isi respons.

Kode status

Operasi yang berhasil mengembalikan kode status 202 (Diterima).

Header respons

Respons untuk operasi ini mencakup header berikut. Respons mungkin juga menyertakan header HTTP standar tambahan. Semua header standar sesuai dengan spesifikasi protokol HTTP/1.1.

Header respons Deskripsi
x-ms-request-id Menentukan nilai yang secara unik mengidentifikasi permintaan yang dibuat terhadap layanan.
x-ms-version Menentukan versi operasi yang digunakan untuk respons. Untuk informasi selengkapnya, lihat Penerapan versi untuk layanan Azure Storage.
x-ms-client-request-id Dapat digunakan untuk memecahkan masalah permintaan dan respons yang sesuai. Nilai header ini sama dengan nilai x-ms-client-request-id header, jika ada dalam permintaan dan nilainya paling banyak 1.024 karakter ASCII yang terlihat. x-ms-client-request-id Jika header tidak ada dalam permintaan, header ini tidak akan ada dalam respons.

Isi Respons

Tidak ada.

Authorization

Hanya pemilik akun yang dapat memanggil operasi ini.

Keterangan

Pembatasan dan batasan berikut berlaku untuk aturan CORS di Azure Storage:

  • Anda dapat menyimpan maksimal lima aturan.

  • Ukuran maksimum semua pengaturan aturan CORS pada permintaan, tidak termasuk tag XML, tidak boleh melebihi 2 KiB.

  • Panjang header yang diizinkan, header yang diekspos, atau asal yang diizinkan tidak boleh melebihi 256 karakter.

  • Header yang diizinkan dan header yang diekspos dapat berupa:

    • Header harfiah tempat nama header yang tepat disediakan, seperti x-ms-meta-processed. Anda dapat menentukan maksimum 64 header harfiah pada permintaan.

    • Header awalan tempat awalan header disediakan, seperti x-ms-meta-data\. Menentukan awalan dengan cara ini memungkinkan atau mengekspos header apa pun yang dimulai dengan awalan tersebut. Anda dapat menentukan maksimum dua header awalan pada permintaan.

  • Metode (atau kata kerja HTTP) yang ditentukan dalam AllowedMethods elemen harus sesuai dengan metode yang didukung API layanan Azure Storage. Metode yang didukung adalah DELETE, , HEADGET, MERGE, POST, OPTIONS, dan PUT.

Menentukan aturan CORS pada permintaan bersifat opsional. Jika Anda memanggil Set Table Service Properties tanpa menentukan Cors elemen dalam isi permintaan, aturan CORS yang ada akan dipertahankan.

Untuk menonaktifkan CORS, panggil Set Table Service Properties dengan pengaturan aturan CORS kosong (misalnya, </Cors>) dan tidak ada aturan CORS dalam. Panggilan ini menghapus aturan yang ada dan menonaktifkan CORS untuk Table Storage.

Semua elemen aturan CORS diperlukan jika Anda menentukan CorsRule elemen . Jika ada elemen yang hilang, permintaan akan gagal dengan kode kesalahan 400 (Permintaan Buruk).

Dimulai dengan versi 2013-08-15, elemen untuk pengaturan XML bersifat opsional. Anda dapat memperbarui elemen tertentu dengan mengirim XML yang hanya berisi elemen yang diperbarui dan tidak memengaruhi pengaturan lain.

Untuk informasi mendetail tentang aturan CORS dan logika evaluasi, lihat dukungan CORS untuk layanan Azure Storage.

Sampel permintaan dan respons

Contoh URI berikut membuat permintaan untuk mengubah properti Table Storage untuk akun penyimpanan fiktif bernama myaccount:

PUT https://myaccount.table.core.windows.net/?restype=service&comp=properties HTTP/1.1  

Permintaan dikirim dengan header berikut:

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  

Permintaan dikirim dengan isi XML berikut:

<?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>  
  

Setelah permintaan dikirim, respons berikut dikembalikan:

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  
  

Lihat juga