Compartilhar via


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. Todas as implantações em execução existentes serão interrompidas e desligadas pela Microsoft e os dados serão permanentemente perdidos 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 do trabalhador de nuvem ou função web, é possível expor os valores de configuração de tempo de execução 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.

Tipo Exemplo
XPath xpath="/RoleEnvironment/Deployment/@emulated"
Código var x = RoleEnvironment.IsEmulated;

ID da implementação

Recupera o identificador de implantação da instância.

Tipo Exemplo
XPath xpath="/RoleEnvironment/Deployment/@id"
Código var deploymentId = RoleEnvironment.DeploymentId;

ID da função

Recupera a 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

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 configuração de var = RoleEnvironment.GetConfigurationSettingValue("Setting1");

Caminho do armazenamento local

Recupera o caminho de armazenamento local da 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 da instância.

Tipo Exemplo
XPath xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@sizeInMB"
Código var localResourceSizeInMB = RoleEnvironment.GetLocalResource("LocalStore1").MaximumSizeInMegabytes;

Protocolo de endpoint

Recupera o protocolo do endpoint da instância.

Tipo 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 acesso especificado.

Tipo Exemplo
XPath xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@address"
Código var address = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Address

Porta do endpoint

Recupera a porta do endpoint 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

Aqui está um exemplo de uma função de trabalhador que cria uma tarefa de inicialização com uma variável de ambiente chamada TestIsEmulated, configurada para 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.