문서 가져오기
Azure Cosmos DB는 여러 API를 지원하는 전역으로 분산된 다중 모델 데이터베이스입니다. 이 문서에서는 Azure Cosmos DB용 SQL API에 대해 설명합니다.
작업은 Get Document
파티션 키와 문서 키로 문서를 검색합니다.
요청
메서드 | 요청 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 요청 헤더를 참조하세요. 문서 읽기에 대한 중요한 응답 헤더는 다음과 같습니다.
헤더 | 필수 | 형식 | 설명 |
---|---|---|---|
If-None-Match | 선택 사항 | 문자열 | 값은 리소스의 etag여야 합니다. 작업을 조건부로 만듭니다. 즉, 응답에는 데이터베이스의 값만 헤더의 지정된 값과 다른 본문만 포함됩니다. |
x-ms-documentdb-partitionkey | 선택 사항 | Array | 읽을 문서의 파티션 키 값입니다. partitionKey 정의를 사용하여 컬렉션을 만든 경우에만 포함해야 합니다. |
x-ms-consistency-level | 선택 사항 | 문자열 | 일관성 수준 재정의입니다. 유효한 값은 Strong, Bounded, Session 또는 Eventual 입니다(가장 강력한 순서에서 가장 약한 값으로). 재정의는 계정의 구성된 일관성 수준과 동일하거나 약해야 합니다. |
x-ms-session-token | 선택 사항 | 문자열 | 세션 수준 일관성에 사용되는 문자열 토큰입니다. 클라이언트는 세션 일관성에 대한 읽기 요청 중에 이 헤더의 최신 읽기 값을 에코해야 합니다. |
본문
없음
응답
요청된 문서의 내용을 반환합니다.
헤더
모든 Azure Cosmos DB 응답 에서 반환되는 헤더는 일반적인 Azure Cosmos DB REST 응답 헤더를 참조하세요. 문서 가져오기에 대한 중요한 응답 헤더는 다음과 같습니다.
헤더 | 형식 | 설명 |
---|---|---|
x-ms-request-charge | 숫자 | 작업에서 사용하는 요청 단위 수입니다. |
상태 코드
다음 표에는 이 작업에서 반환하는 일반적인 상태 코드가 나열되어 있습니다. 상태 코드의 전체 목록은 HTTP 상태 코드를 참조하세요.
HTTP 상태 코드 | 설명 |
---|---|
200 정상 | 작업이 완료되었습니다. |
304 수정되지 않음 | 요청된 문서는 If-Match 헤더에 지정된 eTag 값 이후 수정되지 않았습니다. 서비스에서 빈 응답 본문을 반환합니다. |
400 잘못된 요청 | x-ms-consistency-level 헤더에 설정된 재정의는 계정을 만드는 동안 집합보다 강력합니다. 예를 들어 일관성 수준이 세션인 경우 재정의는 Strong 또는 Bounded일 수 없습니다. |
404 찾을 수 없음 | 문서가 더 이상 리소스가 아닙니다. 즉, 문서가 삭제되었습니다. |
본문
속성 | Description |
---|---|
id | 문서를 식별하는 데 사용되는 고유한 이름입니다. 즉, 두 문서가 동일한 ID를 공유할 수 없습니다. ID 가 255자를 초과하면 안됩니다. |
custom | 모든 사용자 정의 JSON입니다. |
_rid | 시스템 생성 속성입니다. 리소스 ID(_rid)는 리소스 모델의 리소스 스택에 따라 계층적인 고유 식별자입니다. 문서 리소스의 배치와 탐색을 위해 내부적으로 사용됩니다. |
_ts | 시스템 생성 속성입니다. 리소스가 마지막으로 업데이트된 시간의 타임스탬프를 지정합니다. 값은 Unix 시간입니다. |
_self | 시스템 생성 속성입니다. 고유한 주소를 지정할 수 있는 리소스의 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/"
}