Pobieranie dokumentu
Usługa Azure Cosmos DB to usługa globalnie dystrybuowanej, wielomodelowej bazy danych z obsługą wielu interfejsów API. W tym artykule omówiono interfejs API SQL dla usługi Azure Cosmos DB.
Operacja Get Document
pobiera dokument według klucza partycji i klucza dokumentu.
Żądanie
Metoda | Identyfikator URI żądania | Opis |
---|---|---|
GET | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} | Pamiętaj, że {databaseaccount} jest nazwą konta usługi Azure Cosmos DB utworzonego w ramach subskrypcji. Wartość {db-id} to wygenerowana przez użytkownika nazwa/identyfikator bazy danych, a nie identyfikator wygenerowany przez system (rid). Wartość {coll-id} jest nazwą kolekcji. Wartość {doc-id} jest identyfikatorem dokumentu do pobrania. |
Nagłówki
Zobacz Typowe nagłówki żądań REST usługi Azure Cosmos DB dla nagłówków , które są używane przez wszystkie żądania usługi Cosmos DB. Ważne nagłówki odpowiedzi dla odczytu dokumentu są następujące:
Nagłówek | Wymagany | Typ | Opis |
---|---|---|---|
Dopasowanie if-none | Opcjonalne | Ciąg | Wartość powinna być elementem etag zasobu. Sprawia, że operacja warunkowa, czyli odpowiedź zawiera treść tylko wartość w bazie danych jest inna niż określona wartość w nagłówku. |
x-ms-documentdb-partitionkey | Opcjonalne | Tablica | Wartość klucza partycji do odczytania dokumentu. Należy uwzględnić tylko wtedy, gdy kolekcja zostanie utworzona z definicją partitionKey . |
x-ms-consistency-level | Opcjonalne | Ciąg | Jest to przesłonięcia na poziomie spójności. Prawidłowe wartości to: Silna, Powiązana, Sesja lub Ostateczna (w kolejności od najsilniejszych do najsłabszych). Przesłonięcia muszą być takie same lub słabsze niż skonfigurowany poziom spójności konta. |
x-ms-session-token | Opcjonalne | Ciąg | Token ciągu używany ze spójnością na poziomie sesji. Klienci muszą powtórzyć najnowszą wartość odczytu tego nagłówka podczas żądań odczytu w celu zapewnienia spójności sesji. |
Treść
Brak.
Reakcja
Zwraca zawartość żądanego dokumentu.
Nagłówki
Zobacz Typowe nagłówki odpowiedzi REST usługi Azure Cosmos DB dla nagłówków zwracanych przez wszystkie odpowiedzi usługi Azure Cosmos DB. Ważne nagłówki odpowiedzi dla polecenia Pobierz dokument są następujące:
Nagłówek | Typ | Opis |
---|---|---|
x-ms-request-charge | Liczba | Liczba jednostek żądań używanych przez operację. |
Kody stanu
W poniższej tabeli wymieniono typowe kody stanu zwracane przez tę operację. Aby uzyskać pełną listę kodów stanu, zobacz Kody stanu HTTP.
Kod stanu HTTP | Opis |
---|---|
200 OK | Operacja zakończyła się pomyślnie. |
304 Nie zmodyfikowano | Żądany dokument nie został zmodyfikowany, ponieważ określona wartość elementu eTag w nagłówku If-Match. Usługa zwraca pustą treść odpowiedzi. |
400 Nieprawidłowe żądanie | Przesłonięcia ustawione w nagłówku x-ms-consistency-level są silniejsze niż ten ustawiony podczas tworzenia konta. Jeśli na przykład poziom spójności to Sesja, przesłonięcia nie mogą być silne ani ograniczone. |
404 — Nie znaleziono | Dokument nie jest już zasobem, czyli dokument został usunięty. |
Treść
Właściwość | Opis |
---|---|
id | Jest to unikatowa nazwa używana do identyfikowania dokumentu, czyli nie ma dwóch dokumentów, które mogą współużytkować ten sam identyfikator. Identyfikator nie może przekraczać 255 znaków. |
niestandardowe | Dowolny plik JSON zdefiniowany przez użytkownika. |
_Rid | Jest to właściwość wygenerowana przez system. Identyfikator zasobu (_rid) jest unikatowym identyfikatorem, który jest również hierarchiczny dla stosu zasobów w modelu zasobów. Jest on używany wewnętrznie do umieszczania zasobu dokumentu i nawigacji po nim. |
_Ts | Jest to właściwość wygenerowana przez system. Określa ostatni zaktualizowany znacznik czasu zasobu. Wartość jest wyrażona w czasie systemu Unix. |
_Własny | Jest to właściwość wygenerowana przez system. Jest to unikatowy adresowy identyfikator URI zasobu. |
_Etag | Jest to właściwość wygenerowana przez system, która określa tag zasobu wymagany do optymistycznej kontroli współbieżności. |
Załączniki | Jest to właściwość wygenerowana przez system, która określa ścieżkę adresową zasobu załączników. |
{
"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/"
}
Przykład
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/"
}