【问题标题】:Azure Cosmos DB Functions - Delete a documentAzure Cosmos DB Functions - 删除文档
【发布时间】:2017-10-15 12:16:27
【问题描述】:
我可以像其他 API 一样在 Azure 上使用 HTTP trigger in FunctionsApp 获得文档响应但是,我无法删除该文档。
我选择 DELETE 作为 Selected 'HTTP methods' 但我不清楚下一步应该做什么。
在输入参数中,当我在SQL Query (optional) textbox 中写'Delete from mydocument' 时,它不起作用。
可能我需要更改'run.csx' 代码,但如何更改?
有什么线索吗?
【问题讨论】:
标签:
azure
azure-cosmosdb
azure-functions
【解决方案1】:
我相信“SQL 查询”部分是用于“查找”您希望使用的文档的输入绑定。这仍然可能有用,具体取决于您要如何进行。如果需要,您仍然可以使用 HTTP 删除触发器,但只是“说”它是一个 DELETE 动词不会自动执行删除。相反,这意味着只有将函数指定为 DELETE 操作时才能“调用”该函数。
我之前通过直接绑定到DocumentClient 本身删除了文档,并以编程方式删除了文档。
[FunctionName("DeleteDocument")]
public static async Task Run(
[TimerTrigger("00:01", RunOnStartup = true)] TimerInfo timer,
[DocumentDB] DocumentClient client,
TraceWriter log)
{
var collectionUri = UriFactory.CreateDocumentCollectionUri("ItemDb", "ItemCollection");
var documents = client.CreateDocumentQuery(collectionUri);
foreach (Document d in documents)
{
await client.DeleteDocumentAsync(d.SelfLink);
}
}
见DocumentDBSamples