如何在最新的azure webjob 3.03中指定AzureWebJobsStorage

2024-04-24

我将旧的 azure webjob 代码更新为打包到 3.03,然后它就不起作用了。

我设法修复了所有编译时错误,但在本地运行时,它会抛出以下错误:

Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexingException
  HResult=0x80131500
  Message=Error indexing method 'MvQueueProcessorV2.ProcessMVRequest'
  Source=Microsoft.Azure.WebJobs.Host
  StackTrace:
   at Microsoft.Azure.WebJobs.Host.RecoverableException.TryRecover(ILogger logger) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Exceptions\RecoverableException.cs:line 81
   at FE.Toolkit.MvPaaS.WebJob.Program.<Main>(String[] args)

Inner Exception 1:
InvalidOperationException: Storage account 'Storage' is not configured.

对我来说,这似乎表明它找不到设置AzureWeb作业存储?然而,它在 app.config 文件中睡得很好。所以我认为我应该将连接字符串放入 appsettings.json,所以这就是我在 appsettings.json 中所做的:

{
  "ConnectionStrings": {
    "AzureWebJobsDashboard": "xxx",
    "Storage": "yyy"
  }
}

但是,它给了我同样的错误。那么如何设置webjob 3.0的存储呢?

这是我在program.cs中的代码

var builder = new HostBuilder()
              .UseEnvironment("Development")
              .ConfigureWebJobs(b =>
               {
                 b.AddAzureStorageCoreServices()
                   .AddAzureStorage()
                   .AddTimers()
                   .AddFiles()
                   .AddDashboardLogging();
                   })
                  .ConfigureLogging((context, b) =>
                 {
                   b.SetMinimumLevel(LogLevel.Debug);
                   b.AddConsole();
                  })
                   .ConfigureServices(services =>
                  {
                        services.AddSingleton<INameResolver, ConfigNameResolver>();
                  })
               .UseConsoleLifetime();

请在您的program.cs中添加这行代码:

.ConfigureAppConfiguration((context, config) => {
                    config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
                })

我在我身边测试过,效果很好。

Program.cs中的代码:

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;

namespace WebJob1template
{
    class Program
    {
        static void Main()
        {

            var builder = new HostBuilder()
                .UseEnvironment("Development")
                .ConfigureAppConfiguration((context, config) => {
                    config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
                })
                .ConfigureWebJobs(
                b =>
                {
                    b.AddAzureStorageCoreServices()
                    .AddAzureStorage()
                    .AddTimers()
                    .AddFiles();
                    //.AddDashboardLogging();
                })
                .ConfigureLogging((context, b) =>
                {
                    b.SetMinimumLevel(LogLevel.Debug);
                    b.AddConsole();
                })
                .UseConsoleLifetime();


            var host = builder.Build();

            using (host)
            {
                host.Run();
            }
        }
    }
}

appsettings.json(请注意,将其属性“复制到输出目录”设置为“始终复制”):

{
  "ConnectionStrings": {
    "AzureWebJobsDashboard": "xxxx",
    "AzureWebJobsStorage": "xxxx"
  }
}

函数.cs:

using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;

namespace WebJob1template
{
    public class Functions
    {        
        public static void ProcessQueueMessage([QueueTrigger("queue")] string message, ILogger log)
        {
            //log.WriteLine(message);
            log.LogInformation(message);
        }
    }
}

