Entitas Kueri

Operasi meminta Query Entities entitas dalam tabel dan menyertakan $filter opsi dan $select .

Minta

Untuk permintaan yang $select menggunakan opsi kueri, permintaan harus dibuat menggunakan versi 2011-08-18 atau yang lebih baru. Selain itu, DataServiceVersion header dan MaxDataServiceVersion harus diatur ke 2.0.

Untuk menggunakan proyeksi, permintaan harus dibuat menggunakan versi 2013-08-15 atau yang lebih baru. Header DataServiceVersion dan MaxDataServiceVersion harus diatur ke 3.0. Lihat Mengatur Header Versi Layanan Data OData untuk informasi selengkapnya.

Permintaan Query Entities dapat dibuat sebagai berikut. HTTPS disarankan. Ganti myaccount dengan nama akun penyimpanan Anda, dan mytable dengan nama tabel Anda:

Metode Meminta URI Versi HTTP
GET https://myaccount.table.core.windows.net/mytable(PartitionKey='<partition-key>',RowKey='<row-key>')?$select=<comma-separated-property-names>

https://myaccount.table.core.windows.net/mytable()?$filter=<query-expression>&$select=<comma-separated-property-names>
HTTP/1.1

Alamat entitas yang diatur untuk dikueri dapat mengambil sejumlah formulir pada URI permintaan. Untuk informasi selengkapnya, lihat Mengkueri Tabel dan Entitas.

URI Layanan Storage Emulasi

Saat membuat permintaan terhadap layanan penyimpanan yang ditimulasikan, tentukan nama host emulator dan port layanan Table sebagai 127.0.0.1:10002, diikuti dengan nama akun penyimpanan yang ditimulasikan:

Metode Meminta URI Versi HTTP
GET http://127.0.0.1:10002/devstoreaccount1/mytable(PartitionKey='<partition-key>',RowKey='<row-key>')?$select=<comma-separated-property-names>

http://127.0.0.1:10002/devstoreaccount1/mytable()?$filter=<query-expression>?$select=<comma-separated-property-names>
HTTP/1.1

Layanan Table di emulator penyimpanan berbeda dari layanan Windows ® Azure™ Table dalam beberapa cara. Untuk informasi selengkapnya, lihat Perbedaan Antara Emulator Storage dan Layanan Azure Storage.

Parameter URI

Operasi ini Query Entities mendukung opsi kueri yang ditentukan oleh Spesifikasi Protokol OData. Untuk informasi selengkapnya, lihat Protokol OData.

Judul Permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.

Header permintaan Deskripsi
Authorization Wajib diisi. Menentukan skema otorisasi, nama akun, 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 Opsional. Menentukan versi operasi yang akan digunakan untuk permintaan ini. Untuk informasi selengkapnya, lihat Penerapan versi untuk layanan Azure Storage.
Accept Opsional. Menentukan jenis konten yang diterima dari payload respons. Potensi nilai:

- application/atom+xml (hanya versi sebelum 2015-12-11)
- application/json;odata=nometadata
- application/json;odata=minimalmetadata
- application/json;odata=fullmetadata

Untuk informasi selengkapnya, lihat Format Payload untuk Operasi Layanan Tabel.
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

Tidak ada.

Permintaan Sampel

Request Syntax:  
GET /myaccount/Customers()?$filter=(Rating%20ge%203)%20and%20(Rating%20le%206)&$select=PartitionKey,RowKey,Address,CustomerSince  HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-12-11  
x-ms-date: Mon, 27 Jun 2016 15:25:14 GMT  
Authorization: SharedKeyLite myaccount:<some key>  
Accept: application/json;odata=nometadata  
Accept-Charset: UTF-8  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  

Respons

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

Kode Status

Operasi yang berhasil mengembalikan kode status 200 (OK).

Untuk informasi tentang kode status, lihat Kode Status dan Kesalahan dan Kode Kesalahan Layanan Tabel.

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-continuation-NextPartitionKey

x-ms-continuation-NextRowKey
Layanan mengembalikan header dan x-ms-continuation-NextRowKey kelanjutan x-ms-continuation-NextPartitionKey dalam kasus berikut:

- Ketika jumlah entitas yang akan dikembalikan melebihi 1.000.
- Ketika interval batas waktu server terlampaui.
- Ketika batas server tercapai, jika kueri mengembalikan data yang tersebar di beberapa server.

