Expor as definições de configuração da função como uma variável de ambiente com o XPath
Importante
Os Serviços de Nuvem (clássicos) estão obsoletos para todos os clientes desde 1º de setembro de 2024. Qualquer implantação em execução existente será interrompida e desligada pela Microsoft e os dados serão perdidos permanentemente a partir de outubro de 2024. As 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 função web ou do trabalho do serviço de nuvem, é possível expor os valores de configuração do runtime como variáveis de ambiente. Há suporte para os valores do XPath a seguir (que correspondem aos valores da API).
Esses valores do 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á em execução no emulador.
Type | 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.
Type | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/Deployment/@id" |
Código | var deploymentId = RoleEnvironment.DeploymentId; |
ID de Função
Recupera a ID de função atual da instância.
Type | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@id" |
Código | var id = RoleEnvironment.CurrentRoleInstance.Id; |
Domínio de atualização
Recupera o domínio de atualização da instância.
Type | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@updateDomain" |
Código | var ud = RoleEnvironment.CurrentRoleInstance.UpdateDomain; |
Domínios de falha
Recupera o domínio de falha da instância.
Type | 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.
Type | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@roleName" |
Código | var rname = RoleEnvironment.CurrentRoleInstance.Role.Name; |
Definição de configuração
Recupera o valor da definição de configuração especificada.
Type | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='Setting1']/@value" |
Código | var setting = RoleEnvironment.GetConfigurationSettingValue("Setting1"); |
Caminho do armazenamento local
Recupera o caminho do armazenamento local da instância.
Type | 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 da instância.
Type | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@sizeInMB" |
Código | var localResourceSizeInMB = RoleEnvironment.GetLocalResource("LocalStore1").MaximumSizeInMegabytes; |
Protocolo do ponto de extremidade
Recupera o protocolo do ponto de extremidade da instância.
Type | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@protocol" |
Código | var prot = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].Protocol; |
IP do ponto de extremidade
Obtém o endereço IP do ponto de extremidade especificado.
Type | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@address" |
Código | var address = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Address |
Porta do ponto de extremidade
Recupera a porta do ponto de extremidade da instância.
Type | 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 um 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óximas etapas
Saiba mais sobre o arquivo ServiceConfiguration.cscfg .
Crie um pacote ServicePackage.cspkg .
Habilite a área de trabalho remota para uma função.