Невозможно подключиться к Центру событий Azure.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Невозможно подключиться к Центру событий Azure.

Сообщение Anonymous »

Я пытаюсь использовать azure-sdk-for-cpp для подключения к Центру событий Azure. Но это не работает, я получаю сообщение об ошибке «Не удалось открыть объект безопасности на основе утверждений».
Я следую образцам в источниках.
У меня есть только этот простой код, и в GetEventHubProperties выдается исключение:

Код: Выделить всё

Azure::Messaging::EventHubs::ProducerClient producerClient(connectionString, eventhubName);
Azure::Messaging::EventHubs::Models::EventHubProperties eventhubProperties = producerClient.GetEventHubProperties();
На портале Azure я создал группу ресурсов с пространством имен Центров событий. В нем у меня есть концентратор событий под названием «test-985-event-hub», который я использую как eventhubName. Я пробовал разные вещи в качестве ConnectionString: из пространства имен Центров событий - Настройки - Политики общего доступа - RootManageSharedAccessKey - Строка подключения – первичный ключ. Пробовал еще из самого Центра событий - Настройки - Политики общего доступа - было пусто, создал новую политику с Управлением+Отправить+Прослушивание и оттуда Строка подключения-первичный ключ. Я попробовал без «EntityPath» в строке подключения. Я пробовал с ним и с пустым eventhubName, пробовал различные комбинации, но ни одна не работала. Вероятно, мне не хватает какой-то простой конфигурации или чего-то еще...
Чтобы проверить, не является ли это фундаментальной проблемой для моей среды и т. д. Я попробовал что-то отличное от примеров, чтобы создать контейнер больших двоичных объектов с некоторыми такой контент, как:

Код: Выделить всё

auto containerClient = Azure::Storage::Blobs::BlobContainerClient::CreateFromConnectionString(connectionString, containerName);
containerClient.CreateIfNotExists();
for (int j = 0; j < 3; ++j) {
Azure::Storage::Blobs::BlockBlobClient blobClient = containerClient.GetBlockBlobClient(blobName + std::to_string(j));
blobClient.UploadFrom(reinterpret_cast(blobContent.data()), blobContent.size());
}
Там я использую строку подключения из учетной записи хранения, и она работает нормально.
Но строка подключения из учетной записи хранения начинается с «DefaultEndpointsProtocol=https;AccountName=" и, возможно, это что-то очень отличается от строки подключения для Центра событий, которая начинается с "Endpoint=sb://test-985-event-hubs-namespace.servicebus.windows.net/;SharedAccessKeyName=".
Спасибо за любую подсказку, как решить эту первоначальную проблему.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -event-hub
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»