1) 在消费Storage Queue中的数据的时候,如何只过滤出 Subject 为”message/{messageid}这种,去掉subject为”information/{infoid}”这种数据呢?

【答】:因为Storage Queue中并没有Filter功能,所以不能再获取消息时候,再Storage Queue服务端进行过滤。只能由客户端获取到全部消息后,对消息中数据进行解析并过滤处理。这需要在receiveMessages 代码块中处理。

 

2) Storage Queue侧如何设置数据的过期时间(目前看到过去时间为7天,希望可以设置的更久)

【答】:在门户上添加消息时,现在只能设置7天或者是Never Expires。 但是在代码中,您可以设置更长的时间。如:Duration timeToLive = Duration.ofDays(11);

【Azure 存储服务】关于Storage Account Queue使用的几个问题_数据

Java 示例代码片段

// Instantiate a QueueClient which will be
// used to create and manipulate the queue
QueueClient queueClient = new QueueClientBuilder()
.connectionString(connectStr)
.queueName(queueName)
.buildClient();

// // Create the queue
// queueClient.create();
System.out.println("\nAdding messages to the queue...");
for (int i = 0; i < 10; i++) {
Duration timeToLive = Duration.ofDays(11);=Duration.ofSeconds(20);
queueClient.sendMessageWithResponse("messageText is " +i, null, timeToLive, timeout, null);
}

【Azure 存储服务】关于Storage Account Queue使用的几个问题_数据_02

 

 

3) Storage Queue侧有没有关于容量,费用等的一些限制呢?

【答】单个Storage Queue容量的总限制在500TB,消息的大小为64KB,其他的限制见:​​https://docs.azure.cn/zh-cn/storage/queues/scalability-targets#scale-targets-for-queue-storage​​​ ,费用的计算可参考价格部分:​​https://www.azure.cn/pricing/details/storage/queues/​

【Azure 存储服务】关于Storage Account Queue使用的几个问题_Azure 环境_03

 

 

4) 通过Java code是否可以直接从Storage queue 拉取数据到mysql数据库。 

【答】可以的,需要在接收代码块中,可以添加写入MySQL的代码,完成数据输入数据库。

【Azure 存储服务】关于Storage Account Queue使用的几个问题_代码块_04

Source: ​​https://docs.azure.cn/zh-cn/storage/queues/storage-quickstart-queues-java?tabs=powershell%2Cenvironment-variable-windows#receive-and-delete-messages-from-a-queue​

 

【END】

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!