当前位置: 首页 > 知识库问答 >
问题:

如何在本地调试azure函数

戚默
2023-03-14

您好,我在Azure门户中创建了一个函数并看到队列数据出队。

我在我的计算机上安装了一个CLI,当我运行项目时,它将显示一个func。exe命令提示符。我在local.settings.json中添加了如下连接字符串

>  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=...",
    "AzureWebJobsDashboard": "DefaultEndpointsProtocol=https;AccountName=...",
    "tuxdev_STORAGE": "DefaultEndpointsProtocol=https;AccountName=..."
  } 

当我在门户中向队列中添加消息时,应用程序未收到该消息。我需要更新哪些其他设置。

共有1个答案

滑骞尧
2023-03-14

根据您的错误消息,问题似乎是您的类或方法不是公共的。如果我将我的方法设置为私有,我也会得到与您相同的错误。

如果我将函数方法设置为公共,则一切正常。该函数将显示我在门户中添加的队列。

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;

 public static class Function1
{
    [FunctionName("Function1")]
    public static void Run([QueueTrigger("myqueue", Connection = "AzureWebJobsStorage")]string myQueueItem, TraceWriter log)
    {

        log.Info($"C# Queue trigger function processed: {myQueueItem}");
    }
}

或者该问题可能与您的nuget软件包版本有关。你可以升级到最新的微软。NET.Sdk.Functions(目前为1.0.6)和微软。Azure.WebJobs.Service.Bus(如果在完整框架上运行,则为2.1.0-beta4)。请参考这篇文章。

您应该升级到最新的Microsoft.NET.Sdk.Functions(截至今天的1.0.6)和Microsoft.Azure.WebJobs.Service.Bus(如果在完整框架上运行,则为2.1.0-beta4)。您可能需要先删除服务总线引用才能升级 SDK。

Microsoft.Azure.Eventhubs 软件包也需要删除。所有相关类型等都在Microsoft.Azure.WebJobs.Service.Bus中

还要记得在包管理器中检查“包含预发布”以找到2.1.0-beta4

 类似资料:
  • 我有一个功能。Net标准2.0: 根据本文:https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local部分"非HTTP触发函数" “对于HTTP触发器和Webhook以外的所有类型的函数,您都可以通过调用管理终结点在本地测试您的函数。在本地服务器上使用HTTP POST请求调用此终结点会触发该函数。您可以选择

  • 获得本地调试的Azure函数以连接到Cosmos DB仿真器的本地实例的秘诀是什么? 编辑:其他人要求提供该函数的完整代码。给你:

  • 我是Quarkus lambda的初学者,当我正在寻找如何调试Quarkus lambda时,然后每个人都显示了REST APIendpoint,是否有任何方法可以使用lambda处理程序调试Quarkus应用程序? 我知道如何在开发模式下启动应用程序,但我正在努力调用处理程序方法。

  • 问题内容: 我有一个使用node.js express开发的移动应用程序后端。我尝试将其部署为lambda服务。为此,我创建了一个无服务器框架项目(https://github.com/serverless)。以前,我通过启动快速后端应用程序在本地测试了移动应用程序。现在,我找不到没有本地后端就可以在本地测试我的移动应用程序的方法。命令只在我调用一次后运行。 有什么方法可以将lambda函数作为W

  • 我有Azure功能,并试图在本地启动,但启动后命令行显示和隐藏不到1秒。我试着在截图上抓住它: 看起来没有正确的启动参数。 my local.settings.json: 我的csproj文件是: 另外,我设置了“可执行文件”在调试属性窗口和完整路径上启动: 因为没有它,azure函数无法在本地启动,出现错误: 我能在哪里检查它?

  • 我们正在构建一个系统,一些客户将在Azure中运行,一些客户将通过docker-compose在他们自己的硬件上在Docker中运行。我们的微服务基于Azure Functions。 我已经编写了一个docker compose文件来设置各种图像(网站、Azure函数和RabbitMQ) docker compose如下所示(简化): 当docker-comuse启动时,我在Azure Funct