Ganti Penawaran

Untuk mengganti seluruh sumber daya penawaran, lakukan operasi PUT pada sumber daya penawaran tertentu. Untuk mempelajari selengkapnya tentang throughput yang disediakan maksimum dan minimum yang dapat diatur pada kontainer atau database, lihat artikel Menyediakan throughput pada kontainer dan database .

Permohonan

Metode Memohon URI Deskripsi
TEMPATKAN https://{databaseaccount}.documents.azure.com/offers/{_rid-offer} {databaseaccount} adalah nama akun Azure Cosmos DB yang Anda buat di bawah langganan Anda. Nilai {_rid-offer} adalah ID sumber daya yang dihasilkan sistem dari penawaran.

Tip

Untuk menemukan _rid penawaran yang terkait dengan database atau koleksi, pertama-tama DAPATKAN database atau DAPATKAN koleksi dan catat properti _rid sumber daya. Kemudian, kueri penawaran untuk menemukan penawaran _rid yang sesuai dengan _rid database atau koleksi. Biasanya, _rid database adalah panjang 8, koleksi _rid panjang 12, dan penawaran _rid panjang 4.

Headers

Lihat header permintaan REST Azure Cosmos DB umum untuk header yang digunakan oleh semua permintaan Cosmos DB

Tubuh

Harta benda Diperlukan Deskripsi
penawaranVersi Diperlukan Ini bisa berupa V1 untuk tingkat S1, S2, dan S3 lama dan V2 untuk tingkat throughput yang ditentukan pengguna (disarankan).
Jenis penawaran Fakultatif Properti ini hanya berlaku dalam versi penawaran V1. Atur ke S1, S2, atau S3 untuk jenis penawaran V1. Ini tidak valid untuk tingkat performa yang ditentukan pengguna atau model berbasis throughput yang disediakan.
konten Diperlukan Berisi informasi tentang penawaran – untuk penawaran V2, nilai ini berisi throughput koleksi.
sumber daya Diperlukan Saat membuat koleksi baru, properti ini diatur ke tautan mandiri koleksi misalnya, dbs/pLJdAA==/colls/pLJdAOlEdgA=/.
offerResourceId Diperlukan Selama pembuatan koleksi, properti ini secara otomatis dikaitkan dengan ID sumber daya, yaitu _rid koleksi. Dalam contoh sebelumnya, _rid untuk koleksi adalah pLJdAOlEdgA=.
id Diperlukan Ini adalah properti yang dihasilkan sistem. ID untuk sumber daya penawaran dibuat secara otomatis saat dibuat. Ini memiliki nilai yang sama dengan _rid untuk penawaran.
_Membersihkan Diperlukan 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 penawaran.
{   
  "offerVersion": "V2",   
  "offerType": "Invalid",   
  "content": {   
    "offerThroughput": 4000   
  },   
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",   
  "offerResourceId": "rgkVAMHcJww=",   
  "id": "uT2L",   
  "_rid": "uT2L",   
}   
  

Jawaban

Mengembalikan sumber daya penawaran yang diperbarui.

Headers

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 (Permintaan berhasil) Operasi penggantian berhasil.
400 Permintaan Tidak Valid Isi JSON tidak valid. Periksa tanda kurung keriting atau tanda kutipan yang hilang.
401 Tidak Sah Header Otorisasi atau x-ms-date tidak diatur. 401 juga dikembalikan ketika header Otorisasi diatur ke token otorisasi yang tidak valid.
404 Tidak ditemukan Penawaran bukan lagi sumber daya, yaitu sumber daya telah dihapus.
429 Terlalu Banyak Permintaan Penawaran penggantian dibatasi karena operasi penurunan skala penawaran dicoba dalam periode batas waktu siaga yaitu 4 jam. Lihat header "x-ms-retry-after-ms response" untuk melihat berapa lama Anda harus menunggu sebelum mencoba kembali operasi ini.

Tubuh

Harta benda Deskripsi
penawaranVersi Nilai ini dapat berupa V1 untuk tingkat throughput yang telah ditentukan sebelumnya dan V2 untuk tingkat throughput yang ditentukan pengguna.
Jenis penawaran Tingkat performa S1, S2, atau S3 yang telah ditentukan sebelumnya untuk Penawaran V1. Ini diatur ke Tidak valid untuk tingkat kinerja yang ditentukan pengguna.
konten Ini berisi informasi tentang penawaran. Untuk penawaran V2, ini berisi throughput koleksi.
sumber daya Saat membuat koleksi baru, properti ini diatur ke tautan mandiri koleksi misalnya, dbs/pLJdAA==/colls/pLJdAOlEdgA=/.
offerResourceId Selama pembuatan koleksi, properti ini secara otomatis dikaitkan dengan ID sumber daya, yaitu _rid koleksi. Dalam contoh sebelumnya, _rid untuk koleksi adalah pLJdAOlEdgA=.
id Ini adalah properti yang dihasilkan sistem. ID untuk sumber daya penawaran dibuat secara otomatis saat dibuat. Ini memiliki nilai yang sama dengan _rid untuk penawaran.
_Membersihkan 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 penawaran.
_Ts Ini adalah properti yang dihasilkan sistem. Ini menentukan tanda waktu terakhir yang diperbarui dari sumber daya. Nilainya adalah tanda waktu.
_diri 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.
{  
  "offerVersion": "V2",  
  "_rid": "uT2L",
   "content": {  
    "offerThroughput": 4000
  }, 
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "offerResourceId": "rgkVAMHcJww=",  
  "id": "uT2L",  
  "_self": "offers/uT2L/"
}  
  

