我正在尝试从功能应用程序连接到azure CosmosDB表。
我收到错误
远程服务器返回错误:(400)错误请求。
尝试从visual studio中的示例c#项目执行相同的连接时,它可以正常工作。
代码段:
string connectionString = ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString;
CloudStorageAccount storageAccount = CreateStorageAccountFromConnectionString(connectionString);
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
CloudTable table = tableClient.GetTableReference("People");
table.CreateIfNotExists();
连接字符串是:
DefaultEndpointsProtocol = https和帐户名=数字签名的分贝; AccountKey = XXX ==; TableEndpoint = https://digital-signature-db.documents.azure.com
完整错误堆栈:
执行函数时出现异常:Functions.SignPDF Microsoft.Azure.WebJobs.Host.FunctionInvocationException:执行函数时出现异常:Functions.SignPDF ---> System.AggregateException:发生一个或多个错误。 --->远程服务器返回错误:(400)错误请求。 --->远程服务器返回错误:(400)错误请求。 在C:\ projects \ azure-webjobs-sdk-script \ src \ WebJobs.Script \ Description \ DotNet \ DotNetFunctionInvoker.cs中的Microsoft.Azure.WebJobs.Script.Description.DotNetFunctionInvoker.GetTaskResult(任务任务)中:453 在Microsoft.Azure.WebJobs.Script.Description.DotNetFunctionInvoker。<> c.b__26_0(任务t)位于C:\ projects \ azure-webjobs-sdk-script \ src \ WebJobs.Script \ Description \ DotNet \ DotNetFunctionInvoker。 cs:276 at System.Threading.Tasks.ContinuationResultTaskFromTask
1.InnerInvoke() at System.Threading.Tasks.Task.Execute() at async Microsoft.Azure.WebJobs.Script.Description.DotNetFunctionInvoker.InvokeCore(Object[] parameters,FunctionInvocationContext context) at C:\projects\azure-webjobs-sdk-script\src\WebJobs.Script\Description\DotNet\DotNetFunctionInvoker.cs : 276 at async Microsoft.Azure.WebJobs.Script.Description.FunctionInvokerBase.Invoke(Object[] parameters) at C:\projects\azure-webjobs-sdk-script\src\WebJobs.Script\Description\FunctionInvokerBase.cs : 90 at async Microsoft.Azure.WebJobs.Host.Executors.VoidTaskMethodInvoker
2.InvokeAsync [TReflected,TReturnType](TReflected instance,Object [] arguments) at async Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync [TReflected,TReturnValue](Object instance,Object [] arguments) at async Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker invoker,ParameterHelper parameterHelper,CancellationTokenSource timeoutTokenSource,CancellationTokenSource functionCancellationTokenSource,Boolean throwOnTimeout,TimeSpan timerInterval,IFunctionInstance instance) at async Microsoft.Azure.WebJobs.Host.Ex ...
请建议。
答案 0 :(得分:0)
CreateIfNotExists
来电需要WindowsAzure.Storage-PremiumTable
的引用。在控制台应用中引用时,它会将Microsoft.WindowsAzure.Storage.dll
替换为版本1.0.9.1
。目前,Azure功能不支持此功能。请在此问题上向CosmosDB团队提出问题。我们在https://github.com/Azure/azure-webjobs-sdk-script/issues/2026#issuecomment-343910660