Minta Kueri Dokumen
Anda dapat mengkueri dokumen json arbitrer dalam koleksi dengan melakukan posting terhadap sumber daya "colls" di Cosmos DB. Sintaks sql Cosmos DB menyediakan operator kueri hierarkis, relasional, dan spasial untuk mengkueri dan memproyeksikan dokumen. Untuk informasi selengkapnya tentang mengkueri sumber daya di Cosmos DB, lihat mengkueri sumber daya.
Minta
Metode | Meminta URI | Deskripsi |
---|---|---|
Posting | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs | perhatikan bahwa {databaseaccount} adalah nama akun Cosmos DB yang dibuat di bawah langganan Anda. nilai {db-id} adalah nama/id database yang dihasilkan pengguna, bukan id yang dihasilkan sistem (rid). nilai {coll-id} adalah nama koleksi. |
Header
Lihat Header permintaan Rest Azure Cosmos DB umum untuk header yang digunakan oleh semua permintaan Cosmos DB.
Header | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
x-ms-documentdb-isquery | Diperlukan | Boolean | Harus diatur ke True yang menunjukkan bahwa POST adalah kueri. |
Tipe-Konten | Diperlukan | String | String yang harus diatur ke application/query+json. |
x-ms-max-item-count | Opsional | Telepon | Bilangan bulat yang menunjukkan jumlah maksimum item yang akan dikembalikan per halaman. Kueri akan mengembalikan tidak lebih dari jumlah item yang ditentukan per halaman, tetapi bisa lebih sedikit tergantung pada tingkat performa koleksi dan ukurannya. Jumlah item x-ms-max -1 dapat ditentukan untuk memungkinkan layanan menentukan jumlah item yang optimal. Ini adalah nilai konfigurasi yang direkomendasikan untuk x-ms-max-item-count. |
x-ms-continuation | Opsional | String | Token string dikembalikan untuk kueri dan operasi read-feed jika ada lebih banyak hasil yang akan dibaca. Klien dapat mengambil halaman hasil berikutnya dengan mengirimkan ulang permintaan dengan header permintaan x-ms-continuation yang diatur ke nilai ini. |
x-ms-documentdb-query-enablecrosspartition | Opsional | Boolean | Jika koleksi dipartisi, ini harus diatur ke True untuk memungkinkan eksekusi di beberapa partisi. Kueri yang memfilter terhadap satu kunci partisi, atau terhadap koleksi partisi tunggal tidak perlu mengatur header . |
tingkat konsistensi x-ms | Opsional | String | Ini adalah penimpaan tingkat konsistensi. Nilai yang valid adalah: Kuat, Terikat, Sesi, atau Akhirnya (dalam urutan terkuat hingga terlemah). Penimpaan harus sama atau lebih lemah dari tingkat konsistensi akun yang dikonfigurasi. |
x-ms-session-token | Opsional | String | Token string yang digunakan dengan konsistensi tingkat sesi. Klien harus menggemakan nilai baca terbaru header ini selama permintaan baca untuk konsistensi sesi. |
Penting
Content-Type
Untuk header JANGAN sertakan charset (yaitu "application/query+json; charset-utf-8"). Header harus persis seperti yang ditunjukkan di atas.
Isi
Properti | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
query | Diperlukan | String | Berisi teks kueri SQL. Untuk tata bahasa, lihat Tata Bahasa SQL. |
parameter | Diperlukan | Array | Array nilai parameter untuk kueri. |
{
"query": "SELECT * FROM Families f WHERE f.id = @id AND f.Address.City = @city",
"parameters": [
{
"name": "@id",
"value": "AndersenFamily"
},
{
"name": "@city",
"value": "Seattle"
}
]
}
Respons
Mengembalikan array dokumen yang cocok dengan kueri yang diminta.
Header
Lihat Header respons Rest Azure Cosmos DB umum untuk header yang dikembalikan oleh semua respons Cosmos DB. Header respons penting adalah:
Properti | Jenis | Deskripsi |
---|---|---|
x-ms-continuation | String | Mengembalikan token untuk mengambil lebih banyak hasil dari operasi. Klien dapat mengirim ulang permintaan dengan header permintaan x-ms-continuation yang berisi nilai ini untuk melanjutkan eksekusi. |
x-ms-request-charge | Telepon | Jumlah unit permintaan yang digunakan oleh operasi. |
Kode status
Tabel berikut mencantumkan kode status umum yang dikembalikan oleh operasi ini. Untuk daftar lengkap kode status, lihat Kode Status HTTP.
Kode status HTTP | Deskripsi |
---|---|
200 OK | Operasi berhasil. |
400 Permintaan Buruk | Permintaan tertentu ditentukan dengan sintaks SQL yang salah, atau header yang diperlukan tidak ada. |
Isi
Properti | Deskripsi |
---|---|
_rid | Ini adalah ID sumber daya yang dihasilkan sistem untuk koleksi tempat dokumen berada. |
_Menghitung | Ini adalah jumlah dokumen yang dikembalikan oleh operasi daftar. |
Dokumen | Array dokumen yang dikembalikan oleh operasi. |
Properti Dokumen
Properti | Deskripsi |
---|---|
id | Ini adalah nama unik yang mengidentifikasi dokumen, yaitu tidak ada dua dokumen yang dapat berbagi id yang sama. Id tidak boleh melebihi 255 karakter. |
<kustom> | JSON yang ditentukan pengguna apa pun. |
_rid | Ini adalah properti yang dihasilkan sistem. ID sumber daya (_rid) adalah pengidentifikasi unik yang juga hierarkis per tumpukan sumber daya pada model sumber daya. Ini digunakan secara internal untuk penempatan dan navigasi sumber daya dokumen. |
_Ts | Ini adalah properti yang dihasilkan sistem. Ini menentukan tanda waktu terakhir yang diperbarui dari sumber daya. Nilainya adalah tanda waktu. |
_self | Ini adalah properti yang dihasilkan sistem. Ini adalah URI unik yang dapat diatasi untuk sumber daya. |
_etag | Ini adalah properti yang dihasilkan sistem yang menentukan etag sumber daya yang diperlukan untuk kontrol konkurensi optimis. |
_Lampiran | Ini adalah properti yang dihasilkan sistem yang menentukan jalur yang dapat diatasi untuk sumber daya lampiran. |
{
"_rid": "1KtjAImkcgw=",
"Documents": [
{
"id": "AndersenFamily",
"LastName": "Andersen",
"Parents": [
{
"FamilyName": null,
"FirstName": "Thomas"
},
{
"FamilyName": null,
"FirstName": "Mary Kay"
}
],
"Children": [
{
"FamilyName": null,
"FirstName": "Henriette Thaulow",
"Gender": "female",
"Grade": 5,
"Pets": [
{
"GivenName": "Fluffy"
}
]
}
],
"Address": {
"State": "WA",
"County": "King",
"City": "Seattle"
},
"IsRegistered": true,
"_rid": "1KtjAImkcgwBAAAAAAAAAA==",
"_self": "dbs/1KtjAA==/colls/1KtjAImkcgw=/docs/1KtjAImkcgwBAAAAAAAAAA==/",
"_etag": "\"00003200-0000-0000-0000-56f9e84d0000\"",
"_ts": 1459218509,
"_attachments": "attachments/"
}
],
"_count": 1
}
Contoh
POST https://querydemo.documents.azure.com/dbs/1KtjAA==/colls/1KtjAImkcgw=/docs HTTP/1.1
x-ms-continuation:
x-ms-documentdb-isquery: True
x-ms-documentdb-query-enablecrosspartition: True
x-ms-date: Tue, 29 Mar 2016 02:28:32 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3drOlOhFh9plfC0ggZfmHtS3XepVitiIRsd6i1d9PnuW8%3d
Cache-Control: no-cache
User-Agent: Microsoft.Azure.Documents.Client/1.6.0.0
x-ms-version: 2015-12-16
Accept: application/json
Content-Type: application/query+json
Host: querydemo.documents.azure.com
Cookie: x-ms-session-token#0=604; x-ms-session-token=604
Content-Length: 170
Expect: 100-continue
{
"query": "SELECT * FROM Families f WHERE f.id = @id AND f.Address.City = @city",
"parameters": [
{
"name": "@id",
"value": "AndersenFamily"
},
{
"name": "@city",
"value": "Seattle"
}
]
}
HTTP/1.1 201 Created
Cache-Control: no-store, no-cache
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: application/json
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Fri, 25 Mar 2016 22:39:02.501 GMT
etag: "00003200-0000-0000-0000-56f9e84d0000"
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;
x-ms-resource-usage: documentSize=0;documentsSize=1;collectionSize=1;
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/testdb/colls/testcoll
x-ms-quorum-acked-lsn: 602
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 12.38
x-ms-serviceversion: version=1.6.52.5
x-ms-activity-id: 856acd38-320d-47df-ab6f-9761bb987668
x-ms-session-token: 0:603
Set-Cookie: x-ms-session-token#0=603; Domain=querydemo.documents.azure.com; Path=/dbs/1KtjAA==/colls/1KtjAImkcgw=
Set-Cookie: x-ms-session-token=603; Domain=querydemo.documents.azure.com; Path=/dbs/1KtjAA==/colls/1KtjAImkcgw=
x-ms-gatewayversion: version=1.6.52.5
Date: Tue, 29 Mar 2016 02:28:30 GMT
{
"id": "AndersenFamily",
"LastName": "Andersen",
"Parents": [
{
"FamilyName": null,
"FirstName": "Thomas"
},
{
"FamilyName": null,
"FirstName": "Mary Kay"
}
],
"Children": [
{
"FamilyName": null,
"FirstName": "Henriette Thaulow",
"Gender": "female",
"Grade": 5,
"Pets": [
{
"GivenName": "Fluffy"
}
]
}
],
"Address": {
"State": "WA",
"County": "King",
"City": "Seattle"
},
"IsRegistered": true,
"_rid": "1KtjAImkcgwBAAAAAAAAAA==",
"_self": "dbs/1KtjAA==/colls/1KtjAImkcgw=/docs/1KtjAImkcgwBAAAAAAAAAA==/",
"_etag": "\"00003200-0000-0000-0000-56f9e84d0000\"",
"_ts": 1459218509,
"_attachments": "attachments/"
}