Уменьшение выделенной пропускной способности для CosmosDB

#azure-cosmosdb

#azure-cosmosdb

Вопрос:

У меня есть CosmosDB, в которой было 4 контейнера и 400RUs, подготовленных на уровне базы данных. Я добавил 2 контейнера, и без предупреждения выделенный RUs был увеличен до 600.

В приведенном ниже документе объясняется, почему это произошло. Для каждого контейнера выше 4-го требуется минимум дополнительные 100RUs. У меня жесткие бюджетные ограничения, поэтому я удалил 2 контейнера, но я не смог найти способ уменьшить минимальную выделенную пропускную способность, поскольку выпадающий список для выделения пропускной способности позволяет только увеличить. Есть ли способ уменьшить пропускную способность?

https://learn.microsoft.com/en-us/azure/cosmos-db/set-throughput

Ответ №1:

Как упоминалось в документе, вы можете уменьшить параметры пропускной способности с помощью cosmos db sdk. Например, я тестирую java sdk, чтобы уменьшить настройку пропускной способности контейнера. Пожалуйста, обратитесь к приведенному ниже коду:

 import com.microsoft.azure.documentdb.*;

import java.util.Iterator;

public class ChangeRUTest {

    static private String YOUR_COSMOS_DB_ENDPOINT = "https://***.documents.azure.com:443/";
    static private String YOUR_COSMOS_DB_MASTER_KEY="***";

    public static void main(String[] args) throws DocumentClientException {

        DocumentClient client = new DocumentClient(
                YOUR_COSMOS_DB_ENDPOINT,
                YOUR_COSMOS_DB_MASTER_KEY,
                new ConnectionPolicy(),
                ConsistencyLevel.Session);

        String collectionLink = "dbs/test/colls/one";

        String collectionResourceId = client.readCollection(collectionLink, null).getResource().getResourceId();

        // find offer associated with this collection
        Iterator<Offer> it = client.queryOffers(
                String.format("SELECT * FROM r where r.offerResourceId = '%s'", collectionResourceId), null).getQueryIterator();

        Offer offer = it.next();

        System.out.println(offer.getContent().getInt("offerThroughput"));

        // update the offer
        int newThroughput = 400;
        offer.getContent().put("offerThroughput", newThroughput);
        client.replaceOffer(offer);

    }
}
  

Комментарии:

1. Знаете ли вы метод для Cosmos DB с MongoDB Api?

2. @HamishAnderson пытался найти для вас.

3. Есть ли способ получить пропускную способность диапазона?