我们正在开发一个多租户应用程序,其中 eventthub 将在不同租户之间共享。我们将在租户之间分配分区。每个租户都会在不同的分区上发送消息。我们想在分区级别对租户进行身份验证。如 Microsoft 网站上所述,我们根据租户 ID 定义了分区键。但问题不仅仅是一个分区键在同一个分区上发送消息。不应该是这样。理想情况下,每个分区键都应该映射到不同的分区。
var serviceNamespace = "namespace name here";
var hubName = "hub name here";
var deviceName = "device name here";
var sasToken = "SAS TOKEN HERE";
Mymessage subGroup1 = CreateMessage();
var factory = MessagingFactory.Create(ServiceBusEnvironment.CreateServiceUri("sb", serviceNamespace, ""), new MessagingFactorySettings
{
TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider(sasToken),
TransportType = TransportType.Amqp
});
var client = factory.CreateEventHubClient(String.Format("{0}/publishers/{1}", hubName, deviceName));
var data = new EventData(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(subGroup1)));
data.PartitionKey = "jeep";
client.Send(data);
请帮助我了解我的方法有什么问题。