Получить имя облачной службы в веб-роли

#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/ .