尝试将Azure功能绑定到CosmosDB时出错

时间:2017-11-09 15:10:08

标签: azure azure-cosmosdb azure-functions

我想使用DocumentDB输出绑定将我的Azure功能与我的CosmosDB集合连接起来。

我的功能:

style

我的local.settings.json

template

然而,我每次都得到同样的错误:

public static class HttpTriggerSave
{
    [FunctionName("HttpTriggerSave")]
    public static void Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequestMessage req, [DocumentDB("dbName", "collectionName", Id = "id")] dynamic outputDoc, TraceWriter log)
    {
        outputDoc = new
        {
            Text = "text",
            id = Guid.NewGuid()
        };
    }
}

我该如何解决?

1 个答案:

答案 0 :(得分:1)

  

mscorlib:执行函数时出现异常:HttpTriggerSave。 Microsoft.Azure.WebJobs.Host:异常绑定参数' outputDoc'。 Microsoft.Azure.Documents.Client:值不能为null。   参数名称:authKeyOrResourceToken。

根据例外情况,它表示它无法访问Documentdb。根据您的local.settings.json,您使用MongoDb连接字符串。

所以请使用documentdb连接字符串。

AccountEndpoint=https://{documentDbName}.documents.azure.com:443/;AccountKey=xxxxx;

我也在我身边做一个演示,它可以正常工作。

 [FunctionName("HttpTriggerSave")]
 public static void Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req,[DocumentDB("tomdb", "collectionId")] out dynamic outputDoc, TraceWriter log)
 {
    outputDoc = new
    {
          Text = "text",
          Id= Guid.NewGuid()
    };
  }

enter image description here