我正在使用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中是否有一些其他设置需要检查以确保正确配置此方案?
答案 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": ""
}
}
答案 1 :(得分:1)
这对我有用。 Azure门户中我复制/粘贴的连接字符串,包括' EndpointSuffix = core.windows.net'在字符串的末尾。当我使用它时,我得到了与上面相同的错误。当我简单地删除连接字符串的这一部分时,我能够成功连接。
答案 2 :(得分:0)
我有一个类似的问题,它无法连接。
我在Unix系统上本地运行该功能,而不是使用本地设置,而是使用了直接的环境变量。
事实证明,在声明变量时,应将其引用:
export AzureWebJobsStorage =“ DefaultEndpointsProtocol = https; Accoun ...”并解决了问题,猜测某些字符会被错误地处理