Expor definições de configuração de funções como uma variável de ambiente com XPath
Importante
Serviços Cloud (clássico) é agora preterido para novos clientes e será descontinuado a 31 de agosto de 2024 para todos os clientes. As novas implementações devem utilizar o novo modelo de implementação baseado em Resource Manager do Azure Serviços Cloud (suporte alargado).
No ficheiro de definição de serviço de função Web ou de trabalho do serviço de função cloud, pode expor valores de configuração de runtime como variáveis de ambiente. São suportados os seguintes valores XPath (que correspondem aos valores da API).
Estes valores XPath também estão disponíveis através da biblioteca Microsoft.WindowsAzure.ServiceRuntime .
Aplicação em execução no emulador
Indica que a aplicação está em execução no emulador.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/Deployment/@emulated" |
Código | var x = RoleEnvironment.IsEmulated; |
ID da Implementação
Obtém o ID de implementação da instância.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/Deployment/@id" |
Código | var deploymentId = RoleEnvironment.DeploymentId; |
ID da Função
Obtém o ID de função atual da instância.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@id" |
Código | var id = RoleEnvironment.CurrentRoleInstance.Id; |
Atualizar domínio
Obtém 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
Obtém 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
Obtém o nome da função das instâncias.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/@roleName" |
Código | var rname = RoleEnvironment.CurrentRoleInstance.Role.Name; |
Definição de configuração
Obtém o valor da definição de configuração especificada.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='Setting1']/@value" |
Código | definição de var = RoleEnvironment.GetConfigurationSettingValue("Setting1"); |
Caminho de armazenamento local
Obtém 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
Obtém o tamanho do armazenamento local da 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
Obtém o protocolo de ponto final da 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 final
Obtém o endereço IP do ponto final especificado.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@address" |
Código | endereço var = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"]. IPEndpoint.Address |
Porta de ponto final
Obtém a porta de ponto final da instância.
Tipo | Exemplo |
---|---|
XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@port" |
Código | var port = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"]. IPEndpoint.Port; |
Exemplo
Eis um exemplo de uma função de trabalho que cria uma tarefa de arranque com uma variável de ambiente denominada 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>
Passos seguintes
Saiba mais sobre o ficheiro ServiceConfiguration.cscfg .
Crie um pacote ServicePackage.cspkg .
Ativar o ambiente de trabalho remoto para uma função.