Azure Function 用于写入队列 - 我可以设置元数据吗?

2024-06-25

我可以看到从这一页 https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue当队列消息元数据属性用作触发器时,您可以简单地访问它们,但我想做相反的事情。 我有一个将消息写入队列的 Azure 函数,但它当前具有默认的过期时间,我想设置更短的过期时间,以便它们仅在队列中存活很短的时间。

从Azure函数将消息写入队列时有没有办法设置过期时间?

Thanks

EDIT 1:需要注意的是,我提前不知道队列的名称。这是传入消息的一部分,因此队列名称被设置为输出绑定的参数 我按照@Mikhail 的建议进行了更改。这是现在的功能:

#r "Microsoft.WindowsAzure.Storage"
#r "Newtonsoft.Json"

using System;
using Microsoft.WindowsAzure.Storage.Queue;
using Newtonsoft.Json;

public static void Run(MyType myEventHubMessage, CloudQueue outputQueue, TraceWriter log)
{
    var deviceId = myEventHubMessage.DeviceId;
    var data = JsonConvert.SerializeObject(myEventHubMessage);
    var msg = new CloudQueueMessage(data);
    log.Info($"C# Event Hub trigger function processed a message: {deviceId}");
    outputQueue.AddMessage(msg, TimeSpan.FromMinutes(3), null, null, null);

}

public class MyType
{
  public string DeviceId { get; set; }
  public double Field1{ get; set; }
  public double Field2 { get; set; }
  public double Field3 { get; set; }
}

我的 function.json 中的输出绑定:

{
"type": "CloudQueue",
"name": "$return",
"queueName": "{DeviceId}",
"connection": "myConn",
"direction": "out"
}

将参数类型更改为CloudQueue,然后手动添加消息并设置过期时间属性(或更确切地说生存时间)。

public static void Run(string input, CloudQueue outputQueue)
{
    outputQueue.AddMessage(
        new CloudQueueMessage("Hello " + input),
        TimeSpan.FromMinutes(5));
}

编辑:如果您的输出队列名称取决于请求,您可以使用命令式绑定:

