gpt4 book ai didi

azure - 在 azure 函数中绑定(bind)字符串输出队列时出错

转载 作者:行者123 更新时间:2023-12-02 06:32:15 27 4
gpt4 key购买 nike

我正在使用 Azure 函数,尝试让输出队列正常工作,但我一直遇到输出绑定(bind)错误。我想知道这是否与我装饰参数的方式有关?我已经了解了如何使用单个队列作为返回值来完成此操作,但我需要有多个输出队列。

函数定义:

using Microsoft.Azure.WebJobs; using Microsoft.Azure.WebJobs.Host; using Newtonsoft.Json; using Newtonsoft.Json.Linq;

namespace FunctionApp1 {
public static class TestItemAddQueueTrigger
{
[StorageAccount("AzureWebJobsStorage")]
[FunctionName("TestItemAddQueueTrigger")]
public static void Run([QueueTrigger("testitem-add")] string itemAdd,
TraceWriter log,
[Queue("testitem-added", Connection = "AzureWebJobsStorage")] out string itemAddedQueue)
{
dynamic message = JObject.Parse(itemAdd);

log.Info($"Received message\n{JsonConvert.SerializeObject(message, Formatting.Indented)}");


var itemAddedQueueMessage = new
{
};

itemAddedQueue = JsonConvert.SerializeObject(itemAddedQueueMessage);

log.Info($"Sent message to queue \"itemAddedQueue\"\n{JsonConvert.SerializeObject(itemAddedQueueMessage, Formatting.Indented)}");
}
} }

错误消息:

A ScriptHost error has occurred
[10/18/2017 4:31:27 PM] Microsoft.Azure.WebJobs.Host: Error indexing method 'Functions.TestItemAddQueueTrigger'. Microsoft.Azure.WebJobs.Host: Cannot bind parameter 'itemAddedQueue' to type String&. Make sure the parameter Type is supported by the binding. If you're using binding extensions (e.g. ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. config.UseServiceBus(), config.UseTimers(), etc.).

Nuget 引用:

Microsoft.NET.Sdk.Functions (1.0.6) Microsoft.Azure.WebJobs (2.1.0-beta4) Microsoft.Azure.WebJobs.Extensions (2.1.0-beta4)
Microsoft.Azure.WebJobs.Extensions.Http (1.0.0-beta4) Newtonsoft.Json (9.0.1) System.ValueTuple (4.3.0)

项目文件:

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net47</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.6" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>

解决方案文件:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27004.2002
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FunctionApp1", "FunctionApp1\FunctionApp1.csproj", "{10F86A7D-5E03-41A9-8BBB-103C8E06E059}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{10F86A7D-5E03-41A9-8BBB-103C8E06E059}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{10F86A7D-5E03-41A9-8BBB-103C8E06E059}.Debug|Any CPU.Build.0 = Debug|Any CPU
{10F86A7D-5E03-41A9-8BBB-103C8E06E059}.Release|Any CPU.ActiveCfg = Release|Any CPU
{10F86A7D-5E03-41A9-8BBB-103C8E06E059}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B0A27606-232E-4B58-9586-12AB68E9CAC0}
EndGlobalSection
EndGlobal

最佳答案

我能够通过从 npm 重新安装 azure 核心工具 1.x 来解决此问题:npm install -g azure-functions-core-tools

这迫使 Visual Studio 重新安装 Azure Cli 工具,我最好的猜测是,这是某个地方的版本冲突。

不幸的是,我不知道导致问题的根本原因或版本组合。

关于azure - 在 azure 函数中绑定(bind)字符串输出队列时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46815207/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com