Microsoft.WindowsAzure.Storage:找不到有效的帐户信息组合

时间:2017-08-05 01:10:09

标签: azure azure-functions azure-storage-queues azure-functions-runtime

我正在使用Azure Functions Preview并希望添加QueueTrigerFunction。

该功能定义如下:

[FunctionName("QueueTrigger")]        
public static void Run([QueueTrigger("testqueue1", Connection = "AzureWebJobsStorage")]string myQueueItem, TraceWriter log)
{
    log.Info($"C# Queue trigger function processed: {myQueueItem}");
}

使用local.settings.json:

{
    "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=test1storage;AccountKey=XXXXX==;EndpointSuffix=core.windows.net/;",
    "AzureWebJobsDashboard": ""
  }
}

当我启动VS Debugger时,收到以下错误消息:

  

[8/5/2017 1:07:56 AM] Microsoft.WindowsAzure.Storage:没有有效的组合   找到帐户信息。

我错过了什么? Azure中是否有一些其他设置需要检查以确保正确配置此方案?

3 个答案:

答案 0 :(得分:5)

What am I missing? Is there some additional settings in Azure I need to check to make sure this scenario is correctly configured?

I can reproduce the issue that you mentioned with you supplied AzureWebJobsStorage connection string format. Please have a try to remove EndpointSuffix=core.windows.net/; from the connection string. Then it works correctly on my side.

local.settings.json:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=storageaccountname;AccountKey=xxxxxxxxxxxx",
    "AzureWebJobsDashboard": ""
  }
}

enter image description here

答案 1 :(得分:1)

这对我有用。 Azure门户中我复制/粘贴的连接字符串,包括' EndpointSuffix = core.windows.net'在字符串的末尾。当我使用它时,我得到了与上面相同的错误。当我简单地删除连接字符串的这一部分时,我能够成功连接。

答案 2 :(得分:0)

我有一个类似的问题,它无法连接。

我在Unix系统上本地运行该功能,而不是使用本地设置,而是使用了直接的环境变量。

事实证明,在声明变量时,应将其引用:

export AzureWebJobsStorage =“ DefaultEndpointsProtocol = https; Accoun ...”并解决了问题,猜测某些字符会被错误地处理