Ganti Penawaran

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

Minta

Metode Meminta 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 database atau _rid koleksi. Biasanya, _rid database panjangnya 8, koleksi _rid panjang 12, dan penawaran _rid panjang 4.

Header

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

Isi

Properti Diperlukan Deskripsi
offerVersion Diperlukan Ini bisa menjadi V1 untuk tingkat S1, S2, dan S3 warisan dan V2 untuk tingkat throughput yang ditentukan pengguna (disarankan ).
offerType Opsional 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.
resource 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 di atas, _rid untuk koleksi adalah pLJdAOlEdgA=.
id Diperlukan Ini adalah properti yang dihasilkan sistem. ID untuk sumber daya penawaran secara otomatis dihasilkan saat dibuat. Ini memiliki nilai yang sama dengan _rid untuk penawaran.
_rid 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",   
}   
  

Respons

Mengembalikan sumber daya penawaran yang diperbarui.

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 penggantian berhasil.
400 Permintaan Buruk 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 ini bukan lagi sumber daya, yaitu, sumber daya dihapus.
429 Terlalu Banyak Permintaan Penawaran penggantian dibatasi karena operasi penurunan skala penawaran dicoba dalam periode batas waktu diam, yaitu 4 jam. Lihat header "x-ms-retry-after-ms response" untuk melihat berapa lama Anda harus menunggu sebelum mencoba kembali operasi ini.

Isi

Properti Deskripsi
offerVersion Nilai ini dapat berupa V1 untuk tingkat throughput yang telah ditentukan sebelumnya dan V2 untuk tingkat throughput yang ditentukan pengguna.
offerType Tingkat performa yang telah ditentukan sebelumnya S1, S2, atau S3 untuk Penawaran V1. Diatur ke Tidak Valid untuk tingkat performa yang ditentukan pengguna.
konten Ini berisi informasi tentang penawaran. Untuk penawaran V2, ini berisi throughput koleksi.
resource 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 di atas, _rid untuk koleksi adalah pLJdAOlEdgA=.
id Ini adalah properti yang dihasilkan sistem. ID untuk sumber daya penawaran secara otomatis dihasilkan saat dibuat. Ini memiliki nilai yang sama dengan _rid untuk penawaran.
_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 penawaran.
_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.
{  
  "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="  
}  
  

Di bawah ini adalah respons sampel.

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 maks (RU/dtk) dari penawaran dengan throughput skala otomatis menjadi 8000 RU/dtk (skala 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 maks skala otomatis baru berdasarkan pengaturan sumber daya saat ini. Properti maxThroughput dalam objek respons mewakili RU/s maks skala otomatis default yang ditetapkan oleh sistem.

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

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

Pelajari selengkapnya tentang migrasi 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"
}

Di bawah ini adalah isi respons sampel.

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

{
    "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 baru (RU/s) berdasarkan pengaturan sumber daya saat ini. Setelah perubahan selesai, Anda dapat mengikuti Contoh 1 untuk mengubah RU/dtk manual menjadi nilai kustom.

Dalam isi, content properti dengan yang ditentukan offerAutopilotSettings dan maxThroughput diperlukan, tetapi nilainya akan diabaikan oleh layanan. Di bawah ini kita lulus di -1.

Pelajari selengkapnya tentang migrasi 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"
}

Di bawah ini adalah isi respons sampel. Properti offerThroughput mewakili throughput manual (RU/s) yang diatur 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
}

Keterangan

Saat Anda mengubah throughput manual atau skala otomatis pada database atau kontainer, sistem memberlakukan batasan pada RU/dtk yang dapat diatur pada sumber daya. Untuk mempelajari selengkapnya tentang throughput minimum dan maksimum yang disediakan (RU/s) yang dapat diatur dengan throughput manual, lihat artikel Menyediakan throughput pada kontainer dan database . Untuk mempelajari tentang RU/dtk 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 maks skala otomatis pada sumber daya dengan throughput skala otomatis.

Lihat juga