#azure #azure-functions #azureservicebus
#лазурный #azure-функции #azureservicebus
Вопрос:
Я пытаюсь создать несколько разделов на основе параметра Customer ID в моем свойстве Json. Как я могу это сделать?
Комментарии:
1. У меня есть подозрение, что я знаю причину, по которой вы просите об этом, но хочу уточнить перед публикацией, как выстрелить себе в ногу. Чего вы пытаетесь достичь, установив ключ раздела на идентификатор клиента?
2. Привет, есть какие-нибудь обновления? Если мой ответ ответил на ваш вопрос, можете ли вы пометить его как ответ , чтобы завершить этот вопрос? Спасибо.:)
Ответ №1:
Поскольку вы не указали используемый вами язык, я предполагаю, что вы используете 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);
}
}
(Выше приведено консольное приложение, функция аналогична.)