Partilhar via


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.