Mengatur Properti Layanan Tabel
Operasi ini Set Table Service Properties menetapkan properti untuk titik akhir layanan Tabel akun penyimpanan, termasuk properti untuk aturan Storage Analytics dan CORS (Berbagi Sumber Daya Lintas Asal). Lihat Dukungan CORS untuk Layanan Storage untuk informasi selengkapnya tentang aturan CORS.
Minta
Permintaan Set Table Service Properties dapat ditentukan sebagai berikut. HTTPS disarankan. Ganti <account-name> 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
| URI Parameter | Deskripsi |
|---|---|
restype=service&comp=properties |
Wajib diisi. Kombinasi kedua string kueri diperlukan untuk mengatur properti layanan penyimpanan. |
timeout |
Opsional. Parameter timeout dinyatakan dalam hitung detik. |
Judul Permintaan
Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.
| Header Permintaan | 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 KiB yang dicatat dalam log analitik saat pengelogan analitik penyimpanan diaktifkan. Menggunakan header ini sangat direkomendasikan untuk mengkorelasi aktivitas sisi klien dengan permintaan yang diterima oleh server. Untuk informasi selengkapnya, lihat Tentang Storage Analytics Logging dan Azure Logging: Menggunakan Log untuk Melacak Permintaan Storage. |
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-seperated-list-of-response-headers</ExposedHeaders>
<AllowedHeaders> comma-seperated-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:
Pengelogan
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. Namun, jika Anda menentukan elemen akar tertentu, Anda harus menentukan setiap elemen anak untuk elemen tersebut.
Tabel berikut ini menjelaskan elemen isi permintaan:
| Nama Elemen | Deskripsi |
|---|---|
| Pengelogan | Opsional dimulai dengan versi 2013-08-15. Diperlukan untuk versi yang lebih lama. Mengelompokkan pengaturan Pengelogan Azure Analytics. |
| Metrik | Diperlukan untuk versi 2012-02-12 dan yang lebih lama. Tidak berlaku untuk versi 2013-08-15 atau yang lebih baru. Mengelompokkan pengaturan Metrik Azure Analytics . Pengaturan Metrik menyediakan ringkasan statistik permintaan yang dikelompokkan menurut API dalam agregat per jam untuk tabel. |
| HourMetrics | Opsional untuk versi 2013-08-15 atau yang lebih baru; tidak berlaku untuk versi yang lebih lama. Mengelompokkan pengaturan HourMetrics Azure Analytics . Pengaturan HourMetrics menyediakan ringkasan statistik permintaan yang dikelompokkan menurut API dalam agregat per jam untuk tabel. |
| MinuteMetrics | Opsional untuk versi 2013-08-15 atau yang lebih baru; tidak berlaku untuk versi yang lebih lama. Mengelompokkan pengaturan MinuteMetrics Azure Analytics . 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. |
| Versi | Wajib diisi. Versi Storage Analytics untuk dikonfigurasi. |
| Delete | Wajib diisi. Hanya berlaku untuk konfigurasi pengelogan. Menunjukkan apakah semua permintaan penghapusan harus dicatat. |
| Baca | Wajib diisi. Hanya berlaku untuk konfigurasi pengelogan. Menunjukkan apakah semua permintaan baca harus dicatat. |
| Tulis | Wajib diisi. Hanya berlaku untuk konfigurasi pengelogan. Menunjukkan apakah semua permintaan tulis harus dicatat. |
| Aktif | Wajib diisi. Menunjukkan apakah metrik diaktifkan untuk layanan penyimpanan. 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 penyimpanan. |
| 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. Elemen Cors didukung untuk versi 2013-08-15 atau yang lebih baru. Mengelompokkan semua aturan CORS. Menghilangkan grup elemen ini tidak akan menimpa pengaturan CORS yang ada. |
| CorsRule | Opsional. Menentukan aturan CORS untuk layanan Tabel. Anda dapat menyertakan hingga lima elemen CorsRule dalam permintaan. Jika tidak ada elemen CorsRule yang disertakan dalam isi permintaan, semua aturan CORS akan dihapus, dan CORS akan dinonaktifkan untuk layanan Tabel. |
| AllowedOrigins | Diperlukan jika elemen CorsRule ada. Daftar domain asal yang dipisahkan koma yang akan diizinkan melalui CORS, atau "*" untuk mengizinkan semua domain. Domain asal juga dapat menyertakan karakter kartubebas dalam 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 elemen CorsRule ada. 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 elemen CorsRule ada. Jumlah detik klien/browser harus menyimpan respons preflight. |
| AllowedHeaders | Diperlukan jika elemen CorsRule ada. 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 elemen CorsRule ada. Daftar metode HTTP yang dipisahkan koma yang diizinkan untuk dijalankan oleh asal. Untuk Azure Storage, metode yang diizinkan adalah DELETE, GET, HEAD, MERGE, POST, OPTIONS, atau 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 juga dapat mencakup header HTTP standar tambahan. Semua header standar sesuai dengan spesifikasi protokol HTTP/1.1.
| Header Respons | Deskripsi |
|---|---|
x-ms-request-id |
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 |
Header ini 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 1024 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 dalam Azure Storage:
Maksimal lima aturan dapat disimpan.
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 mungkin:
Header harfiah, di mana nama header yang tepat disediakan, seperti x-ms-meta-processed. Maksimal 64 header literal dapat ditentukan pada permintaan.
Header yang diawali, di mana awalan header disediakan, seperti x-ms-meta-data*. Menentukan awalan dengan cara ini memungkinkan atau mengekspos header apa pun yang dimulai dengan awalan yang diberikan. Maksimal dua header awalan dapat ditentukan pada permintaan.
Metode (atau kata kerja HTTP) yang ditentukan dalam elemen AllowedMethods harus sesuai dengan metode yang didukung oleh API layanan penyimpanan Azure. Metode yang didukung adalah DELETE, GET, HEAD, MERGE, POST, OPTIONS, dan PUT.
Menentukan aturan CORS pada permintaan bersifat opsional. Jika Anda memanggil Set Table Service Properties tanpa menentukan elemen Cors dalam isi permintaan, aturan CORS yang ada akan dipertahankan.
Untuk menonaktifkan CORS, panggil Set Table Service Properties dengan pengaturan aturan CORS kosong (yaitu, )</Cors> dan tidak ada aturan CORS dalam. Panggilan ini menghapus aturan yang ada, menonaktifkan CORS untuk layanan Tabel.
Semua elemen aturan CORS diperlukan jika elemen CorsRule ditentukan. Permintaan akan gagal dengan kode kesalahan 400 (Bad Request) jika ada elemen yang hilang.
Dimulai dengan versi 2013-08-15, elemen pengaturan XML akan bersifat opsional sehingga memperbarui elemen tertentu dapat dilakukan dengan mengirim XML yang hanya berisi elemen yang diperbarui dan pengaturan lainnya tidak akan terpengaruh.
Untuk informasi mendetail tentang aturan CORS dan logika evaluasi, lihat Dukungan CORS untuk layanan Storage.
Permintaan dan Respons Sampel
Contoh URI berikut membuat permintaan untuk mengubah properti layanan Tabel untuk akun penyimpanan fiksi 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