首先,我已经看了其他有同样错误信息的SO帖子,似乎没有一个能解决我的问题。我尝试了许多排列和选择。我的函数构建得很好,但是不能在CLI中运行,我得到了以下神秘的错误。MSFT文档似乎也没有答案。
未找到作业函数。试着公开你的作业类和方法。如果您使用的是绑定扩展(例如ServiceBus、定时器等),请确保在启动代码中调用了扩展的注册方法(例如config.UseServiceBus(),config)。UseTimers()等)。
我正在尝试运行计时器作业,然后将消息集合写入事件中心。我错过了什么?我已经为此奋斗了几个小时。
功能:
[FunctionName("CreateData")]
public static async Task Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer,
[EventHub("murraytest", Connection = "evingest")] IAsyncCollector<string> myeventhub,
TraceWriter log)
{
await myeventhub.AddAsync("data1");
await myeventhub.AddAsync("data2");
await myeventhub.AddAsync("data3");
log.Info($"COMPLETED: {DateTime.Now}");
}
local.settings.json:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"Eventhub": "UseDevelopmentStorage=true",
"AzureWebJobsDashboard": "",
"evingest": "Endpoint=sb://example.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=LtcqBLT5VWjg0dGMdIvxCcEGs8902010Y6y14iGg="
}
}
包
function.json -缺少任何eventhub绑定!
{
"generatedBy": "Microsoft.NET.Sdk.Functions-1.0.0.0",
"configurationSource": "attributes",
"bindings": [
{
"type": "timerTrigger",
"schedule": "0 */5 * * * *",
"useMonitor": true,
"runOnStartup": false,
"name": "myTimer"
}
],
"disabled": false,
"scriptFile": "..\\bin\\AzFuncs.dll",
"entryPoint": "AzFuncs.Function1.Run"
}
您应该升级到最新的Microsoft.NET.Sdk.Functions
(1.0.6
截至今天)和Microsoft.Azure.WebJobs.Service.Bus
(2.1.0-beta4
如果在完整框架上运行)。您可能需要先删除ServiceBus引用才能升级SDK。
还需要删除Microsoft.Azure.Eventhubs
包。所有相关类型等都在Microsoft.Azure.WebJobs.Service.Bus
还记得在包管理器中检查“包含预发布”以找到2.1.0-beta4
。
如果您在. NET 5中使用过程外执行模型的Azure Functions,则需要将FunctionName
替换为Function
,否则将不会检测到该函数。
之前:
[FunctionName("CreateData")]
之后:
[Function("CreateData")]
我发现了另一个问题,特别是如果您正在从另一个项目或版本转换。
在 VS csproj 文件中,确保 AzureFunctionsVersion 存在
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AzureFunctionsVersion>v2</AzureFunctionsVersion>
</PropertyGroup>
...etc
工具会自动添加此内容,但如果您要修改缺少此内容的项目,则不会添加此内容。希望这有助于您节省花费我的3个小时:-)。
我已经在Visual Studio 2017中创建了一个Azure Function应用程序,并且可以使用Visual Studio发布功能毫无问题地将其发布到Azure(右键单击项目,然后选择发布)。 由于从Visual Studio的开发人员实例部署不是理想的持续集成策略,我已经与TeamCity和Octopus创建了一个部署管道,其中TeamCiti构建了Azure功能应用程序,Octopu
我正在运行本地m/c代码。 在上面的代码中,我试图在条目上触发Topic的订阅。 但当我运行代码时,它给了我一个错误 找不到函数。尝试公开作业类和方法 我在public Function类中尝试了相同的方法,但不起作用。 但是当我将ServiceBusTrigger更改为QueueTrigger时,它起作用了。 我已经正确设置了下面的配置。 我哪里说错了?
我很感激有几个这样的问题,但我很确定我已经经历了一切,已经到了“到底是什么”的地步。 我在Azure上推出了一个v3函数,但是没有成功地将这个函数发布到.....功能。我担心Azure CLI任务会破坏一些东西。 我函数的启动是: 以及其中的函数: 我相当确定我已经安装了所有的软件包。通过网络浏览到函数似乎是可以的。 Log Analytics 的自定义日志中也不会显示任何内容。不过,该表确实已创
我已经创建了一个.Net 5 Azure函数应用程序项目,并使用程序.cs文件遵循隔离过程,并且它工作正常。现在我想将框架版本从dotnet 5.0更改/升级到6.0,因此更改了项目属性页中的版本,并更改了csproj文件中的版本。并将属性也从 Function 更改为 FunctionName,但它在运行时在 cmd 中显示以下错误。 添加它显示以下进程窗口超过 1 小时,当我运行我的解决方案。
我正在探索在上运行函数应用程序。这是我到目前为止所做的。 下面是新的< code>Program类,它取代了< code>Startup类: 我还有一个非常简单的HTTP触发函数: 我已经修改了我的 ,以指示函数必须在隔离模式下运行: 我使用以下参数启动函数: 问题 当我启动应用程序时,我收到以下警告消息: 我相信我在处于隔离进程中。我错过了什么? 更新 以下是版本信息:
当我尝试在Linux(Ubuntu 18.04)中构建azure函数时,返回错误。以下是我在从git克隆存储库process.After中遵循的步骤。 在输出返回之后, 下面是关于我的系统的信息,