问题标签 [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.
azure - CloudQueueMessage.GetMessagesAsync 挂起,而同步版本没有
在尝试从本地存储队列中检索消息时,我遇到了一些难以解释的奇怪现象。我相当确定这不会在使用实际 Azure 队列的生产环境中发生。
特别是导致此问题的行是:
它将什么都不做,似乎永远不会回来。但是,将其替换为:
完成后返回,看起来很好。
我在这里使用 await 对吗?任何想法为什么这不起作用?
我正在使用 Windows Azure SDK 2.8 和 Windows Azure Storage Emulator 4.2.0.0,以防它提供任何线索。
azure - Azure 调度程序作业集合与资源管理器部署模型存储队列的集成
我正在尝试创建一个Azure Scheduler Job
具有Storage queue
操作的新帐户,但我能够从 Azure 订阅中选择的唯一存储帐户是“经典”存储帐户,我无法选择“资源管理器”存储帐户。
Azure Scheduler Job
s 与“资源管理”存储帐户不兼容吗?
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
背景
c# - 如何使用 Azure 存储队列发送 XML 文件?
我需要在两台服务器之间发送 xml 文件。这些文件最大可达 1mb。
我正在考虑使用 Azure 存储队列作为这些文件的中间目的地,但读到消息大小有 64kb 的限制。我想发送超过 64kb 的消息的要求并不少见。
有没有办法绕过限制?也许压缩?
node.js - 我可以将 Azure 函数的一次运行中的多个项目排队吗?
我有一个 Node.js timerTrigger
Azure 函数,它处理集合并将处理结果排队以供进一步处理(通过 Node.jsqueueTrigger
函数)。
代码如下所示:
此代码只会排队最后一个toBeQueued
,而不是我要排队的每个。
有什么方法可以排队多个项目?
更新
为了清楚起见,我说的是toBeQueued
在 的每次迭代中对a 进行排队forEach
,而不仅仅是对数组进行排队。是的,Azure Functions 存在问题,因此我无法对数组进行排队,但我有一个解决方法;即,{ items: items }
。
json - 如何压缩 azure 队列消息(json 字符串)以从 azure 存储队列中推送和拉取
Azure 存储队列的最大消息大小为64Kb
我的消息可以超过这个大小,我正在寻找一个压缩选项
我的代码如下所示
在接收端
我的问题是这种压缩可以在 azure 队列上工作吗?当我们在处理之前将其从队列中拉出时,是否可以在推送队列之前压缩此字符串并在另一端解压缩?
c# - 如何获取 Azure 存储队列大小/位置
所以我将一个项目从我的 ASP.NET Web API 发送到 Azure 存储队列,我想向用户提供一些关于他们项目在队列中的位置的反馈,并能够更新他们的位置项目,如果他们回来或类似的东西。
并不是说它与这里的问题有很大关系,但这是我用来将项目放入队列的方法
所以我四处寻找CloudQueueClient
,CloudQueue
但我能找到的只是CloudQueue.ApproximateMessageCount
它总是返回空值。
我还尝试了一些谷歌搜索,它总是如何出现入门指南,特别指出我将如何获取队列中项目的大小和位置,所以它甚至可能吗?
azure - ListQueuesSegmented 与 ListQueues
我正在使用 Azure 存储队列客户端列出所有已创建的队列。SDK中client.ListQueuesSegmented
有这两种方法。client.ListQueues
两者都允许您使用前缀进行查询。ListQueuesSegmented
使用可帮助您查询下一段的令牌。我试图了解在哪种情况下您会使用其中一种。
c# - 在 Task.Run 中创建存储队列使我的处理时间加倍
我有一个项目将产品提要文件处理到我的系统中。对于一个特定的提要文件,整个过程大约需要 40-50 分钟。现在我已经创建了一个WebJob
来处理来自提要的图像,并且我正在WebJob
通过创建存储客户端将图片 url 从我的第一个项目发送到。当我在我的项目中使用它时,它显着增加了处理时间,所以我尝试将它与Task.Run
使用Fire and Forget
方法一起使用,但即使现在整个处理时间仍然约为 2 小时。
这是我如何调用创建存储队列的方法。
这是我创建队列消息的代码
我不明白为什么我的处理时间加倍,也找不到解决方法。任何能帮助我解决这个问题的想法都会非常有帮助。