using System;
public static void Run(string input, out object document, TraceWriter log)
{
log.Info($"C# manually triggered function called with input: {input}");
document = new {
text = $"I'm running in a C# function! {input}"
};
}
您需要提供与您在输出选项卡中定义的对象相同的对象 .
1
您可以直接使用文档客户端:
var endpoint = "https://XXXXX.documents.azure.com:443/";
var authKey = "XXXXX";
using (var client = new DocumentClient(new Uri(endpoint), authKey))
{
var sqlCountQuery = "select value count(1) from c";
IDocumentQuery<dynamic> query = client.CreateDocumentQuery<dynamic>(UriFactory.CreateDocumentCollectionUri("YOUR_DB_ID", "YOUR_COLLECTON_ID"), sqlCountQuery).AsDocumentQuery();
....
}
public static class UpsertProductCosmosDbTrigger
{
[FunctionName("ProductUpsertCosmosDbTrigger")]
public static void Run(
[CosmosDBTrigger(
// Those names come from the application settings.
// Those names can come with both preceding % and trailing %.
databaseName: "CosmosDbDdatabaseName",
collectionName: "CosmosDbCollectionName",
LeaseDatabaseName = "CosmosDbDdatabaseName",
LeaseCollectionName = "CosmosDbLeaseCollectionName")]
IReadOnlyList<Document> input,
TraceWriter log)
...
5 回答
假设C#具有类似Java的SDK . 以下是Java
有两种方法可以从Azure功能连接到documentDB .
DocumentClient documentClient = new DocumentClient(“SERVICE_ENDPOINT”,“MASTER_KEY”,ConnectionPolicy.GetDefault(),ConsistencyLevel.Session);
参考 - [https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-java-samples][1] . 这也有.Net样本 .
@FunctionName(“CosmosDBStore”)@CosmosDBOutput(name =“database”,databaseName =“db_name”,collectionName =“col_name”,connectionStringSetting =“AzureCosmosDBConnection”)
请确保您的应用程序设置中名称为“AzureCosmosDBConnection”的变量和local.settings.json(如果您想在本地测试)
参考 - [https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb-v2][1]
以上链接也有C#示例 .
您可以使用Azure门户执行此操作 . 创建DocumentDB后 -
创建新的Azure功能 .
转到“集成”选项卡 .
您可以选择Azure Document DB作为函数的输出 .
选择要使用的文档数据库/数据库名称/集合 .
文档参数名称是函数的输出 .
例如
您需要提供与您在输出选项卡中定义的对象相同的对象 .
您可以直接使用文档客户端:
Azure Functions支持文档DB(Cosmos DB)开箱即用 . 您只需在V1中添加一个名为
AzureWebJobsDocumentDBConnectionString
的环境变量,或在V2中添加AzureWebJobsCosmosDBConnectionString
.然后只需使用
CosmosDBTrigger
绑定属性进行输入绑定(例如在C#中):对于输出绑定,使用V1中的
DocumentDB
输出绑定属性和V2中的CosmosDB
:我写了一篇关于此的博文:https://blog.mexia.com.au/cosmos-db-in-azure-functions-v1-and-v2
您可以从keys部分的azure门户获取End-point-URL和Primary-Key值 .