Предоставление параметров конфигурации ролей как переменной среды с помощью XPath
Внимание
Облачные службы (классическая версия) теперь устарела для всех клиентов с 1 сентября 2024 года. Все существующие запущенные развертывания будут остановлены и завершены корпорацией Майкрософт, и данные будут постоянно потеряны начиная с октября 2024 года. Для новых развертываний следует использовать Облачные службы Azure с расширенной поддержкой. Это новая модель развертывания на основе Azure Resource Manager.
В файле определения службы рабочей роли или веб-роли облачной службы можно предоставить значения конфигурации среды выполнения как переменные среды. Поддерживаются следующие значения XPath (которые соответствуют значениям API).
Эти значения XPath также можно использовать с помощью библиотеки Microsoft.WindowsAzure.ServiceRuntime .
Приложение, запущенное в эмуляторе
Указывает, что приложение выполняется в эмуляторе.
Тип | Пример |
---|---|
XPath | xpath="/RoleEnvironment/Deployment/@emulated" |
Код | var x = RoleEnvironment.IsEmulated; |
Идентификатор развертывания
Получает идентификатор развертывания для экземпляра.
Тип | Пример |
---|---|
XPath | xpath="/RoleEnvironment/Deployment/@id" |
Код | var deploymentId = RoleEnvironment.DeploymentId; |
Идентификатор роли
Получает идентификатор текущей роли для экземпляра.
Тип | Пример |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@id" |
Код | var id = RoleEnvironment.CurrentRoleInstance.Id; |
Обновление домена
Получает домен обновления для экземпляра.
Тип | Пример |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@updateDomain" |
Код | var ud = RoleEnvironment.CurrentRoleInstance.UpdateDomain; |
Домен сбоя
Получает домен сбоя для экземпляра.
Тип | Пример |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@faultDomain" |
Код | var fd = RoleEnvironment.CurrentRoleInstance.FaultDomain; |
Имя роли
Получает имя роли для экземпляров.
Тип | Пример |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@roleName" |
Код | var rname = RoleEnvironment.CurrentRoleInstance.Role.Name; |
Параметр конфигурации
Получает значение указанного параметра конфигурации.
Тип | Пример |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='Setting1']/@value" |
Код | var setting = RoleEnvironment.GetConfigurationSettingValue("Setting1"); |
Путь к локальному хранилищу
Получает путь к локальному хранилищу для экземпляра.
Тип | Пример |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@path" |
Код | var localResourcePath = RoleEnvironment.GetLocalResource("LocalStore1").RootPath; |
Размер локального хранилища
Получает размер локального хранилища для экземпляра.
Тип | Пример |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@sizeInMB" |
Код | var localResourceSizeInMB = RoleEnvironment.GetLocalResource("LocalStore1").MaximumSizeInMegabytes; |
Протокол конечной точки
Получает протокол конечной точки для экземпляра.
Тип | Пример |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@protocol" |
Код | var prot = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].Protocol; |
IP-адрес конечной точки
Получает IP-адрес указанной конечной точки.
Тип | Пример |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@address" |
Код | var address = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Address |
Порт конечной точки
Получает порт конечной точки для экземпляра.
Тип | Пример |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@port" |
Код | var port = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Port; |
Пример
Ниже приведен пример рабочей роли, создающей задачу запуска с переменной среды с именем TestIsEmulated
@emulated xpath.
<WorkerRole name="Role1">
<ConfigurationSettings>
<Setting name="Setting1" />
</ConfigurationSettings>
<LocalResources>
<LocalStorage name="LocalStore1" sizeInMB="1024"/>
</LocalResources>
<Endpoints>
<InternalEndpoint name="Endpoint1" protocol="tcp" />
</Endpoints>
<Startup>
<Task commandLine="example.cmd inputParm">
<Environment>
<Variable name="TestConstant" value="Constant"/>
<Variable name="TestEmptyValue" value=""/>
<Variable name="TestIsEmulated">
<RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated"/>
</Variable>
...
</Environment>
</Task>
</Startup>
<Runtime>
<Environment>
<Variable name="TestConstant" value="Constant"/>
<Variable name="TestEmptyValue" value=""/>
<Variable name="TestIsEmulated">
<RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated"/>
</Variable>
...
</Environment>
</Runtime>
...
</WorkerRole>
Следующие шаги
Узнайте больше о файле ServiceConfiguration.cscfg .
Создайте пакет ServicePackage.cspkg .
Включите удаленный рабочий стол для роли.