Udostępnij za pośrednictwem


Zastępowanie załącznika

Istnieją dwa sposoby zastępowania zasobu załącznika — umieszczanie zawartości multimedialnej w usłudze Azure Cosmos DB, na przykład w protokole AtomPub Protocol, lub umieszczanie tylko metadanych załącznika na nośniku przechowywanym zewnętrznie.

Pierwszym z nich jest umieszczenie 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 zastąpić ten typ załącznika, deweloperzy dołączają nieprzetworzone załącznik (wideo, dźwięk, plik, obiekt blob itp.) jako treść put. Należy ustawić dwa nagłówki: Content-Type i Slug. Nagłówek Content-Type jest ustawiony na typ MIME załącznika, a nagłówek Slug jest ustawiony na nazwę załącznika.

Drugim sposobem zastąpienia zasobu załącznika jest umieszczenie właściwości zasobu załącznika zwracającego uwagi na typ i link multimedialny załącznika. W przeciwieństwie do pierwszego typu zasobu załącznika nagłówki Content-Type i Slug nie należy ustawiać, ponieważ nieprzetworzone nośniki nie są częścią ładunku żądania.

Żądanie

Metoda Identyfikator URI żądania Opis
PUT https:// {databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments/{att-name} Pamiętaj, że {databaseaccount} jest nazwą konta usługi 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} to nazwa kolekcji, w których znajduje się dokument. Wartość {doc-name} jest nazwą dokumentu skojarzonego z załącznikiem. Wartość {att-name} jest nazwą załącznika do zastąpienia.

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.

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 Cosmos DB. Aby uzyskać więcej informacji, zobacz Protokół AtomPub.

Treść

Właściwość Wymagany Typ Opis
id Opcjonalne Ciąg Nie jest wymagane do ustawienia 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 Nie jest wymagane do ustawienia 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 właściwość contentType na typ ustawiony w nagłówku Content-Type .
Media Opcjonalne Ciąg Nie jest wymagane do ustawienia 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_2",  
    "contentType": "image/jpg",  
    "media": "www.microsoft.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 Cosmos DB.

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.
400 Nieprawidłowe żądanie Treść JSON jest nieprawidłowa. Sprawdź brak nawiasów klamrowych lub cudzysłowów.
404 — Nie znaleziono Załącznik do zastąpienia nie jest już zasobem, czyli załącznik został usunięty.
409 Konflikt Identyfikator podany dla 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ść

Właściwość Opis
_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 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 kontroli współbieżności.
{  
    "id": "image_id_2",  
    "contentType": "image/jpg",  
    "media": "www.microsoft.com",  
    "_rid": "Sl8fALN4sw4CAAAAAAAAAOnTcEc=",  
    "_ts": 1449606442,  
    "_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/docs\/Sl8fALN4sw4CAAAAAAAAAA==\/attachments\/Sl8fALN4sw4CAAAAAAAAAOnTcEc=",  
    "_etag": "\"0600abc2-0000-0000-0000-56673d2a0000\""  
}  
  

Przykład

PUT https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d/attachments/image_id HTTP/1.1  
x-ms-session-token: 19  
x-ms-date: Tue, 08 Dec 2015 20:27:23 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3dKQWBkCCXyJ66fwBe9%2b%2b7oN7CSlIkMMyFEgimGDPawCs%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=19  
Content-Length: 281  
Expect: 100-continue  
  
{  
    "id": "image_id_2",  
    "contentType": "image/jpg",  
    "media": "www.microsoft.com"  
}  
  
HTTP/1.1 200 Ok  
Cache-Control: no-store, no-cache  
Pragma: no-cache  
Content-Type: application/json  
Content-Location: https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d/attachments/image_id  
Server: Microsoft-HTTPAPI/2.0  
Strict-Transport-Security: max-age=31536000  
x-ms-last-state-change-utc: Sun, 29 Nov 2015 19:20:18.154 GMT  
etag: "0600abc2-0000-0000-0000-56673d2a0000"  
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;  
x-ms-resource-usage: documentSize=0;documentsSize=289;collectionSize=367;  
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: 19  
x-ms-session-token: 20  
x-ms-current-write-quorum: 3  
x-ms-current-replica-set-size: 4  
x-ms-request-charge: 9.9  
x-ms-serviceversion: version=1.5.57.3  
x-ms-activity-id: 8b8be54a-3c7e-4484-9f65-3a3d778347cc  
Set-Cookie: x-ms-session-token=20; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/colls/volcano1  
x-ms-gatewayversion: version=1.5.57.3  
Date: Tue, 08 Dec 2015 20:27:24 GMT  
Content-Length: 299  
  
{  
    "id": "image_id_2",  
    "contentType": "image/jpg",  
    "media": "www.microsoft.com",  
    "_rid": "Sl8fALN4sw4CAAAAAAAAAOnTcEc=",  
    "_ts": 1449606442,  
    "_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/docs\/Sl8fALN4sw4CAAAAAAAAAA==\/attachments\/Sl8fALN4sw4CAAAAAAAAAOnTcEc=",  
    "_etag": "\"0600abc2-0000-0000-0000-56673d2a0000\""  
}  
  

Zobacz też