Esporre le impostazioni di configurazione del ruolo come una variabile di ambiente con XPath

Importante

Servizi cloud (versione classica) è ora deprecato per i nuovi clienti e verrà ritirato il 31 agosto 2024 per tutti i clienti. Le nuove distribuzioni devono usare il nuovo modello di distribuzione basato su Azure Resource Manager, Servizi cloud di Azure (supporto "Extended").

Nel file di definizione del servzio del ruolo di lavoro o del ruolo Web del servizio cloud è possibile esporre i valori di configurazione di runtime come variabili di ambiente. Sono supportati i valori XPath seguenti, che corrispondono ai valori di API.

Questi valori XPath sono disponibili anche tramite la libreria Microsoft.WindowsAzure.ServiceRuntime .

App in esecuzione nell'emulatore

Indica che l'app è in esecuzione nell'emulatore.

Type Esempio
XPath xpath="/RoleEnvironment/Deployment/@emulated"
Codice var x = RoleEnvironment.IsEmulated;

ID distribuzione

Recupera l'ID distribuzione per l'istanza.

Type Esempio
XPath xpath="/RoleEnvironment/Deployment/@id"
Codice var deploymentId = RoleEnvironment.DeploymentId;

ID ruolo

Recupera l'ID del ruolo corrente per l'istanza.

Type Esempio
XPath xpath="/RoleEnvironment/CurrentInstance/@id"
Codice var id = RoleEnvironment.CurrentRoleInstance.Id;

Aggiornamento dominio

Recupera il dominio di aggiornamento dell'istanza.

Type Esempio
XPath xpath="/RoleEnvironment/CurrentInstance/@updateDomain"
Codice var ud = RoleEnvironment.CurrentRoleInstance.UpdateDomain;

Dominio di errore

Recupera il dominio di errore dell'istanza.

Type Esempio
XPath xpath="/RoleEnvironment/CurrentInstance/@faultDomain"
Codice var fd = RoleEnvironment.CurrentRoleInstance.FaultDomain;

Nome ruolo

Recupera il nome del ruolo dell'istanza.

Type Esempio
XPath xpath="/RoleEnvironment/CurrentInstance/@roleName"
Codice var rname = RoleEnvironment.CurrentRoleInstance.Role.Name;

Impostazione di configurazione

Recupera il valore dell'impostazione di configurazione specificata.

Type Esempio
XPath xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='Setting1']/@value"
Codice var setting = RoleEnvironment.GetConfigurationSettingValue("Setting1");

Percorso di archiviazione locale

Recupera il percorso di archiviazione locale per l'istanza.

Type Esempio
XPath xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@path"
Codice var localResourcePath = RoleEnvironment.GetLocalResource("LocalStore1").RootPath;

Dimensioni di archiviazione locale

Recupera le dimensioni di archiviazione locale per l'istanza.

Type Esempio
XPath xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@sizeInMB"
Codice var localResourceSizeInMB = RoleEnvironment.GetLocalResource("LocalStore1").MaximumSizeInMegabytes;

Protocollo di endpoint

Recupera il protocollo di endpoint per l'istanza.

Type Esempio
XPath xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@protocol"
Codice var prot = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].Protocol;

IP dell'endpoint

Ottiene l'indirizzo IP dell'endpoint specificato.

Type Esempio
XPath xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@address"
Codice var address = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Address

Porta dell'endpoint

Recupera la porta dell'endpoint per l'istanza.

Type Esempio
XPath xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@port"
Codice var port = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Port;

Esempio

Ecco un esempio di un ruolo di lavoro che crea un'attività di avvio con una variabile di ambiente denominata TestIsEmulated impostata sul valore di 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>

Passaggi successivi

Altre informazioni sul file ServiceConfiguration.cscfg .

Creare un pacchetto ServicePackage.cspkg .

Abilitare Desktop remoto per un ruolo.