问题标签 [azure-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.
c# - 无法从 Azure 获取队列长度/消息计数
我有一个用例,当当前队列长度低于指定值时,我需要将选定数量的消息排队。由于我在 Azure 中运行,我正在尝试使用该RetrieveApproximateMessageCount()
方法来获取当前消息计数。每次我打电话给这个我都会得到一个例外说明StorageClientException: The specified queue does not exist.
。这是对我所做工作的回顾:
在门户中创建了队列并已成功将消息排队。
在门户中创建了存储帐户,它处于已创建/在线状态
将查询编码如下(使用 http 和 https 选项):
/li>我已经确认名称的大小写正确,没有特殊字符、数字或空格,并且生成的
queue
Url 看起来好像它是根据 API 文档正确形成的(例如http://myaccount.queue.core.windows.net/myqueue )
任何人都可以帮助阐明我做错了什么。
编辑
我已经确认使用MessageFactory
我可以成功创建一个QueueClient
然后入队/出队消息。当我使用CloudStorageAccount
队列时,队列永远不会出现,因此计数和 GetMessage 例程永远不会起作用。我猜这些不是一回事???假设我是对的,我需要测量服务总线队列的长度。那可能吗?
design-patterns - 如何限制每个作业/租户在 Azure 中针对队列工作的工作角色
我有一个多租户天蓝色应用程序,其中可能有许多不同的作业排队。每个作业由许多单独的任务组成,这些任务存储在队列中。
出于用户原因和技术原因,一个特定的工作不应该消耗太多的工作:
用户:不希望用户陷入长期看不到任何进展的庞大工作技术:处理任务涉及访问网络上的一些有限资源,您只能说 10 个同时连接,但您可能有成千上万的任务最终需要这种连接。
为了让它变得更复杂一些,一些工作是“相关的”,因为它们会消耗相同的资源,所以 10 名工人的限制应该跨越这些工作
目前我们为每个作业使用单独的队列,这工作正常,但我们必须创建它们并即时清理它们,并有一个队列让工作人员找到合适的队列
此外,这使得相关工作变得困难/不可能。
有没有一个好的设计模式呢?
c# - 使用从 CloudQueueMessage 派生的类型
可能重复:
在 Azure 队列存储中传递对象消息
我正在研究一个用例,它需要我的队列消息比 Windows Azure 队列消息(CloudQueueMessage 类)提供的属性多一些。我不能使用 CloudQueueMessage 中的大多数属性,因为它们大多受到保护。
所以我想继承 CloudQueueMessage 并将我的额外属性添加到派生类失败。我的派生类如下所示:
我的消息插入和检索代码的其余部分如下所示:
在这里,cloudQueue 是我的 Azure Queue 实例。
消息插入正常,但 azureMessage 始终为空,因为强制转换回我的派生类。
我确实在这里遇到了类似的解决方案,但我还没有尝试过。
这种行为是正常的还是我错过了什么?
azure - 将侦听器写入 Azure 队列
我已经将大多数队列示例视为轮询机制。是否可以将其更改为队列的侦听器。因为轮询可能会影响工人的表现。
.net - Windows azure worker 角色中的多线程
我已经构建了一个 ASP.Net 应用程序,它通过 Azure 辅助角色在本地与 CRM 2011 进行交互。现在它是一个单线程应用程序。我想实现多线程,以便队列中的其他进程也得到异步处理。您能否建议最好的方法是什么以及如何完成。任何参考将不胜感激。
security - Azure:CloudQueue 和安全性,将访问密钥放入 CloudQueueMessage
为了给我的(工人)角色提供一些工作,我将 - 放入队列 - 一条消息,如:
“ connectionString inputContainerName outputContainerName WorkToDo ”
connectionString 是一个天蓝色的连接字符串:
“DefaultEndpointsProtocol=https;AccountName=my_name;AccountKey=my_key”
它是一个本地应用程序,可将此消息放在 Azure 上的 CloudQueue 上。
在 Azure 中的 Workers Roles 读取此 CloudQueue 之后。
这是个好主意吗 ?
这种方式安全吗?
azure - Azure .NET 组件生命周期(CloudQueueClient、CloudQueue 等)
如果我使用 .NET SDK 从 MVC 应用程序添加 Windows Azure 队列项或 blob 存储引用,每个组件应保留多长时间?
对于队列,我们有CloudStorageAccount、CloudQueueClient和CloudQueue。
对于 Blob 存储,我们有CloudStorageAccount、CloudBlobClient和CloudBlobContainer。
我假设最好为每个 Web 请求创建一次每个组件,但现在不知道创建每个项目的成本有多高。我再次假设,例如,使用单例生命周期在 Web 请求之间保持客户端不是一个好计划,但没有什么可做的。
azure - Azure 服务总线和消息会话
我一直在研究 Azure 服务总线队列(不是Azure 存储队列)。我读过的所有细节都表明它支持FIFO 语义,但仅在“消息传递会话”的上下文中。问题是我似乎找不到任何关于这在 Azure 上下文中到底是什么的信息。这是 WCF 构造,还是 Azure 服务总线特有的构造?我假设它与本地交易无关,但我不是 100% 确定。
任何指针都会非常有帮助。谢谢!
design-patterns - 如何防止 Azure 队列积压
我有一个将消息发送到 Azure 队列的 Azure Web 应用程序,并且我有工作人员轮询队列并在消息可用时对其进行处理。在大多数情况下,这工作正常,我对这个设计很满意。
但是,在一种情况下它的效果并不好,我正在寻找有关如何处理这种特定情况的建议:
有时,某个特定用户(我们称他为 Bob)会执行一些操作,这些操作会导致将几条消息发送到队列中,这会产生积压,其他用户必须等待 Bob 的消息被处理,然后才能处理他们的消息. 他们因为 Bob 在队列中发送了许多消息而受到惩罚。
如何改进我的设计以防止一个用户的消息不会导致其他用户的消息延迟?我的第一直觉是为每个用户创建一个队列,但如果我有几千个用户,我不确定这是一个合理的设计。
是否存在任何设计模式来解决这种情况?如果是这样,我可以重用该模式的任何 C# 实现吗?