Exponer los valores de configuración de rol como una variable de entorno con XPath

Importante

Cloud Services (clásico) ahora está en desuso para los nuevos clientes y se retirará el 31 de agosto de 2024 para todos los clientes. Las nuevas implementaciones deben utilizar el nuevo modelo de implementación basado en Azure Resource Manager Azure Cloud Services (soporte extendido) .

En el archivo de definición de servicio de un rol web o trabajo en el servicio en la nube, puede exponer los valores de configuración en tiempo de ejecución como variables de entorno. Se admiten los siguientes valores de XPath (que se corresponden con valores de API).

Estos valores de XPath también están disponibles en la biblioteca Microsoft.WindowsAzure.ServiceRuntime .

Aplicación en ejecución en el emulador

Indica que la aplicación se ejecuta en el emulador.

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

Id. de implementación

Recupera el identificador de implementación de la instancia.

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

Id. de rol

Recupera el identificador del rol actual de la instancia.

Tipo Ejemplo
XPath xpath="/RoleEnvironment/CurrentInstance/@id"
Código var id = RoleEnvironment.CurrentRoleInstance.Id;

Actualizar dominio

Recupera el dominio de actualización de la instancia.

Tipo Ejemplo
XPath xpath="/RoleEnvironment/CurrentInstance/@updateDomain"
Código var ud = RoleEnvironment.CurrentRoleInstance.UpdateDomain;

Dominio de error

Recupera el dominio de error de la instancia.

Tipo Ejemplo
XPath xpath="/RoleEnvironment/CurrentInstance/@faultDomain"
Código var fd = RoleEnvironment.CurrentRoleInstance.FaultDomain;

Nombre de rol

Recupera el nombre de rol de las instancias.

Tipo Ejemplo
XPath xpath="/RoleEnvironment/CurrentInstance/@roleName"
Código var rname = RoleEnvironment.CurrentRoleInstance.Role.Name;

Opción de configuración

Recupera el valor de la opción de configuración especificada.

Tipo Ejemplo
XPath xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='Setting1']/@value"
Código var setting = RoleEnvironment.GetConfigurationSettingValue("Setting1");

Ruta de acceso de almacenamiento local

Recupera la ruta de acceso de almacenamiento local de la instancia.

Tipo Ejemplo
XPath xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@path"
Código var localResourcePath = RoleEnvironment.GetLocalResource("LocalStore1").RootPath;

Tamaño del almacenamiento local

Recupera el tamaño del almacenamiento local de la instancia.

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

Protocolo del punto de conexión

Recupera el protocolo del punto de conexión de la instancia.

Tipo Ejemplo
XPath xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@protocol"
Código var prot = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].Protocol;

IP del punto de conexión

Obtiene la dirección IP del punto de conexión especificado.

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

Puerto del punto de conexión

Recupera el puerto del punto de conexión de la instancia.

Tipo Ejemplo
XPath xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@port"
Código var port = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Port;

Ejemplo

Este es un ejemplo de un rol de trabajo que crea una tarea de inicio con una variable de entorno denominada TestIsEmulated establecida en el valor xpath @emulated.

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

Pasos siguientes

Obtenga más información sobre el archivo ServiceConfiguration.cscfg .

Cree un paquete ServicePackage.cspkg .

Habilite Escritorio remoto para un rol.