Untuk informasi selengkapnya tentang menggunakan token kelanjutan, lihat Batas Waktu Kueri dan Penomoran Halaman.
x-ms-request-id Header ini secara unik mengidentifikasi permintaan yang dibuat dan dapat digunakan untuk memecahkan masalah permintaan. Untuk informasi selengkapnya, lihat Pemecahan Masalah Operasi API.
x-ms-version Menunjukkan versi layanan Tabel yang digunakan untuk menjalankan permintaan. Header ini dikembalikan untuk permintaan yang dibuat terhadap versi 2009-09-19 dan yang lebih baru.
Date Nilai tanggal/waktu UTC yang dihasilkan oleh layanan yang menunjukkan waktu dimulainya respons.
Content-Type Menunjukkan jenis konten payload. Nilai header ini tergantung pada nilai Accept header permintaan. Potensi nilai:

- application/atom+xml (hanya versi sebelum 2015-12-11)
- application/json;odata=nometadata
- application/json;odata=minimalmetadata
- application/json;odata=fullmetadata

Untuk informasi selengkapnya tentang jenis konten yang valid, lihat Format Payload untuk Operasi Layanan Tabel.
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.

Respons Sampel

Response Status:  
HTTP/1.1 200 OK  
  
Response Headers:  
Content-Type: application/json  
x-ms-request-id: 87f178c0-44fe-4123-a4c1-96c8fa6d9654  
Date: Mon, 27 Jun 2016 15:25:14 GMT  
x-ms-version: 2015-12-11  
Connection: close  

Isi Respons

Operasi Query Entities mengembalikan daftar entitas dalam tabel sebagai kumpulan entitas OData, baik dalam format JSON atau umpan Atom, tergantung pada Accept header permintaan.

Catatan

JSON adalah format payload yang direkomendasikan, dan merupakan satu-satunya format yang didukung untuk versi 2015-12-11 dan yang lebih baru.

JSON (versi 2013-08-15 dan yang lebih baru)

Berikut adalah contoh permintaan URI untuk Query Entities operasi pada tabel Pelanggan.

GET /myaccount/Customers()?$filter=(Rating%20ge%203)%20and%20(Rating%20le%206)&$select=PartitionKey,RowKey,Address,CustomerSince  

Berikut adalah payload respons di JSON untuk tingkat kontrol yang berbeda.

Tidak Ada Metadata:

{  
   "value":[  
      {  
         "PartitionKey":"Customer",  
         "RowKey":"Name",  
         "Timestamp":"2013-08-22T00:20:16.3134645Z",  
         "CustomerSince":"2008-10-01T15:25:05.2852025Z"  
      }  
   ]  
}  

Metadata Minimal:

{  
   "odata.metadata":"https://myaccount.table.core.windows.net/$metadata#Customers",  
   "value":[  
      {  
         "PartitionKey":"Customer",  
         "RowKey":"Name",  
         "Timestamp":"2013-08-22T00:20:16.3134645Z",  
         "CustomerSince@odata.type":"Edm.DateTime",  
         "CustomerSince":"2008-10-01T15:25:05.2852025Z"  
      }  
   ]  
}  

Metadata Lengkap:

{  
   "odata.metadata":" https://myaccount.table.core.windows.net/metadata#Customers",  
   "value":[  
      {  
         "odata.type":"myaccount.Customers",  
         "odata.id":"https://myaccount.table.core.windows.net/Customers(PartitionKey=Customer',RowKey='Name')",  
         "odata.etag":"W/\"0x5B168C7B6E589D2\"",  
         "odata.editLink":"Customers(PartitionKey=Customer',RowKey='Name')",  
         "PartitionKey":"Customer",  
         "RowKey":"Name",  
         "Timestamp@odata.type":"Edm.DateTime",  
         "Timestamp":"2013-08-22T00:20:16.3134645Z",  
         "CustomerSince@odata.type":"Edm.DateTime",  
         "CustomerSince":"2008-10-01T15:25:05.2852025Z"  
      }  
   ]  
}  

Umpan Atom (versi sebelum 2015-12-11)

Berikut adalah contoh permintaan URI untuk Query Entities operasi pada tabel Pelanggan.

GET /myaccount/Customers()?$filter=(Rating%20ge%203)%20and%20(Rating%20le%206)&$select=PartitionKey,RowKey,Address,CustomerSince  

Berikut adalah sampel respons Atom untuk operasi tersebut Query Entities .

