问题标签 [azure-storage-queues]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
566 浏览

azure - CloudQueueMessage.GetMessagesAsync 挂起,而同步版本没有

在尝试从本地存储队列中检索消息时,我遇到了一些难以解释的奇怪现象。我相当确定这不会在使用实际 Azure 队列的生产环境中发生。

特别是导致此问题的行是:

它将什么都不做,似乎永远不会回来。但是,将其替换为:

完成后返回,看起来很好。

我在这里使用 await 对吗?任何想法为什么这不起作用?

我正在使用 Windows Azure SDK 2.8 和 Windows Azure Storage Emulator 4.2.0.0,以防它提供任何线索。

0 投票
2 回答
399 浏览

azure - Azure 调度程序作业集合与资源管理器部署模型存储队列的集成

我正在尝试创建一个Azure Scheduler Job具有Storage queue操作的新帐户,但我能够从 Azure 订阅中选择的唯一存储帐户是“经典”存储帐户,我无法选择“资源管理器”存储帐户。

Azure Scheduler Jobs 与“资源管理”存储帐户不兼容吗?

0 投票
1 回答
2240 浏览

azure - Azure WebJob ProcessQueueMessage 无法读取 CloudQueueMessage

总之,我有一个 Azure Web 作业CloudQueue通过 WebJobs SDK 的ProcessQueueMessage机制使用CloudQueueMessage参数类型链接到一个。这给了我一个FunctionInvocationException何时通过QueueTrigger.


细节

该项目已成功添加到CloudQueue使用AddMessageAsync方法:

并作为我的对象的预期 JSON 表示形式出现在队列中(来自 Cloud Explorer 中的消息文本预览):

但是,当该ProcessQueueMessage方法被触发时:

...我得到一个FunctionInvocationException

这似乎表明该message参数未能将 JSON 读入CloudQueueMessage对象......但它似乎不是我可以控制的。

有没有人对为什么会发生这种情况有任何建议?


版本信息

Microsoft.Azure.Webjobs 1.1.1

WindowsAzure.Storage 6.2.2-预览

DNX 4.5.1

背景

Troy Hunt - 网络作业入门

MSDN - 如何... 文章

0 投票
2 回答
829 浏览

c# - 如何使用 Azure 存储队列发送 XML 文件?

我需要在两台服务器之间发送 xml 文件。这些文件最大可达 1mb。

我正在考虑使用 Azure 存储队列作为这些文件的中间目的地,但读到消息大小有 64kb 的限制。我想发送超过 64kb 的消息的要求并不少见。

有没有办法绕过限制?也许压缩?

0 投票
2 回答
2126 浏览

node.js - 我可以将 Azure 函数的一次运行中的多个项目排队吗?

我有一个 Node.js timerTriggerAzure 函数,它处理集合并将处理结果排队以供进一步处理(通过 Node.jsqueueTrigger函数)。

代码如下所示:

此代码只会排队最后一个toBeQueued,而不是我要排队的每个。

有什么方法可以排队多个项目?

更新

为了清楚起见,我说的是toBeQueued在 的每次迭代中对a 进行排队forEach,而不仅仅是对数组进行排队。是的,Azure Functions 存在问题,因此我无法对数组进行排队,但我有一个解决方法;即,{ items: items }

0 投票
1 回答
901 浏览

json - 如何压缩 azure 队列消息(json 字符串)以从 azure 存储队列中推送和拉取

Azure 存储队列的最大消息大小为64Kb我的消息可以超过这个大小,我正在寻找一个压缩选项

我的代码如下所示

在接收端

我的问题是这种压缩可以在 azure 队列上工作吗?当我们在处理之前将其从队列中拉出时,是否可以在推送队列之前压缩此字符串并在另一端解压缩?

0 投票
1 回答
1685 浏览

c# - 如何获取 Azure 存储队列大小/位置

所以我将一个项目从我的 ASP.NET Web API 发送到 Azure 存储队列,我想向用户提供一些关于他们项目在队列中的位置的反馈,并能够更新他们的位置项目,如果他们回来或类似的东西。

并不是说它与这里的问题有很大关系,但这是我用来将项目放入队列的方法

所以我四处寻找CloudQueueClientCloudQueue但我能找到的只是CloudQueue.ApproximateMessageCount它总是返回空值。

我还尝试了一些谷歌搜索,它总是如何出现入门指南,特别指出我将如何获取队列中项目的大小和位置,所以它甚至可能吗?

0 投票
1 回答
129 浏览

azure - ListQueuesSegmented 与 ListQueues

我正在使用 Azure 存储队列客户端列出所有已创建的队列。SDK中client.ListQueuesSegmented有这两种方法。client.ListQueues两者都允许您使用前缀进行查询。ListQueuesSegmented使用可帮助您查询下一段的令牌。我试图了解在哪种情况下您会使用其中一种。

0 投票
1 回答
2404 浏览

azure-storage - 为什么 Azure 存储队列上的 ApproximateMessageCount 属性可以为空?

标题几乎解释了我的问题:

如果存储队列中没有消息,假设我们能够获取队列引用并建立连接,为什么它不只是返回 0?相反,它返回null.

这是否与消息计数是“近似值”这一事实有关?好奇,胜过一切。

0 投票
1 回答
116 浏览

c# - 在 Task.Run 中创建存储队列使我的处理时间加倍

我有一个项目将产品提要文件处理到我的系统中。对于一个特定的提要文件,整个过程大约需要 40-50 分钟。现在我已经创建了一个WebJob来处理来自提要的图像,并且我正在WebJob通过创建存储客户端将图片 url 从我的第一个项目发送到。当我在我的项目中使用它时,它显着增加了处理时间,所以我尝试将它与Task.Run使用Fire and Forget方法一起使用,但即使现在整个处理时间仍然约为 2 小时。

这是我如何调用创建存储队列的方法。

这是我创建队列消息的代码

我不明白为什么我的处理时间加倍,也找不到解决方法。任何能帮助我解决这个问题的想法都会非常有帮助。