如何以编程方式创建 CosmosDB 用户定义函数

How to create CosmosDB User Defined Function programmatically

我知道如何使用 ARM templates 创建 CosmosDB 数据库和集合。我有一个 UDF(用户定义函数),我也想使用 ARM 模板进行部署,但它似乎不受支持。

我错过了什么吗?是否有不同的方式以编程方式 deploy/maintain UDF?

简单的回答 NoStored procedures and User Defined Functions 目前不支持通过 Azure 资源管理模板。

您可以考虑使用 Cosmos Db sdk 或 REST API 将 udf 部署到您的集合中。

示例代码:

string udfId = "Tax";
var udfTax = new UserDefinedFunction
{
    Id = udfId,
    Body = {...your udf function body},
};

Uri containerUri = UriFactory.CreateDocumentCollectionUri("myDatabase", "myContainer");
await client.CreateUserDefinedFunctionAsync(containerUri, udfTax);

这现在成为可能..

"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions",         
"apiVersion": "2019-08-01",

https://docs.microsoft.com/en-us/azure/templates/microsoft.documentdb/2019-08-01/databaseaccounts/sqldatabases/containers/userdefinedfunctions