我有一个使用Python编写的Cosmos DB触发器的Azure函数,该函数具有到Cosmos DB的in和OUT绑定,因此当容器中的文档更新时,我在另一个容器中创建新文档。我想在第二个容器中创建一个服务器端Cosmos DB触发器,该触发器需要在创建新文档时触发。在示例中,我看到他们展示了如何使用Python SDK执行触发器,但我想知道是否可以使用函数中已有的绑定来执行触发器,而不是将Azure Cosmos库包含到我的函数中。SDK示例显示container.create_item(item, {'post_trigger_include': 'trgPreValidateToDoItemTimestamp'})
执行触发器,但我希望有一个类似的选项用于"设置"。方法,用于在Azure函数绑定中创建新文档(如container.set(doc,{'post_trigger_include': 'trgPreValidateToDoItemTimestamp'})
),但这不起作用。
简短的回答是不
Azure Functions绑定是通过通用接口公开的(所有绑定都有相同的),所以它不允许额外的输入参数。
如果你的函数在。net上运行,一个选择是使用绑定访问客户端实例,并使用客户端实例来执行操作,而不是绑定接口:https://learn.microsoft.com/azure/azure-functions/functions-bindings-cosmosdb-v2-input?tabs=in-process%2Cfunctionsv2&pivots=programming-language-csharp#http-trigger-get-multiple-docs-using-documentclient-c