protected void btnSend_Click(object sender, EventArgs e)
        {
            EventHubClient ehClient = EventHubClient.CreateWithManagedIdentity(new Uri($"sb://{txtNamespace.Text}.servicebus.windows.net/"), txtEventHub.Text);

            ehClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(txtData.Text))).GetAwaiter().GetResult();
            txtOutput.Text = $"{DateTime.Now} - SENT{Environment.NewLine}" + txtOutput.Text;
            ehClient.Close();
        }
        protected void btnReceive_Click(object sender, EventArgs e)
        {
            EventHubClient ehClient   = EventHubClient.CreateWithManagedIdentity(new Uri($"sb://{txtNamespace.Text}.servicebus.windows.net/"), txtEventHub.Text);
            int            partitions = int.Parse(txtPartitions.Text);

            string[] lastOffsets = new string[partitions];

            if (!string.IsNullOrEmpty(hiddenStartingOffset.Value))
            {
                lastOffsets = hiddenStartingOffset.Value.Split(',');
            }

            var totalReceived = 0;

            Parallel.ForEach(Enumerable.Range(0, int.Parse(txtPartitions.Text)), partitionId =>
            {
                var receiver = ehClient.CreateReceiver(PartitionReceiver.DefaultConsumerGroupName, $"{partitionId}", lastOffsets[partitionId] == null ? EventPosition.FromStart() : EventPosition.FromOffset(lastOffsets[partitionId]));
                var messages = receiver.ReceiveAsync(int.MaxValue, TimeSpan.FromSeconds(15)).GetAwaiter().GetResult();

                if (messages != null)
                {
                    foreach (var message in messages)
                    {
                        txtOutput.Text           = $"{DateTime.Now} - RECEIVED PartitionId: {partitionId} Seq#:{message.SystemProperties.SequenceNumber} data:{Encoding.UTF8.GetString(message.Body.Array)}{Environment.NewLine}" + txtOutput.Text;
                        lastOffsets[partitionId] = message.SystemProperties.Offset;
                    }

                    Interlocked.Add(ref totalReceived, messages.Count());
                }

                receiver.Close();
            });

            txtOutput.Text = $"{DateTime.Now} - RECEIVED TOTAL = {totalReceived}{Environment.NewLine}" + txtOutput.Text;

            if (totalReceived > 0)
            {
                hiddenStartingOffset.Value = string.Join(",", lastOffsets);
            }

            ehClient.Close();
        }
        public async Task CreateWithManagedIdentity()
        {
            await using var scope = await EventHubScope.CreateAsync(1);

            #region Snippet:EventHubs_Migrate_T1_ManagedIdentity

            var fullyQualifiedNamespace = "<< NAMESPACE (likely similar to {your-namespace}.servicebus.windows.net) >>";
            var eventHubName            = "<< NAME OF THE EVENT HUB >>";
            /*@@*/
            /*@@*/ fullyQualifiedNamespace = new EventHubsConnectionStringBuilder(TestUtility.EventHubsConnectionString).Endpoint.ToString();
            /*@@*/ eventHubName            = scope.EventHubName;

            EventHubClient client = EventHubClient.CreateWithManagedIdentity(
                new Uri(fullyQualifiedNamespace),
                eventHubName);

            #endregion

            client.Close();
        }
Ejemplo n.º 4
0
        static async Task ManagedIdentityScenarioAsync()
        {
            var ehClient = EventHubClient.CreateWithManagedIdentity(new Uri($"sb://{EventHubNamespace}/"), EventHubName);

            await SendReceiveAsync(ehClient);
        }
Ejemplo n.º 5
0
 private static void Initialize()
 {
     _eventHubClient = EventHubClient.CreateWithManagedIdentity(new Uri(_hostName), _entityPath);
 }