5

我正在使用 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 调试器时,我收到以下错误消息:

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

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

4

3 回答 3

11

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

我可以重现您在提供 AzureWebJobsStorage 连接字符串格式时提到的问题。请尝试EndpointSuffix=core.windows.net/;从连接字符串中删除。然后它在我这边正常工作。

local.settings.json:

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

在此处输入图像描述

于 2017-08-05T11:42:48.427 回答
2

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

于 2017-10-18T21:59:36.750 回答
0

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

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

原来,在声明变量时应该引用它:

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

于 2020-04-29T07:46:51.867 回答