Tworzenie załącznika
Operacja Create Attachment
tworzy załącznik dla dokumentu.
Żądanie
Metoda | Identyfikator URI żądania | Opis |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments. | {databaseaccount} to nazwa konta usługi Azure Cosmos DB utworzonego w ramach subskrypcji. Wartość {db-id} jest wygenerowaną przez użytkownika nazwą/identyfikatorem bazy danych, a nie identyfikatorem wygenerowanym przez system (rid). Wartość {coll-id} to nazwa kolekcji zawartej w dokumencie. Wartość dokumentu to nazwa dokumentu skojarzona z załącznikiem. |
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 Azure Cosmos DB.
Nagłówek | Wymagany | Typ | Opis |
---|---|---|---|
Slug | Opcjonalne | Ciąg | Nazwa załącznika. Jest to wymagane tylko wtedy, gdy nieprzetworzone nośniki są przesyłane do magazynu załączników usługi Azure Cosmos DB. Aby uzyskać więcej informacji, zobacz AtomPub Protocol. |
Treść
Właściwość | Wymagany | Typ | Opis |
---|---|---|---|
id | Opcjonalne | Ciąg | Ustawienie Nie jest wymagane podczas dołączania nieprzetworzonych nośników. Jest to właściwość ustawiana przez użytkownika. Jest to unikatowa nazwa identyfikująca załącznik, czyli brak dwóch załączników współużytkujących ten sam identyfikator. Identyfikator nie może przekraczać 255 znaków. |
Contenttype | Opcjonalne | Ciąg | Ustawienie Nie jest wymagane podczas dołączania nieprzetworzonych nośników. Jest to właściwość ustawiana przez użytkownika. Zwraca uwagę na typ zawartości załącznika. Podczas przesyłania bitów załącznika jako treści usługa Cosmos DB ustawia typ contentType na typ ustawiony w nagłówku Content-Type . |
Media | Opcjonalne | Ciąg | Ustawienie Nie jest wymagane podczas dołączania nieprzetworzonych nośników. Jest to link adresu URL lub ścieżka pliku, w której znajduje się załącznik. |
{
"id": "image_id",
"contentType": "image/jpg",
"media": "www.bing.com"
}
Reakcja
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.
Kody stanu
Poniższa tabela zawiera listę typowych kodów stanu zwracanych przez tę operację. Aby uzyskać pełną listę kodów stanu, zobacz Kody stanu HTTP.
Kod stanu HTTP | Opis |
---|---|
Utworzono 201 | Operacja zakończyła się pomyślnie. |
400 Nieprawidłowe żądanie | Treść JSON jest nieprawidłowa. Sprawdź brakujące nawiasy klamrowe lub cudzysłowy. |
409 Konflikt | Identyfikator lub Slug podany dla nowego załącznika został pobrany przez istniejący załącznik. |
413 Jednostka jest za duża | Rozmiar dokumentu w żądaniu przekroczył dozwolony rozmiar dokumentu w żądaniu. |
Treść
Utworzenie załącznika powoduje utworzenie zasobu załącznika z następującą treścią odpowiedzi:
Właściwość | Opis |
---|---|
_Rid | Jest to właściwość wygenerowana przez system. Identyfikator zasobu (_rid) to unikatowy identyfikator, który jest również hierarchiczny dla stosu zasobów w modelu zasobów. Jest on używany wewnętrznie do umieszczania i nawigacji zasobu załącznika. |
_Ts | Jest to właściwość wygenerowana przez system. Określa ostatni zaktualizowany znacznik czasu zasobu. Wartość jest znacznikiem czasu. |
_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 kontrolki współbieżności. |
{
"id": "image_id",
"contentType": "image/jpg",
"media": "www.bing.com",
"_rid": "Sl8fALN4sw4CAAAAAAAAAOnTcEc=",
"_ts": 1449606296,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/docs\/Sl8fALN4sw4CAAAAAAAAAA==\/attachments\/Sl8fALN4sw4CAAAAAAAAAOnTcEc=",
"_etag": "\"060091c2-0000-0000-0000-56673c980000\""
}
Przykład
POST https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d/attachments HTTP/1.1
x-ms-session-token: 16
x-ms-date: Tue, 08 Dec 2015 20:24:56 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dQ8MDtRExrtOeDL5TSaHvXhPTNyKiRrrIC3IjTSpf958%3d
Cache-Control: no-cache
User-Agent: contoso/1.0
x-ms-version: 2015-08-06
Accept: application/json
Host: contosomarketing.documents.azure.com
Cookie: x-ms-session-token=16
Content-Length: 66
Expect: 100-continue
Connection: Keep-Alive
{
"id": "image_id",
"contentType": "image/jpg",
"media": "www.bing.com"
}
HTTP/1.1 201 Created
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
Server: Microsoft-HTTPAPI/2.0
x-ms-max-media-storage-usage-mb: 2048
x-ms-media-storage-usage-mb: 0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Sun, 29 Nov 2015 19:20:18.154 GMT
etag: "060091c2-0000-0000-0000-56673c980000"
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;
x-ms-resource-usage: documentSize=0;documentsSize=291;collectionSize=369;
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d
x-ms-content-path: Sl8fALN4sw4CAAAAAAAAAA==
x-ms-quorum-acked-lsn: 18
x-ms-session-token: 19
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 4.95
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: c03c09bf-a791-4dad-b2f8-fa88fa1bce04
Set-Cookie: x-ms-session-token=19; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/colls/volcano1
x-ms-gatewayversion: version=1.5.57.3
Date: Tue, 08 Dec 2015 20:24:57 GMT
Content-Length: 292
{
"id": "image_id",
"contentType": "image/jpg",
"media": "www.bing.com",
"_rid": "Sl8fALN4sw4CAAAAAAAAAOnTcEc=",
"_ts": 1449606296,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/docs\/Sl8fALN4sw4CAAAAAAAAAA==\/attachments\/Sl8fALN4sw4CAAAAAAAAAOnTcEc=",
"_etag": "\"060091c2-0000-0000-0000-56673c980000\""
}
Uwagi
Istnieją dwa sposoby tworzenia zasobu załącznika — publikowanie zawartości multimedialnej w usłudze Cosmos DB, na przykład w protokole AtomPub Protocol, lub publikowanie tylko metadanych załącznika do nośnika przechowywanego zewnętrznie.
Pierwszym z nich jest post nieprzetworzonego nośnika w ładunku treści w celu przechowywania go w udostępnionym magazynie załączników na koncie usługi Cosmos DB. Aby utworzyć ten typ załącznika, musisz dołączyć nieprzetworzone załącznik (wideo, audio, plik, obiekt blob itp.) jako treść postu. Należy ustawić dwa nagłówki: Content-Type i Slug. Nagłówek Content-Type jest ustawiony na typ MIME załącznika, podczas gdy nagłówek Slug jest ustawiony na nazwę załącznika.
Drugim sposobem utworzenia zasobu załącznika jest post właściwości zasobu załącznika zwracającego uwagi na typ i łącze multimediów załącznika. W przeciwieństwie do pierwszego typu zasobu załącznika, nie można ustawić nagłówków Content-Type i Slug.