Mengganti Lampiran

Ada dua cara untuk mengganti sumber daya lampiran - letakkan konten media ke Azure Cosmos DB seperti di Protokol AtomPub, atau letakkan hanya metadata lampiran ke media yang disimpan secara eksternal.

Yang pertama adalah MENEMPATKAN media mentah dalam payload isi untuk menyimpannya di penyimpanan lampiran yang disediakan di bawah akun Cosmos DB Anda. Untuk mengganti jenis lampiran ini, pengembang menyertakan lampiran mentah (video, audio, file, blob, dll.) sebagai isi PUT. Dua header harus diatur: Content-Type dan Slug. Header Content-Type diatur ke jenis MIME lampiran saat header Slug diatur ke nama lampiran.

Cara kedua untuk mengganti sumber daya lampiran adalah dengan MENEMPATKAN properti sumber daya lampiran yang mencatat jenis dan tautan media lampiran. Tidak seperti jenis sumber daya lampiran pertama, header Content-Type dan Slug tidak akan diatur karena media mentah bukan bagian dari payload permintaan.

Minta

Metode Meminta URI Deskripsi
TEMPATKAN https:// {databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments/{att-name} Perhatikan bahwa {databaseaccount} adalah nama akun Cosmos DB yang dibuat di bawah langganan Anda. Nilai {db-id} adalah nama/id yang dihasilkan pengguna dari database, bukan id yang dihasilkan sistem (rid). Nilai {coll-id} adalah nama koleksi tempat dokumen berada. Nilai {doc-name} adalah nama dokumen yang terkait dengan lampiran. Nilai {att-name} adalah nama lampiran yang akan diganti.

Header

Lihat Header permintaan Rest Azure Cosmos DB umum untuk header yang digunakan oleh semua permintaan Cosmos DB.

Header Diperlukan Jenis Deskripsi
Slug Opsional String Nama lampiran. Ini hanya diperlukan ketika media mentah dikirimkan ke penyimpanan lampiran Cosmos DB. Untuk detail selengkapnya, lihat Protokol AtomPub.

Isi

Properti Diperlukan Jenis Deskripsi
id Opsional String Tidak Diperlukan untuk diatur saat melampirkan media mentah. Ini adalah properti yang dapat diatur pengguna. Ini adalah nama unik yang mengidentifikasi lampiran, yaitu, tidak ada dua lampiran yang memiliki ID yang sama. ID tidak boleh melebihi 255 karakter.
contentType Opsional String Tidak Diperlukan untuk diatur saat melampirkan media mentah. Ini adalah properti yang dapat diatur pengguna. Ini mencatat jenis konten lampiran. Saat mengirimkan bit lampiran sebagai isi, Cosmos DB mengatur contentType ke jenis yang diatur di header Content-Type .
Media Opsional String Tidak Diperlukan untuk diatur saat melampirkan media mentah. Ini adalah tautan URL atau jalur file tempat lampiran berada.
{  
    "id": "image_id_2",  
    "contentType": "image/jpg",  
    "media": "www.microsoft.com"  
}  
  

Respons

Header

Lihat Header respons Rest Azure Cosmos DB umum untuk header yang dikembalikan oleh semua respons Cosmos DB.

Kode status

Tabel berikut mencantumkan kode status umum yang dikembalikan oleh operasi ini. Untuk daftar lengkap kode status, lihat Kode Status HTTP.

Kode status HTTP Deskripsi
200 Ok Operasi berhasil.
400 Permintaan Buruk Isi JSON tidak valid. Periksa tanda kurung keriting atau tanda kutipan yang hilang.
404 Tidak Ditemukan Lampiran yang akan diganti bukan lagi sumber daya, yaitu lampiran telah dihapus.
409 Konflik ID yang disediakan untuk lampiran telah diambil oleh lampiran yang ada.
Entitas 413 Terlalu Besar Ukuran dokumen dalam permintaan melampaui ukuran dokumen yang diizinkan dalam permintaan.

Isi

Properti Deskripsi
_rid Ini adalah properti yang dihasilkan sistem. ID sumber daya (_rid) adalah pengidentifikasi unik yang juga hierarkis per tumpukan sumber daya pada model sumber daya. Ini digunakan secara internal untuk penempatan dan navigasi sumber daya lampiran.
_Ts Ini adalah properti yang dihasilkan sistem. Ini menentukan tanda waktu terakhir yang diperbarui dari sumber daya. Nilainya adalah tanda waktu.
_self Ini adalah properti yang dihasilkan sistem. Ini adalah URI unik yang dapat diatasi untuk sumber daya.
_etag Ini adalah properti yang dihasilkan sistem yang menentukan etag sumber daya yang diperlukan untuk kontrol konkurensi optimis.
{  
    "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\""  
}  
  

Contoh

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\""  
}  
  

Lihat juga