#azure #azure-web-roles #azure-worker-roles #azure-cloud-services
#azure #azure-веб-роли #azure-рабочие роли #azure-облачные службы
Вопрос:
У нас есть требование регистрировать имя облачной службы, в которой развернута веб-роль.
Мы получаем имя роли и идентификатор экземпляра роли из класса RoleEnvironment в библиотеке Azure ServiceRuntime. Но не удается найти имя облачной службы.
Ответ №1:
Вы не можете найти эту информацию через RoleEnvironment
класс. Для этой цели вам потребуется использовать Service Management API
. По сути, хитрость заключается в том, чтобы получить идентификатор развертывания из RoleEnvironment
класса, а затем вызвать операции API управления службами, чтобы
- Сначала перечислите облачные службы в подписке
- Затем выполните итерацию по каждой облачной службе, чтобы получить ее свойства развертывания.
- Найдите службу с соответствующим идентификатором развертывания.
Это дало бы вам необходимую информацию.
Чтобы вызвать операции API управления службами, вы могли бы использовать Azure Management Library
или написать свою собственную оболочку REST. Давным-давно я опубликовал сообщение в блоге, в котором я сделал аналогичную вещь, используя REST API: http://gauravmantri.com/2012/03/16/programmatically-finding-deployment-slot-from-code-running-in-windows-azure/ .