У меня есть таблица ниже в CosmosDB.
PartitionKey Rowkey Group Salary
John HR A 100000
Mark DOC B 200000
Я хочу обновить свойство Salary в первом объекте. Когда я попытался обновить свойство оклада в первом объекте, вместо обновления свойства оклада заменяется весь объект.
Может ли кто-нибудь сообщить мне, как обновить свойство объекта в API таблицы CosmosDB.
from azure.data.tables import TableServiceClient
from datetime import datetime
my_entity = {
"PartitionKey" : "John",
"RowKey" : "HR",
"Group": "A",
"Salary": 100000
}
table_service_client = TableServiceClient.from_connection_string(conn_str = "")
table_client = table_service_client.get_table_client(table_name = "my_table")
entity = table_client.create_entity(entity=my_entity)
created = table.get_entity(partition_key=my_entity["PartitionKey"], row_key=my_entity["RowKey"])
created["Salary"] = "200"
table.update_entity(mode=UpdateMode.REPLACE, entity=created)
Пожалуйста, попробуйте изменить следующие строки кода:
created = table.get_entity(partition_key=my_entity["PartitionKey"], row_key=my_entity["RowKey"])
created["Salary"] = "200"
table.update_entity(mode=UpdateMode.REPLACE, entity=created)
с
created = table_client.get_entity(partition_key=my_entity["PartitionKey"], row_key=my_entity["RowKey"])
created["Salary"] = "200"
table_client.update_entity(mode=UpdateMode.MERGE, entity=created)
Разве вы не должны использовать table_client?
Обновил мой ответ. ХТН.
Я получаю следующую ошибку. объект function не имеет атрибута get_entity. Я пропустил какое-либо заявление об импорте обслуживания столов космоса?