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