Contoh 1

Contoh ini menunjukkan cara mengubah throughput manual (RU/dtk) koleksi menjadi 1000 RU/dtk.

PUT https://querydemo.documents.azure.com/offers/uT2L HTTP/1.1 

x-ms-date: Tue, 29 Mar 2016 17:50:18 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3dRdNwi9H3molMOsEoHXCUHa56N8U5eFDlfuewcSoiHgc%3d  
Cache-Control: no-cache  
User-Agent: contoso/1.0  
x-ms-version: 2015-12-16  
Accept: application/json  
Host: querydemo.documents.azure.com  
Content-Length: 234  
Expect: 100-continue  
  
{  
  "id": "uT2L",  
  "_rid": "uT2L",  
  "_self": "offers/uT2L/",  
  "offerVersion": "V2",  
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "content": {  
    "offerThroughput": 1000 
   }, 
  "offerResourceId": "rgkVAMHcJww="  
}  
  

Berikut adalah contoh tanggapan.

HTTP/1.1 200 Ok  
Cache-Control: no-store, no-cache  
Pragma: no-cache  
Transfer-Encoding: chunked  
Content-Type: application/json  
Content-Location: https://querydemo.documents.azure.com/offers/uT2L  
Server: Microsoft-HTTPAPI/2.0  
Strict-Transport-Security: max-age=31536000  
x-ms-last-state-change-utc: Fri, 25 Mar 2016 22:54:09.213 GMT  
etag: "0000a900-0000-0000-0000-56fac05a0000"  
x-ms-schemaversion: 1.1  
x-ms-quorum-acked-lsn: 8110  
x-ms-current-write-quorum: 3  
x-ms-current-replica-set-size: 4  
x-ms-request-charge: 9.9  
x-ms-serviceversion: version=1.6.52.5  
x-ms-activity-id: fa543c39-a64e-44bd-ba9a-c4f313a9d7d4  
x-ms-session-token: M:8111  
x-ms-gatewayversion: version=1.6.52.5  
Date: Tue, 29 Mar 2016 17:50:20 GMT  
  
{  
  "offerVersion": "V2",
  "_rid": "uT2L",  
  "content": {  
    "offerThroughput": 1000
  },
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "offerResourceId": "rgkVAMHcJww=",  
  "id": "uT2L",  
  "_self": "offers/uT2L/",  
  "_etag": "\"0000a900-0000-0000-0000-56fac05a0000\"",  
  "_ts": 1459273818  
}  
  

Contoh 2

Contoh ini menunjukkan cara mengubah throughput maksimum (RU/dtk) penawaran dengan throughput skala otomatis ke 8000 RU/dtk (menskalakan antara 800 - 8000 RU/dtk)

PUT https://querydemo.documents.azure.com/offers/uT2L HTTP/1.1

x-ms-version: 2018-12-31
x-ms-date: Thu, 23 Jul 2020 00:04:41 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dRdNwi9H3molMOsEoHXCUHa56N8U5eFDlfuewcSoiHgc%3d  
Accept: application/json
Content-Type: application/json
User-Agent: contoso/1.0
Host: querydemo.documents.azure.com:443
Connection: keep-alive
Content-Length: 278

{   
  "offerVersion": "V2",   
  "offerType": "Invalid",   
  "content": {   
    "offerAutopilotSettings": {"maxThroughput": 8000}
  },
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "offerResourceId": "rgkVAMHcJww="  
  "id": "uT2L",  
  "_rid": "uT2L"
}

Contoh 3

Contoh ini menunjukkan cara memigrasikan penawaran dengan throughput manual ke throughput skala otomatis. Header x-ms-cosmos-migrate-offer-to-autopilot dengan nilai true diperlukan.

Saat bermigrasi, Azure Cosmos DB secara otomatis menentukan RU/dtk maksimum skala otomatis baru berdasarkan pengaturan sumber daya saat ini. Properti maxThroughput dalam objek respons mewakili RU/s maksimum skala otomatis default yang ditetapkan oleh sistem.

Dalam isi, content properti dengan definisi offerThroughput diperlukan, tetapi nilainya akan diabaikan oleh layanan. Contoh berikut menggunakan -1.

Setelah perubahan selesai, Anda dapat mengikuti Contoh 2 untuk mengubah RU/dtk maksimum skala otomatis ke nilai kustom.

Pelajari lebih lanjut cara bermigrasi ke skala otomatis.

PUT https://querydemo.documents.azure.com/offers/uT2L HTTP/1.1