public static void Run(string input, IBinder binder)
{
    string outputQueueName = "outputqueue " + input;
    QueueAttribute queueAttribute = new QueueAttribute(outputQueueName);
    CloudQueue outputQueue = binder.Bind<CloudQueue>(queueAttribute);
    outputQueue.AddMessage(
        new CloudQueueMessage("Hello " + input),
        TimeSpan.FromMinutes(5));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure Function 用于写入队列 - 我可以设置元数据吗? 的相关文章

  • HTML 文档

    有没有一个工具可以从 VS2010 生成的 XML 文档文件生成 HTML 页面 我在谷歌上搜索了这样的工具 但没有找到 我下载并安装了SandCastle 但我不明白如何使用它 尝试使用Sandcastle 帮助文件生成器 http sh
  • 带方括号的 Uri.EscapeUriString

    这是一个奇怪的问题 但让我们看看它会得到什么样的回应 如果我编写一个控制台应用程序 VS 2013 NET 4 5 1 并执行这行代码 Uri EscapeUriString 我明白了 但是 如果我执行同样的事情 嗯 从技术上来说Uri E
  • 如何从 std::vector 中删除元素而不调整其大小

    迭代器擦除 迭代器位置 迭代器擦除 首先是迭代器 迭代器最后 擦除元素 从向量中删除 容器可以是单个元素 位置 或一系列元素 第一个 最后一个 这有效地减少了向量 大小除以元素数量 删除 调用每个元素的 之前的析构函数 and remove
  • Azure 服务总线:什么是“请求”和“消息”?

    在 Microsoft Azure 中 在服务总线下 您可以看到不同队列 主题等的活动图 该图显示了各种不同的线 例如收到的消息 传出消息 成功请求 etc 什么是Request 什么是Message 请求似乎不断发生 并且通常远远大于消息
  • 在宏中使用 # [重复]

    这个问题在这里已经有答案了 请解释一下代码 include
  • 如何将 QSerialPort 模块添加到 CMake 中?

    我想将 QSerialPort 模块添加到 CMake 中 根据我的理解 我需要将QT 串口添加到 pro中 我只想使用 CMake 所以我尝试编译简单的 CMake 文件 但有错误 QtCore 正在工作 qDebug 可以毫无问题地显示
  • 使用私有构造函数的 C# 单元测试类?

    好吧 我刚刚收到一个作业 我必须对具有私有构造函数的类执行单元测试 现在 当所有方法也都是非静态时 我该如何在不初始化类的情况下进行单元测试 有什么方法可以对具有私有构造函数的类进行单元测试 无需反射 如果您无法将类公开 您仍然可以通过以下
  • 用于 C/C++ 的独立跨平台 (Windows/Linux) 文件压缩?

    我正在寻找一个 最好是小的 C 或 C 开源库 我可以将其包含在我的 MIT 许可项目中 托管在 google 代码上 我是一名业余爱好 C C 程序员 所以我并不那么先进 但我只知道为名为 SA MP 的应用程序 适用于 Windows
  • Linux C++ 调试器

    我正在寻找完美的 Linux C 调试器 我不期望成功 但搜索应该提供丰富的信息 我是一个非常有能力的 gdb 用户 但 STL 和 Boost 很容易压垮我的调试技能 并不是说我无法深入了解数据结构的内部结构 而是它需要很长时间 我通常会
  • argc 和 argv 在 Windows 中没有用吗?

    在 Linux 中 argc 和 argv 计算终端中的参数 但在 Windows 中 我找不到放置第二个参数的地方 事实上 每次我运行该程序时 它都会创建那个丑陋的黑色窗口 我什至没有机会给出任何争论 那么这两个变量在Windows平台下
  • 内存不足异常

    我正在使用 C 和 asp net 开发一个网络应用程序 我一直收到内存不足的异常 该应用程序的作用是从数据源读取一堆记录 产品 可能是数百 数千 通过向导中的设置处理这些记录 然后使用处理的产品信息更新不同的数据源 虽然有多个 DB 类
  • 如何在Windows Azure上调用ffmpeg.exe转换音频文件?

    我在 Windows Azure 上运行 Web 角色来接收 AAC 音频文件 通过 base64 字符串上传 并将它们存储到 blob 中 现在效果很好 接下来 我还必须将它们转换为 MP3 并将 MP3 存储到 blob 中 我决定使用
  • 除法时的小数舍入误差 (C#)

    我基本上有四个数字 比如 100 200 300 400 我需要计算概率为 100 100 200 300 400 200 100 200 300 400 等等在 当我使用小数数据类型来存储这些概率时 由于舍入问题 它们不会达到 1 在不使
  • 为什么 ASP.Net MVC Range 属性采用类型?

    我只是想知道为什么范围验证属性可以采用类型和两个字符串作为参数 这是为了根据枚举或类似的东西验证字符串吗 另外 我想做的是找到一种简单的方法来验证必须出现在枚举中的 3 个字符的字符串 有什么建议吗 谢谢 亚历克斯 我确实发现你提到的 Ra
  • 如何通过 Excel 互操作对象自动调整列大小?

    下面是我用来将数据加载到 Excel 工作表中的代码 但我希望在加载数据后自动调整列的大小 有谁知道自动调整列大小的最佳方法 using Microsoft Office Interop public class ExportReport
  • 合并大文件的最佳方法是什么?

    我必须合并数千个大文件 每个大约 200MB 我想知道合并这些文件的最佳方法是什么 行将有条件地复制到合并文件中 可以使用 File AppendAllLines 或使用 Stream CopyTo 吗 使用 File AppendAllL
  • Task.Delay 到底是如何工作的?

    他们说 Task Delay 是一个异步 Thread Sleep 为了测试这一点 我写了下面的代码 我希望立即打印 One 然后 3 秒后将打印结果变量 15 2 秒后 将打印 Two 但似乎并非如此 一 不会立即打印 3 秒后打印 On
  • 64 位随机生成器种子

    我目前正在运行一个具有 8 个以上管道 线程 的多线程模拟应用程序 这些管道运行非常复杂的代码 该代码取决于种子生成的随机序列 然后该序列被归结为单个 0 1 我希望在将种子从主线程传递到处理管道后 这种 随机处理 具有 100 的确定性
  • 如何从与 C# lambda 集成(而非代理集成)的 Amazon API 网关获取正确的 http 状态代码?

    我正在使用 C lambda 与 API 网关集成 我希望 API 网关返回正确的错误代码 例如 400 404 500 等 API网关模块tf文件 provider aws version lt 2 70 0 region var aws
  • Unity 错误“内部构建系统错误。后端退出,代码为 -1073740791。”摧毁/杀死了我的项目

    好吧 我可能在这里夸大了 但这是真的 当我开始打开它时 该项目由于错误 内部构建系统错误 后端退出 代码为 1073740791 而被破坏 应用程序 这个项目已经在Google Play上发布了 也许和设置有关 有人可以帮忙吗 完整错误 I

随机推荐

  • 当在另一个表中找到匹配项时更新列

    我尝试使用表 A 中与 Passport no 匹配的值更新表 B 中的列 下面是我的sql查询 update tabel b set b country id a national id from table a a join tabel
  • 带有 TinyMCE 的文本区域。提交按钮不起作用

    您好 我正在使用 TinyMCE 制作一个带有文本区域的表单 当我按下提交按钮将其发送到 php DB 时 该按钮不执行任何操作 我已将文本区域放在评论中 看看这是否是问题所在 并且它有效 所以我推断这是问题所在 这是我的表单代码 div
  • 如何从命令行使用 Stagefright?

    如何从命令行使用 Stagefright 是否可以 是的 如果您已获得设备 root 权限并且可以访问命令行 则可以从命令行使用 stagefright 这是我的 Android 板的输出 root android stagefright
  • 需要设计8个盒子,排成两排

    如何使用bootstrap设计如下8个盒子 Please 忽略颜色每个盒子都会类似于名片 它们应该只有 8 个盒子 排成两排 With 大屏幕中右侧和左侧的特定边距 and 不 小屏幕中的边距 所以在平板电脑中应该是 2 在移动设备中应该是
  • 接收 AJAX HTTP 响应代码为 0

    我有一个非常简单的 AJAX 和 PHP 代码 通过 AJAX 调用 PHP 时 它收到的响应代码为 0 PHP 代码已成功运行 但我无法获得响应 这个状态 0 表示什么 我该如何解决这个问题 function confirmUser id
  • 使用 Ant build 命令为目录生成校验和

    我尝试生成checksum questions tagged checksum对于目录使用ant questions tagged ant 我已尝试以下命令 但它会在每个文件的每个文件夹内递归生成
  • 在 Python 3 中使用 Socket 时出现 400 Bad Request 错误

    我刚刚开始使用 Python 3 6 1 中的 Python Web 数据 我正在学习套接字 我的代码有一个问题 我无法弄清楚 我的代码中的网站工作正常 但是当我运行此代码时 我收到 400 Bad Request 错误 我不太确定我的代码
  • 错误:ORA-02289:序列不存在 - org.hibernate.exception.SQLGrammarException:无法提取 ResultSet

    我正在为员工表创建一个基本的休眠应用程序 在 ManageEmployee 类的帮助下 我可以在其中添加 更新 删除和显示记录 实际上 ManageEmployee 是我的测试类 我正在使用 Employee java 和 Employee
  • 从字符串中提取版本号(例如:“ver.1.9.0”)

    如果我传递一个字符串 verstring vername 1 19 5 它将返回版本 因为我忽略了 Currentver 0 如果我想传递 verstring 1 19 5 我的意思是我将获得两种格式的 verstring 版本名称 ver
  • 如何创建自己的 ostream/streambuf?

    出于教育目的 我想创建一个 ostream 和流缓冲区来执行以下操作 执行 存储在双端队列容器中 而不是使用 std cout 或写入文件 记录额外的数据 例如我执行了多少次 我尝试过超载 但失败了 我尝试通过做重载写入 ostream w
  • 统一成本搜索和 Dijkstra 算法有什么区别?

    我想知道有什么区别统一成本搜索 and 迪杰斯特拉算法 它们似乎是相同的算法 Dijkstra 算法可能更为人所知 可以视为 作为统一成本搜索的变体 其中没有目标状态并且 处理继续 直到所有节点都已从 优先级队列 即直到到达所有节点 不仅仅
  • Snowflake没有扣除Parquet中按列分区

    我对 Snowflake 的新功能 Infer Schema 表功能有疑问 INFER SCHEMA 函数在 parquet 文件上表现出色 并返回正确的数据类型 但是 当 parquet 文件被分区并存储在 S3 中时 INFER SCH
  • 为什么 NetBeans 11 在调用方法时在值旁边显示参数名称?

    在第 11 行 调用了 foo 方法 除了参数值之外 它还显示了我不想要的参数名称 并且参数名称旁边还有一个奇怪的粉红色框 我该如何摆脱这个 在设置上尝试了很多东西 但没有找到解决方案 任何帮助表示赞赏 In menu 查看 显示内联提示
  • 从封闭的网络应用程序在 Chrome 或 Firefox 中发送桌面通知?

    我的目标是发送Gmail 风格的桌面通知 https support google com mail answer 1075549 hl en在 Chrome 或 Firefox 中 通过当前未在浏览器中打开的 Web 应用程序 我们称之为
  • 如何在ggplot2中正确使用facet_grid?

    我试图使用以下代码为每个配置文件生成一个图表 但我不断收到 至少一层必须包含用于分面的所有变量 错误 我花了最后几个小时试图让它发挥作用 但我做不到 我相信答案一定很简单 有人可以帮忙吗 d structure list category
  • 哪些兼容 .NET 的图形数据库解决方案拥有经过验证的跟踪记录?

    我正在寻找一种通用图形数据库解决方案 该解决方案具有现有的 NET 兼容基础架构和经过验证的跟踪记录 我在 Google 和 SO 上找到了几个选项的链接 但没有太多关于实际应用程序中现有实现和用法的信息 我还考虑过使用文档数据库之间的混合
  • 对同一类型的多个项目使用“引用”

    因此 我正在自学 Ruby on Rails 并具有 PHP 背景 我编写了一个草率的 概念验证的 PHP 应用程序 名为 2NDP http rezich com storybored 我想在 Ruby on Rails 中重新创建它 但
  • C# 属性参数必须是常量表达式

    为什么下面的字符串数组给我一个错误 它们不都是字符串吗 属性参数必须是属性参数类型的常量表达式 typeof 表达式或数组创建表达式 Test TestCase new string 01 02 03 04 05 06 07 08 09 1
  • 如何扩展 Sonata\DoctrineORMAdminBundle\Model\ModelManager

    我想在 ModelMangaer 中进行一些更改 然后我扩展了 ModelManager 但它不起作用 我不知道为什么 有人告诉我为什么它不起作用吗 我扩展 Sonata DoctrineORMAdminBundle Model Model
  • Azure Function 用于写入队列 - 我可以设置元数据吗?

    我可以看到从这一页 https learn microsoft com en us azure azure functions functions bindings storage queue当队列消息元数据属性用作触发器时 您可以简单地访