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);
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 timeout =Duration.ofSeconds(20); queueClient.sendMessageWithResponse("messageText is " +i, null, timeToLive, timeout, null); }
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/
4) 通过Java code是否可以直接从Storage queue 拉取数据到mysql数据库。
【答】可以的,需要在接收代码块中,可以添加写入MySQL的代码,完成数据输入数据库。
【END】