В Cosmos DB у меня есть триггер, это предтриггер. Метод для этого триггера выглядит следующим образом:
function CalculateFields(){
var context = getContext();
var request = context.getRequest();
// this is the current request
var itemToCreate = request.getBody();
if(itemToCreate["fileType"] == "DivisionConfig")
{
itemToCreate["column1"] = 2 * item1["column3"];
}
, и я хочу получить значение из другой строки, выбранной по идентификатору. itemToCreate
- текущий элемент, как получить элемент для id = 1? Могу ли я сделать это в этом методе, или, скорее, мне нужно передать переменную в коде C#, когда я вызываю этот триггер:
using (CosmosClient client = new CosmosClient(Endpoint, Key))
{
var container = client.GetContainer(DatabaseId, CollectionId);
ItemResponse<T> response2 = await container.CreateItemAsync(item, new PartitionKey("Mypk"), new ItemRequestOptions { PreTriggers = new List<string> { "CalculateFields" } });
return response2;
}
item1["column3"]
- это еще одна строка из той же коллекции.