Exponha as definições de configuração de função como uma variável de ambiente com XPath
Importante
Os Serviços na Nuvem (clássicos) foram preteridos para todos os clientes a partir de 1º de setembro de 2024. Todas as implantações em execução existentes serão interrompidas e encerradas pela Microsoft e os dados serão perdidos permanentemente a partir de outubro de 2024. Novas implantações devem usar o novo modelo de implantação baseado no Azure Resource Manager Serviços de Nuvem do Azure (suporte estendido).
No arquivo de definição de serviço de nuvem ou serviço de função Web, você pode expor valores de configuração de tempo de execução como variáveis de ambiente. Os seguintes valores XPath são suportados (que correspondem aos valores da API).
Esses valores XPath também estão disponíveis por meio da biblioteca Microsoft.WindowsAzure.ServiceRuntime .
Aplicativo em execução no emulador
Indica que o aplicativo está sendo executado no emulador.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/Deployment/@emulated" |
Código | var x = RoleEnvironment.IsEmulated; |
ID de implantação
Recupera a ID de implantação da instância.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/Deployment/@id" |
Código | var deploymentId = RoleEnvironment.DeploymentId; |
ID da função
Recupera o ID da função atual para a instância.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@id" |
Código | var id = RoleEnvironment.CurrentRoleInstance.Id; |
Atualizar domínio
Recupera o domínio de atualização da instância.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@updateDomain" |
Código | var ud = RoleEnvironment.CurrentRoleInstance.UpdateDomain; |
Domínio de falha
Recupera o domínio de falha da instância.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@faultDomain" |
Código | var fd = RoleEnvironment.CurrentRoleInstance.FaultDomain; |
Nome da função
Recupera o nome da função das instâncias.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@roleName" |
Código | var rname = RoleEnvironment.CurrentRoleInstance.Role.Name; |
Configuração
Recupera o valor da definição de configuração especificada.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='Setting1']/@value" |
Código | var setting = RoleEnvironment.GetConfigurationSettingValue("Setting1"); |
Caminho de armazenamento local
Recupera o caminho de armazenamento local para a instância.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@path" |
Código | var localResourcePath = RoleEnvironment.GetLocalResource("LocalStore1"). RootPath; |
Tamanho do armazenamento local
Recupera o tamanho do armazenamento local para a instância.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@sizeInMB" |
Código | var localResourceSizeInMB = RoleEnvironment.GetLocalResource("LocalStore1"). MaximumSizeInMegabytes; |
Protocolo de ponto final
Recupera o protocolo de ponto de extremidade para a instância.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@protocol" |
Código | var prot = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"]. Protocolo; |
IP do ponto de extremidade
Obtém o endereço IP do ponto de extremidade especificado.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@address" |
Código | var address = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"]. Endereço IPEndpoint.Address |
Porta do ponto final
Recupera a porta do ponto de extremidade para a instância.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@port" |
Código | var port = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"]. IPEndpoint.Port; |
Exemplo
Aqui está um exemplo de uma função de trabalho que cria uma tarefa de inicialização com uma variável de ambiente chamada TestIsEmulated
definida como o valor @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>
Próximos passos
Saiba mais sobre o arquivo ServiceConfiguration.cscfg .
Crie um pacote ServicePackage.cspkg .
Habilite a área de trabalho remota para uma função.