4

我正在尝试在本地运行 azure queue trigger 功能。我安装了 Azure Storage Emulator 并运行命令“AzureStorageEmulator.exe init”在“(localdb)\MSSQLLocalDB”服务器上创建“AzureStorageEmulatorDb59”数据库。

在具有队列触发功能的天蓝色函数项目中,我有一个 local.settings.json 文件。应该在该文件中添加哪些设置,连接字符串到底应该是什么,我应该在哪里添加它?下面提到我的队列触发功能。应该添加什么来代替“QueueTrigger”属性后提到的“my-queue”?请在这件事上给予我帮助

  [FunctionName("TestQTFunction")]
    public static void Run([QueueTrigger("my-queue", Connection = "AzureQueueConnectionString")]string myQueueItem, ILogger log)
    {
       // Do something
    }
4

1 回答 1

3

更新

在 local.settings.json 中:

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "FUNCTIONS_WORKER_RUNTIME": "dotnet"
    }
}

在我的代码中:

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

“my-queue”是当消息放入队列时要触发的队列的名称。因此,将其更改为您要触发的队列名称。

local.settings.json 中的连接字符串应采用以下格式

"AzureWebJobsStorage":"DefaultEndpointsProtocol=https;AccountName=[name];AccountKey=[key]"

还要确保右键单击 local.settings.json 文件 -> 属性 -> 将“复制到输出目录”设置为“如果较新则复制”。

然后在 Run 方法中,将 connection="AzureQueueConnectionString" 更改为 Connection = "AzureWebJobsStorage"。

于 2019-06-19T10:02:24.213 回答