azure - 通过azure函数删除CosmosDB中的文档

标签 azure azure-functions azure-cosmosdb

阅读 Azure 门户后,我了解了如何通过 Azure Functions 使用 CosmosDB 进行 POSTPUTGET 操作。但是删除,我不明白该怎么做。

我应该使用哪些绑定(bind)。它应该通过 sql 查询还是集合的方法(例如Remove())发生?

        [**FunctionName**("EmployeeDocumentDB")]
        public static async Task<HttpResponseMessage> Run(
        [HttpTrigger(AuthorizationLevel.Function, "post", "put", "delete", Route = "EmployeeDocumentDB/partitionkey/{key}/id/{id}")]HttpRequestMessage req,
        [DocumentDB(
        databaseName: "MyDatabase",
        collectionName: "MyCollection",
        ConnectionStringSetting = "CosmosDBEmulator")] ICollector<Person> outputDocument,
        TraceWriter log)
    {
        dynamic data = await req.Content.ReadAsAsync<Person>();

        return req.CreateResponse(HttpStatusCode.Accepted);
    }

最佳答案

我组合:

  • HTTP 触发器
  • CosmoDB DocumentClient 输入
  • 从查询字符串中查找 ID 的 CosmoDB 输入
public static async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "delete")] HttpRequest req,
            [CosmosDB(databaseName: "storage", collectionName: "pizza", Id = "{Query.id}", PartitionKey = "{Query.storeId}", ConnectionStringSetting = "..."] Document document,
            [CosmosDB(databaseName: "storage", collectionName: "pizza", ConnectionStringSetting = ...)] DocumentClient client)
        {
            string storeId = req.Query["storeId"];

            if(document == null || string.IsNullOrEmpty(storeId))
                return new BadRequestResult();

            await client.DeleteDocumentAsync(document.SelfLink, new RequestOptions() { PartitionKey = new PartitionKey(storeId) });

            return new OkResult();
        }

关于azure - 通过azure函数删除CosmosDB中的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46505301/

相关文章:

azure - ADF 自定义事件如何访问 Azure Key Vault?

azure - 我尝试使用 ARM/bicep 和 HTTP 触发器来部署函数应用程序

azure - 添加 blob 之前是否需要预先创建容器?

Azure Function ServiceBusTrigger 在几毫秒内多次触发同一消息,而无需第一次完成

c# - 使用 azure 函数从 azure 存储表中检索数据

azure - 如何在不使用 GROUP BY 和 COUNT 的情况下在 cosmos db 中的嵌套数组中查找重复项

azure - 具有多个站点的 VSTS CI/CD 解决方案

angular - 将 Angular 4 发布到 Azure

c# - 在单个查询中从 CosmosDb 中获取多种类型的实体

c# - 如何更新 DocumentDb 文档?