阅读 Azure 门户后,我了解了如何制作POST
, PUT
and GET
通过 Azure Functions 与 CosmosDB 进行操作。但是删除,我不明白该怎么做。
我应该使用哪些绑定。它应该通过 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触发器
- Cosmos DB 文档客户端输入
- Cosmos DB 输入以及来自查询字符串的查找 ID
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();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)