我将遵循本指南https://docs.microsoft.com/en-us/azure/storage/queues/storage-dotnet-how-to-use-queues,并尝试在时间触发的函数中创建一个简单的队列。它无法识别CloudStorageAcount,CloudConfigurationManager,CloudQueueClient等。
这是我的run.csx文件
using Microsoft.Azure;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Queue;
using System;
public static void Run(TimerInfo myTimer, TraceWriter log) {
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
// Retrieve storage account from connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
// Create the queue client.
CloudQueueClient queueClient =
storageAccount.CreateCloudQueueClient();
// Retrieve a reference to a container.
CloudQueue queue = queueClient.GetQueueReference("myqueue");
// Create the queue if it doesn't already exist
queue.CreateIfNotExists();
}
这是我的project.json文件:
{
"frameworks": {
"net45":{
"dependencies": {
"Microsoft.WindowsAzure.ConfigurationManager" : "3.2.3",
"Microsoft.WindowsAzure.Storage" : "8.0.0"
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"imports": "dnxcore50"
}
}
}
}
}
答案 0 :(得分:1)
默认情况下,Azure Functions本身引用了软件包Microsoft.WindowsAzure.Storage
。删除整个project.json
文件,并将此行添加到函数顶部:
#r "Microsoft.WindowsAzure.Storage"
但是您可能甚至不需要。 Azure函数具有用于存储队列的更高级别的API,用于发送(输出绑定)和接收(触发)。请参阅Azure Queue storage bindings for Azure Functions。
另一个建议:最好使用预编译函数,这些预编译函数部署为使用Visual Studio或VS Code编译的类库。这样,管理依赖关系和进行故障排除要容易得多。