x-ms-version: 2018-12-31
x-ms-date: Wed, 22 Jul 2020 23:33:41 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dRdNwi9H3molMOsEoHXCUHa56N8U5eFDlfuewcSoiHgc%3d  
Accept: application/json
x-ms-cosmos-migrate-offer-to-autopilot: true
Content-Type: application/json
User-Agent: contoso/1.0  
Host: querydemo.documents.azure.com  
Connection: keep-alive
Content-Length: 254

{   
  "offerVersion": "V2",   
  "offerType": "Invalid",   
  "content": {   
    "offerThroughput": -1  
  },
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "offerResourceId": "rgkVAMHcJww=",  
  "id": "uT2L",   
  "_rid": "uT2L"
}

Berikut adalah contoh badan respons.

Properti maxThroughput ini mewakili RU / dtk maksimum skala otomatis yang ditetapkan oleh sistem. Properti offerThroughput mewakili RU/dtk sistem yang saat ini diskalakan.

{
    "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
    "offerType": "Invalid",
    "offerResourceId": "rgkVAMHcJww=",
    "offerVersion": "V2",
    "content": {
        "offerThroughput": 400,
        "offerIsRUPerMinuteThroughputEnabled": false,
        "offerMinimumThroughputParameters": {
            "maxThroughputEverProvisioned": 4000,
            "maxConsumedStorageEverInKB": 0
        },
        "offerLastReplaceTimestamp": 1595460122,
        "offerAutopilotSettings": {
            "maxThroughput": 4000
        }
    },
    "id": "uT2L",
    "_rid": "uT2L",
    "_self": "offers/uT2L/",
    "_etag": "\"2d002059-0000-0800-0000-5f18cbf80000\"",
    "_ts": 1595460600
}

Contoh 4

Contoh ini menunjukkan cara memigrasikan penawaran dengan throughput skala otomatis ke throughput manual. Header x-ms-cosmos-migrate-offer-to-manual-throughput dengan nilai true diperlukan.

Saat bermigrasi, Azure Cosmos DB secara otomatis menentukan throughput manual (RU/s) baru berdasarkan pengaturan sumber daya saat ini. Setelah perubahan selesai, Anda dapat mengikuti Contoh 1 untuk mengubah RU/s manual ke nilai kustom.

Dalam isi, content properti dengan definisi offerAutopilotSettings dan maxThroughput diperlukan, tetapi nilainya akan diabaikan oleh layanan. Di sini kita masuk -1.

Pelajari lebih lanjut cara bermigrasi ke throughput manual.

PUT https://querydemo.documents.azure.com/offers/uT2L HTTP/1.1  
x-ms-version: 2018-12-31
x-ms-date: Wed, 22 Jul 2020 23:43:03 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dRdNwi9H3molMOsEoHXCUHa56N8U5eFDlfuewcSoiHgc%3d  
Accept: application/json
x-ms-cosmos-migrate-offer-to-manual-throughput: true
Content-Type: application/json
User-Agent: contoso/1.0  
Host: querydemo.documents.azure.com
Connection: keep-alive
Content-Length: 280

{
  "offerVersion": "V2",
  "offerType": "Invalid",
  "content": {
    "offerAutopilotSettings": {"maxThroughput": -1}
  },
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "offerResourceId": "rgkVAMHcJww=",  
  "id": "uT2L",
  "_rid": "uT2L"
}

Berikut adalah contoh isi respons. Properti offerThroughput mewakili throughput manual (RU/dtk) yang ditetapkan pada sumber daya.

{
    "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
    "offerType": "Invalid",
    "offerResourceId": "rgkVAMHcJww=",
    "offerVersion": "V2",
    "content": {
        "offerThroughput": 4000,
        "offerIsRUPerMinuteThroughputEnabled": false,
        "offerMinimumThroughputParameters": {
            "maxThroughputEverProvisioned": 4000,
            "maxConsumedStorageEverInKB": 0
        },
        "offerLastReplaceTimestamp": 1595461384
    },
    "id": "uT2L",
    "_rid": "uT2L",
    "_self": "offers/uT2L/",
    "_etag": "\"2d002359-0000-0800-0000-5f18cf080000\"",
    "_ts": 1595461384
}

Komentar

Saat Anda mengubah throughput manual atau skala otomatis pada database atau kontainer, sistem memberlakukan batasan pada RU/s yang dapat diatur pada sumber daya. Untuk mempelajari selengkapnya tentang throughput yang disediakan (RU/s) minimum dan maksimum yang dapat diatur dengan throughput manual, lihat artikel Provisi throughput pada kontainer dan database . Untuk mempelajari tentang RU maksimum skala otomatis minimum yang dapat Anda atur, lihat FAQ skala otomatis.

Untuk mengambil throughput minimum yang dapat diatur pada database atau kontainer, lakukan GET pada sumber daya penawaran. Header x-ms-cosmos-min-throughput respons menunjukkan throughput minimum yang ditentukan sistem. Ini mewakili nilai minimum yang dapat Anda tetapkan untuk RU/dtk pada sumber daya dengan throughput manual, atau nilai minimum yang dapat Anda tetapkan untuk RU/dtk maksimum skala otomatis pada sumber daya dengan throughput skala otomatis.

Lihat Juga