Share via


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.