Поэтому я хочу, чтобы скрипт подключался к очереди и получал сообщения. В приложении .NET я использовал следующую строку для подключения, и все работало хорошо:
sb://host.com/USER;StsEndpoint=https://host.com:9355/USER/;RuntimePort=9354;ManagementPort=9355;SharedSecretIssuer=USER;SharedSecretValue=XXX';
Это довольно большая строка, но она хорошо работает в .NET. Однако для php я заметил, что в документации по Azure php sdk строка подключения должна иметь следующий формат:
DefaultEndpointsProtocol=[http|https];AccountName=[yourAccount];AccountKey=[yourKey]
Я не уверен, как «перевести» большой URL-адрес, который я имею в формате, необходимом для PHP. Я попробовал следующее, но не сработало
DefaultEndpointsProtocol=https://host.com;AccountName=USER;AccountKey=XXX
Кто-нибудь знает, как должна выглядеть строка подключения? заранее спасибо
Я полагаю, что вы смешиваете две вещи — очереди служебной шины в .Net и очереди хранения Azure в PHP. Строка подключения, которую вы пытаетесь использовать в PHP, предназначена для очередей хранения. На основании документации здесь: https://github.com/Azure/azure-sdk-for-php (См. Раздел «Начало работы»), строка подключения для служебной шины должна иметь следующий формат:
Конечная точка = [yourEndpoint]; SharedSecretIssuer = [yourWrapAuthenticationName]; SharedSecretValue = [yourWrapPassword]
Где Конечная точка обычно имеет формат
https: // [yourNamespace] .servicebus.windows.net.
Вот отличная статья, показывающая, как это следует настроить:
https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-php-how-to-use-queues
Конечная точка = [yourEndpoint]; SharedSecretIssuer = [Эмитент по умолчанию]; SharedSecretValue = [Ключ по умолчанию]
В этой статье объясняется настройка соединения ACS, которое потребуется при использовании через PHP: