ドキュメントの取得
Azure Cosmos DB は、グローバル分散型のマルチモデル データベースであり、複数の API でサポートされています。 この記事では、Azure Cosmos DB 用の SQL API について説明します。
操作は Get Document
、パーティション キーとドキュメント キーによってドキュメントを取得します。
Request
Method | 要求 URI | 説明 |
---|---|---|
GET | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} | {databaseaccount} は、サブスクリプションの下に作成された Azure Cosmos DB アカウントの名前であることに注意してください。 {db-id} 値は、システムによって生成された ID (rid) ではなく、データベースのユーザーによって生成された名前/ID です。 {coll-id} 値はコレクションの名前です。 {doc-id} 値は、取得するドキュメントの ID です。 |
ヘッダー
すべての Cosmos DB 要求 で使用されるヘッダーについては、「共通の Azure Cosmos DB REST 要求ヘッダー」を参照してください。 ドキュメントの読み取りの重要な応答ヘッダーは次のとおりです。
ヘッダー | 必須 | Type | 説明 |
---|---|---|---|
If-None-Match | 省略可能 | String | 値はリソースの etag である必要があります。 操作を条件付きにします。つまり、応答に含まれる本文は、データベース内の値のみがヘッダー内の指定された値と異なります。 |
x-ms-documentdb-partitionkey | 省略可能 | Array | 読み取るドキュメントのパーティション キー値。 partitionKey 定義を使用してコレクションが作成される場合にのみ、 と を含む必要があります。 |
x-ms-consistency-level | 省略可能 | String | これは、整合性レベルのオーバーライドです。 有効な値は、 Strong、 Bounded、 Session、または Eventual (最も強いものから最も弱いものの順) です。 オーバーライドは、アカウントで構成されている整合性レベルと同じか弱い必要があります。 |
x-ms-session-token | 省略可能 | String | セッション レベルの整合性で使用される文字列トークン。 クライアントは、セッション整合性のために読み取り要求中に、このヘッダーの最新の読み取り値をエコーする必要があります。 |
本文
なし。
[応答]
要求されたドキュメントの内容を返します。
ヘッダー
すべての Azure Cosmos DB 応答 によって返されるヘッダーについては、「共通の Azure Cosmos DB REST 応答ヘッダー」を参照してください。 ドキュメントの取得に関する重要な応答ヘッダーは次のとおりです。
ヘッダー | Type | 説明 |
---|---|---|
x-ms-request-charge | Number | 操作で使用された要求ユニットの数。 |
状態コード
次の表に、この操作で返される一般的なステータス コードを示します。 状態コードの完全な一覧については、「 HTTP 状態コード」を参照してください。
HTTP 状態コード | 説明 |
---|---|
200 Ok | 操作に成功しました。 |
304 変更なし | 要求されたドキュメントは、If-Match ヘッダーで指定された eTag 値のため変更されませんでした。 サービスからは空の応答本文が返されます。 |
400 Bad Request | x-ms-consistency-level ヘッダーで設定されたオーバーライドは、アカウントの作成時に設定されたオーバーライドよりも強力です。 たとえば、整合性レベルが Session の場合、オーバーライドを Strong または Bounded にすることはできません。 |
404 見つかりません | ドキュメントはリソースではなくなっています (つまり、ドキュメントは削除されています)。 |
Body
プロパティ | 説明 |
---|---|
id | これは、ドキュメントを識別するために使用される一意の名前です。つまり、2 つのドキュメントで同じ ID を共有することはできません。 ID は 255 文字以内にする必要があります。 |
custom | すべてのユーザー定義 JSON。 |
_解消 | これは、システムによって生成されるプロパティです。 リソース ID (_rid) は、リソース モデルのリソース スタックごとに階層化される一意識別子です。 ドキュメント リソースの配置と移動のために内部使用されます。 |
_Ts | これは、システムによって生成されるプロパティです。 リソースの最終更新タイムスタンプを示します。 値は Unix 時刻です。 |
_自己 | これは、システムによって生成されるプロパティです。 リソースの一意のアドレス指定が可能な URI です。 |
_Etag | これは、オプティミスティック コンカレンシー制御に必要なリソース etag を指定するシステム生成プロパティです。 |
attachments | 添付ファイル リソースのアドレス指定可能パスを指定するシステム生成プロパティです。 |
{
"id": "SalesOrder1",
"ponumber": "PO18009186470",
"OrderDate": "2005-07-01T00:00:00",
"ShippedDate": "0001-01-01T00:00:00",
"AccountNumber": "Account1",
"SubTotal": 419.4589,
"TaxAmount": 12.5838,
"Freight": 472.3108,
"TotalDue": 985.018,
"Items": [
{
"OrderQty": 1,
"ProductId": 760,
"UnitPrice": 419.4589,
"LineTotal": 419.4589
}
],
"_rid": "d9RzAJRFKgwBAAAAAAAAAA==",
"_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwBAAAAAAAAAA==/",
"_etag": "\"0000d986-0000-0000-0000-56f9e25b0000\"",
"_ts": 1459216987,
"_attachments": "attachments/"
}
例
GET https://querydemo.documents.azure.com/dbs/testdb/colls/testcoll/docs/SalesOrder1 HTTP/1.1
x-ms-documentdb-partitionkey: ["Account1"]
x-ms-date: Tue, 29 Mar 2016 02:03:06 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dyhmbeaUDy6NCOyWr0t7Cxx4aMT4Yx%2bJnRAs%2br8Theyw%3d
Cache-Control: no-cache
User-Agent: Microsoft.Azure.Documents.Client/1.6.0.0
x-ms-version: 2015-12-16
Accept: application/json
Host: querydemo.documents.azure.com
Cookie: x-ms-session-token#0=772; x-ms-session-token=772
HTTP/1.1 200 Ok
Cache-Control: no-store, no-cache
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: application/json
Content-Location: https://querydemo.documents.azure.com/dbs/testdb/colls/testcoll/docs/SalesOrder1
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Mon, 28 Mar 2016 14:47:03.949 GMT
etag: "0000d986-0000-0000-0000-56f9e25b0000"
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;
x-ms-resource-usage: documentSize=0;documentsSize=2;collectionSize=2;
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/testdb/colls/testcoll
x-ms-content-path: d9RzAJRFKgw=
x-ms-request-charge: 1
x-ms-serviceversion: version=1.6.52.5
x-ms-activity-id: c22bc349-2c02-4b80-81b9-a2d758c92902
x-ms-session-token: 0:772
Set-Cookie: x-ms-session-token#0=772; Domain=querydemo.documents.azure.com; Path=/dbs/testdb/colls/testcoll
Set-Cookie: x-ms-session-token=772; Domain=querydemo.documents.azure.com; Path=/dbs/testdb/colls/testcoll
x-ms-gatewayversion: version=1.6.52.5
Date: Tue, 29 Mar 2016 02:03:06 GMT
{
"id": "SalesOrder1",
"ponumber": "PO18009186470",
"OrderDate": "2005-07-01T00:00:00",
"ShippedDate": "0001-01-01T00:00:00",
"AccountNumber": "Account1",
"SubTotal": 419.4589,
"TaxAmount": 12.5838,
"Freight": 472.3108,
"TotalDue": 985.018,
"Items": [
{
"OrderQty": 1,
"ProductId": 760,
"UnitPrice": 419.4589,
"LineTotal": 419.4589
}
],
"_rid": "d9RzAJRFKgwBAAAAAAAAAA==",
"_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwBAAAAAAAAAA==/",
"_etag": "\"0000d986-0000-0000-0000-56f9e25b0000\"",
"_ts": 1459216987,
"_attachments": "attachments/"
}