测试结果:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在最新的azure webjob 3.03中指定AzureWebJobsStorage 的相关文章

  • Microsoft 身份 - 撤销授权

    我正在开发一个 NET 应用程序 它可以使用 Graph API 代表用户发送电子邮件 提示用户对应用程序进行授权 然后使用获取的访问令牌来调用 Graph API 刷新令牌用于在旧访问令牌过期时颁发新的访问令牌 如下所述 https le
  • 如何使用 Visual Studio 2017 在 Azure 上部署 Angular 6 应用程序

    我使用 angular cli 创建了一个 Angular 应用程序 npm install g angular cli ng new my app 现在我想将这个简单的 Angular 应用程序部署到 Azure 我已经发布了设置 我该怎
  • 无法在 Azure Synapse Analytics 中创建表

    我是 Azure Synapse Analytics 的新手 我已经在工作区中创建了数据库 但是当我尝试创建新表时 它显示以下错误 执行查询失败 错误 不支持 CREATE TABLE 附上错误截图和查询 Answer recommende
  • Azure Web 角色中的网站项目

    我正在研究一个新的 ASP Net 项目 我们希望将其托管在 Windows Azure Web 角色中 该项目的技术要求之一是利用 ASP Net 的完整预编译选项 不可更新 单页程序集 Web Site项目模型 与 ASP Net 相反
  • 如何在 Azure DevOps 发布管道中保存测试结果

    在发布管道期间 我将启动 Selenium 测试 如果这些测试失败 则会进行屏幕截图 我正在寻找一种上传它们的方法 以便我可以查看它们并检查出了什么问题 我设法将它们压缩 但不幸的是 所有上传方法都不适用于发布管道 有没有办法在发布管道期间
  • 如何将 Azure 映像从一个区域复制到另一个区域

    我在 Azure 区域 加拿大中部 的 Azure 映像中有一个 系统准备 通用 服务器模板 我想使用它在不同的 Azure 区域 美国中部 创建 Azure VM 这不起作用 因此 我需要将该 Azure 映像也驻留在美国中部 如何将我的
  • Azure 应用服务 - 自定义身份验证 - 不允许 HTTP 动词

    我按照本教程在我的 Xamarin Forms 应用程序中启用身份验证 https adrianhall github io develop mobile apps with csharp and azure chapter2 custom
  • 如何从 Azure Graph API 获取基于用户的令牌

    我有一个 Azure Active Directory 在我的 Web Api 中我有一段代码 我可以使用我在 Azure 中注册的应用程序和客户端证书从 Azure Graph Api 获取令牌 这是我现在使用的代码 public sta
  • Windows Azure 上的 .NET 4.0?

    我的谷歌搜索在这方面让我失败了 作为一个可能的解决方案在 VS2010 中使用 MStest 对 NET 3 5 项目进行单元测试 https stackoverflow com questions 1679404 unit testing
  • 更改 Azure 资源组位置

    我在天蓝色中进行了设置 将一堆资源组合在一个资源组中 我希望我的服务位于西欧 因此我的所有资源都在那里 如果可能 我刚刚注意到 在创建资源组时 我不小心使用了 West US 所以当前的设置是 资源组 1 美国西部 应用服务 1 西欧 应用
  • 如何结合 AD B2C(MSAL) 和 CosmosDB

    我在我的 Xamarin 表单应用程序中使用 appcenter Auth 和 Data 但微软正在关闭这些服务 所以我现在需要自己做 Atm 这两个允许我使用 ADB2C 验证我的用户 然后授予他们访问 Cosmos 数据库中自己和共享内
  • 没有 MediaTypeFormatter 可用于从媒体类型为“multipart/form-data”的内容中读取类型为“HttpRequestMessage”的对象

    我正在调整最近在 NET Standard 中启动的项目以使用 Azure Functions 我有一个 HTTP 触发器 我直接从表单发布到该触发器 只有两个字段 数字输入和文件上传 当使用该函数而不引用任何其他库时 我无法在 HttpR
  • 将 Azure Blob 与 Azure 网站结合使用

    我正在制作一个MVC Windows Azure涉及用户上传图像的网站 我想将图像存储在 blob 中 我搜索了教程 但大多数都涉及Webapps而不是 MVC 网站 我发现的唯一有用的教程是 http www codeproject co
  • 部署到 azure 然后收到 403 - 访问禁止

    我正在尝试部署到 Azure Silverlight 应用程序 我已迁移数据库 更新连接字符串并将应用程序发布到 Azure 但是当我单击服务 URL 时 我得到以下信息 403 禁止 访问被拒绝 您无权使用您提供的凭据查看此目录或页面 知
  • 如何配置手动预配的 Azure 托管磁盘以用作 Kubernetes 持久卷?

    我正在尝试运行Jenkins Helm 图表 https github com kubernetes charts tree master stable jenkins 作为此设置的一部分 我想传递我提前配置的持久卷 或者可能在迁移期间从另
  • 如何在 Azure 管道上运行 Karate API 测试

    空手道和 Azure 新手 刚刚使用空手道创建了一些 API 测试 而且很简单 想要进一步添加 Azure 管道 找到了一些仅指向添加 Microsoft 的 pom xml 和 maven 的链接 还发现了 Jekins 集成 但没有适用
  • 使用 PySpark 从 azure blob 存储读取 csv 文件

    我正在尝试使用 Microsoft Azure 上的 PySpark HDInsight 集群来做一个机器学习项目 要在我的集群上进行操作 请使用 Jupyter 笔记本 另外 我的数据 一个 csv 文件 存储在 Azure Blob 存
  • 逻辑应用的 IP 白名单

    如何将逻辑应用的 IP 地址列入白名单 由逻辑应用程序调用的服务 使用 HTTP 操作 但该服务需要白名单才能调用 那么 如何将逻辑APP列入白名单呢 我们可以使用Azure API管理进行白名单 它发布逻辑App 因为api管理提供静态I
  • 如何在 Redis 缓存中存储机器人状态

    虽然有一些文章描述了如何在 Redis 缓存中存储机器人状态 但这是推荐的方法吗 https ankitbko github io 2016 10 Microsoft Bot Framework Use Redis to store con
  • azure 和 google 上的自定义联合代理

    azure 和 google 中的 aws 上的自定义联合代理可以替代什么 在AWS中 我可以创建一个允许联合用户登录并访问这样的资源的url https docs aws amazon com IAM latest UserGuide i

随机推荐