azure 如何使用python代码或spark动态更改cosmos db容器的罗斯?

atmip9wb  于 2023-05-01  发布在  Python
关注(0)|答案(1)|浏览(111)

我有一个大的数据集,并试图插入到cosmos db容器中,为此我需要增加吞吐量。当我使用10000RU然后从pyspark插入数据时,在一个dataframe中有近25000条记录,它工作得很好。但是在那之后我不需要这些高吞吐量。
所以,我想写一段代码,在启动流水线之前,我增加罗斯,在流水线运行完成之后,我减少RU。
我试着用azure。cosmos,其中代码可用于容器动态分配吞吐量,但这不起作用。

from azure.cosmos import CosmosClient
URL = "URL"
KEY = "key"
client = CosmosClient(URL, credential=KEY)

DATABASE_NAME = 'db_name'
database = client.create_database(DATABASE_NAME)
container_name = 'container_name'
container = database.get_container_client(container_name)

for getting the throughputs assigned to the container:
offer = container.read_offer()
for assigning the throughputs assigned to the container:
offer = container.replace_throughput(1500)

但如果我检查offer的输出,它显示与以前的吞吐量相同,预期输出为1500罗斯。

c9qzyr3d

c9qzyr3d1#

根据这里的代码:
https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/cosmos/azure-cosmos/samples/container_management.py

container = db.get_container_client(container=id)   
offer = container.get_throughput()
offer = container.replace_throughput(offer.offer_throughput + 100)

相关问题