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.

Zobacz też