azure - 基于客户 ID 的 Azure 服务总线队列分区
问题描述
我正在尝试根据我的 Json 属性上的客户 ID 参数创建多个分区。我怎样才能做到这一点 ?
解决方案
由于您没有具体说明您使用的语言,所以我假设您使用的是 java。
首先,在 azure 上创建一个服务总线队列。
并使用以下依赖项:(我基于 Maven。)
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-servicebus</artifactId>
<version>7.0.0</version>
</dependency>
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.5</version>
</dependency>
</dependencies>
这是代码:
package bowmantest;
import com.azure.messaging.servicebus.*;
import com.azure.messaging.servicebus.models.*;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
import javax.json.JsonObject;
import javax.json.Json;
import java.util.Arrays;
import java.util.List;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
//Create a json and get the value.
JsonObject testjson = Json.createObjectBuilder()
.add("CustomID", "bowmantestPK").build();
//String str = testjson.get("CustomID").toString();
String str = testjson.getString("CustomID");
String connectionString = "Endpoint=sb://bowman1012.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=X/NHgQ4AQxul6YlMsUofD+JNE20Tovnzx3g2gDt8qyY=";
String queueName = "testbowman";
// create a Service Bus Sender client for the queue
ServiceBusSenderClient senderClient = new ServiceBusClientBuilder()
.connectionString(connectionString)
.sender()
.queueName(queueName)
.buildClient();
ServiceBusMessage servicebusmessage = new ServiceBusMessage("Hello, World!");
servicebusmessage.setPartitionKey(str);
// send one message to the queue
senderClient.sendMessage(servicebusmessage);
System.out.println("Sent a single message to the queue: " + queueName);
}
}
(上面是控制台应用,功能类似。)
推荐阅读
- elasticsearch - Elasticsearch 无痛脚本更新并进行一次 POST 调用
- javascript - [call] 方法如何与 Vue JS 中的类组件一起使用?
- salesforce - 如何将值从 Lightning Web 组件传递到流变量?
- jquery - Datatable 的界面无法正常工作
- javascript - 有没有办法使用 h.264 编解码器恢复实时 h264 播放(客户端重新加入)?
- excel - 如何在 MS Excel 中将特定数据从一个 Excel 工作表传输到另一个工作表?
- c++ - 单个父类中有多个相同的类实例
- sikuli - Sikuli 如何使用“而不是”和“而不”
- linux - 如何忽略以 | 分隔的文件中的列 在使用导入命令替换 db2 表中的数据时
- flutter - 一旦视图更改,颤动数字时钟小部件就会导致错误