Ringkasan fungsionalitas Penyimpanan Tabel
REST API Azure Table Storage mematuhi spesifikasi protokol OData, dengan beberapa perbedaan, seperti yang dijelaskan di bagian berikut.
Ekstensi Table Storage
Table Storage memperluas fungsionalitas OData
dengan cara berikut.
Kunci Bersama, Shared Key Lite, dan otorisasi Azure Active Directory
Table Storage mengharuskan setiap permintaan diotorisasi. Kunci Bersama, Shared Key Lite, dan otorisasi Microsoft Entra ID didukung. Microsoft Entra ID otorisasi lebih aman, dan disarankan untuk permintaan yang dibuat terhadap Table Storage dengan menggunakan REST API.
Untuk informasi selengkapnya tentang mengotorisasi permintaan, lihat Mengotorisasi permintaan ke Azure Storage.
Token kelanjutan untuk paginasi kueri
Kueri terhadap Table Storage dapat mengembalikan maksimum 1.000 item sekali waktu, dan dapat berjalan selama maksimal lima detik. Jika kumpulan hasil berisi lebih dari 1.000 item, atau jika kueri tidak selesai dalam waktu lima detik, respons menyertakan header. Header ini memberi pengembang token kelanjutan untuk digunakan, untuk melanjutkan kueri pada item berikutnya dalam tataan hasil. Header token kelanjutan dapat dikembalikan untuk operasi Tabel Kueri atau operasi Entitas Kueri .
Perhatikan bahwa total waktu yang dialokasikan untuk permintaan penjadwalan dan pemrosesan kueri adalah 30 detik, termasuk lima detik untuk eksekusi kueri.
Untuk informasi selengkapnya tentang token kelanjutan, lihat Batas waktu dan paginasi kueri.
Properti sistem kunci primer
Setiap entitas di Table Storage memiliki dua properti utama: PartitionKey
properti dan RowKey
properti . Properti ini membentuk kunci utama tabel, dan secara unik mengidentifikasi setiap entitas dalam tabel.
Kedua properti memerlukan nilai string. Pengembang bertanggung jawab untuk memberikan nilai untuk properti ini ketika entitas baru dimasukkan, dan untuk menyertakannya dalam operasi pembaruan atau penghapusan apa pun pada entitas.
Untuk informasi selengkapnya tentang properti kunci yang diperlukan ini, lihat Memahami model data Table Storage.
Properti sistem tanda waktu
Setiap entitas di Table Storage memiliki Timestamp
properti sistem. Properti Timestamp
adalah DateTime
nilai, dipertahankan di sisi server, untuk merekam waktu entitas terakhir diubah. Table Storage menggunakan Timestamp
properti secara internal untuk memberikan konkurensi optimis. Nilai Timestamp
adalah nilai yang meningkat secara monoton, yang berarti bahwa setiap kali entitas dimodifikasi, nilai Timestamp
meningkat untuk entitas tersebut. Properti ini tidak boleh diatur pada operasi sisipkan atau perbarui (nilai akan diabaikan).
Untuk informasi selengkapnya tentang Timestamp
properti , lihat Memahami model data Table Storage.
Operasi batch
Table Storage mendukung transaksi batch pada entitas yang berada dalam tabel yang sama dan termasuk dalam grup partisi yang sama, yang berarti mereka memiliki nilai yang sama PartitionKey
. Ini memungkinkan beberapa operasi sisipkan, perbarui, gabungkan, dan hapus didukung dalam satu transaksi atomik. Table Storage mendukung subset fungsionalitas yang disediakan oleh protokol OData.
Untuk informasi selengkapnya tentang operasi batch, lihat Melakukan transaksi grup entitas.
Pembatasan Table Storage
Table Storage memiliki batasan fungsionalitas berikut yang disediakan oleh OData
.
Properti kredensial
Table Storage tidak mendukung penggunaan properti Kredensial dari kelas DataServiceContext untuk mengotorisasi permintaan. Sebagai gantinya, Anda harus mengotorisasi permintaan terhadap Table Storage dengan menambahkan Authorization
header ke permintaan. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage.
Jenis properti
Tidak semua jenis properti yang didukung oleh OData
didukung. Untuk daftar jenis properti yang didukung, lihat Memahami model data Table Storage.
Operasi pada tautan
Table Storage saat ini tidak mendukung tautan antar tabel. Tautan adalah hubungan asosiatif antara data.
Operasi pada properti tertentu
Proyeksi mengacu pada kueri subset properti untuk entitas atau entitas. Ini dianalogikan dengan memilih subset kolom atau properti tabel saat Anda mengkueri dalam kueri terintegrasi bahasa (LINQ).
Proyeksi mengurangi jumlah data yang harus dikembalikan oleh kueri dengan menentukan bahwa hanya properti tertentu yang dikembalikan dalam respons. Proyeksi didukung sebagai bagian dari Azure Storage versi 2011-08-18. Untuk informasi selengkapnya, lihat Entitas Kueri, Menulis kueri LINQ terhadap Penyimpanan Tabel, dan OData: Pilih Opsi Kueri Sistem ($select).
Operator kueri LINQ
Table Storage mendukung operator kueri LINQ berikut:
From
Where
Take
Untuk informasi selengkapnya, lihat Operator kueri yang didukung untuk Table Storage.
Operator perbandingan LINQ
Anda dapat menggunakan subset operator perbandingan yang disediakan oleh LINQ. Untuk informasi selengkapnya, lihat Mengkueri tabel dan entitas dan Menulis kueri LINQ terhadap Table Storage.
Metode GetMetadataURI
Anda dapat menggunakan metode GetMetadataURI dari kelas DataServiceContext , tetapi tidak mengembalikan informasi skema apa pun di luar tiga properti skema tetap. Properti tersebut adalah PartitionKey
, RowKey
, dan Timestamp
.
Format payload
OData
mendukung pengiriman payload dalam format JSON. Table Storage mendukung OData
format JSON pada API versi 2013-08-15, dengan OData
versi layanan data diatur ke 3.0. Versi sebelumnya tidak mendukung format JSON.
Payload atom didukung di semua versi sebelum 2015-12-11. Versi 2015-12-11 dan yang lebih baru hanya mendukung payload JSON.
Catatan
JSON adalah format payload yang direkomendasikan, dan ini adalah satu-satunya format yang didukung untuk versi 2015-12-11 dan yang lebih baru.
Untuk informasi selengkapnya, lihat Format payload untuk operasi Table Storage dan Mengatur header versi layanan data OData.