<?xml version="1.0" encoding="UTF-8"?>  
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xml:base="https://myaccount.table.core.windows.net">  
   <id>https://myaccount.table.core.windows.net/Customers</id>  
   <title type="text">Customers</title>  
   <updated>2013-08-22T00:50:32Z</updated>  
   <link rel="self" title="Customers" href="Customers" />  
   <entry m:etag="W/"0x5B168C7B6E589D2"">  
      <id>https://myaccount.table.core.windows.net/Customers(PartitionKey='Customer',RowKey='Name')</id>  
      <category term="myaccount.Customers" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />  
      <link rel="edit" title="Customers" href="Customers(PartitionKey='Customer',RowKey='Name')" />  
      <title />  
      <updated>2013-08-22T00:50:32Z</updated>  
      <author>  
         <name />  
      </author>  
      <content type="application/xml">  
         <m:properties>  
            <d:PartitionKey>Customer</d:PartitionKey>  
            <d:RowKey>Name</d:RowKey>  
            <d:Timestamp m:type="Edm.DateTime">2013-08-22T00:20:16.3134645Z</d:Timestamp>  
            <d:CustomerSince m:type="Edm.DateTime">2008-10-01T15:25:05.2852025Z</d:CustomerSince>  
         </m:properties>  
      </content>  
   </entry>  
</feed>  

Authorization

Operasi ini dapat dilakukan oleh pemilik akun dan oleh siapa pun dengan tanda tangan akses bersama yang memiliki izin untuk melakukan operasi ini.

Keterangan

Kueri terhadap layanan Tabel dapat mengembalikan maksimum 1.000 entitas pada satu waktu dan dapat dijalankan selama maksimal lima detik. Jika kumpulan hasil berisi lebih dari 1.000 entitas, jika kueri tidak selesai dalam waktu lima detik, atau jika kueri melewati batas partisi, respons menyertakan header kustom yang berisi sekumpulan token kelanjutan. Token kelanjutan dapat digunakan untuk membuat permintaan berikutnya untuk halaman data berikutnya. Untuk informasi selengkapnya tentang token kelanjutan, lihat Batas Waktu Kueri dan Penomoran Halaman.

Catatan

Saat membuat permintaan berikutnya yang menyertakan token kelanjutan, pastikan untuk meneruskan URI asli pada permintaan. Misalnya, jika Anda telah menentukan $filteropsi kueri , , $selectatau $top sebagai bagian dari permintaan asli, Anda akan ingin menyertakan opsi tersebut pada permintaan berikutnya. Jika tidak, permintaan Anda berikutnya dapat mengembalikan hasil yang tidak terduga.

Perhatikan bahwa $top opsi kueri dalam kasus ini menentukan jumlah hasil maksimum per halaman, bukan jumlah hasil maksimum dalam seluruh set respons.

Lihat Mengkueri Tabel dan Entitas untuk detail selengkapnya.

Untuk permintaan proyeksi menggunakan $select opsi kueri, permintaan harus dibuat menggunakan versi 2011-08-18 atau yang lebih baru. Jumlah maksimum properti yang dikembalikan adalah 255, dan semua properti yang diproyeksikan akan disertakan dalam isi respons bahkan jika properti bukan bagian dari entitas yang dikembalikan. Misalnya, jika permintaan menyertakan properti yang tidak dimuat entitas yang diproyeksikan, properti yang hilang ditandai dengan atribut null. Isi respons sampel di atas mencakup properti Alamat, yang bukan bagian dari entitas yang diproyeksikan, sehingga properti null: <d:Address m:null=”true” />

Total waktu yang dialokasikan untuk permintaan penjadwalan dan pemrosesan kueri adalah 30 detik, termasuk lima detik untuk eksekusi kueri.

Perhatikan bahwa sisi kanan ekspresi kueri harus konstan; Anda tidak dapat mereferensikan properti di sisi kanan ekspresi. Lihat Mengkueri Tabel dan Entitas untuk detail tentang membuat ekspresi kueri.

Ekspresi kueri mungkin tidak berisi null nilai. Karakter berikut harus dikodekan jika akan digunakan dalam string kueri:

  • Garis miring (/)

  • Tanda tanya (?)

  • Titik dua (:)

  • Simbol 'At' (@)

  • Ampersand (&)

  • Tanda sama dengan (=)

  • Tanda plus (+)

  • Koma (,)

  • Tanda dolar ($)

Aplikasi apa pun yang dapat mengotorisasi dan mengirim permintaan HTTP GET dapat mengkueri entitas dalam tabel.

Untuk informasi selengkapnya tentang operasi kueri yang didukung terhadap layanan Tabel melalui LINQ, lihat Operator Kueri yang Didukung untuk Layanan Tabel dan Menulis Kueri LINQ Terhadap Layanan Tabel.

Lihat juga

Kode Kesalahan Layanan Tabel
Mengotorisasi permintaan ke Azure Storage
Kode Status dan Kesalahan
Mengatasi Sumber Daya Layanan Tabel
Mengkueri Tabel dan Entitas
Mengatur Header Versi Layanan Data OData
Sisipkan Entitas
Perbarui Entitas
Hapus Entitas