Rol yapılandırma ayarlarını XPath ile ortam değişkeni olarak kullanıma sunma

Önemli

Cloud Services (klasik) artık yeni müşteriler için kullanımdan kaldırılmıştır ve tüm müşteriler için 31 Ağustos 2024'te kullanımdan kaldırılacaktır. Yeni dağıtımlarda yeni Azure Resource Manager tabanlı dağıtım modeli Azure Cloud Services (genişletilmiş destek) kullanılmalıdır.

Bulut hizmeti çalışanı veya web rolü hizmeti tanım dosyasında çalışma zamanı yapılandırma değerlerini ortam değişkenleri olarak kullanıma açabilirsiniz. Aşağıdaki XPath değerleri desteklenir (API değerlerine karşılık gelir).

Bu XPath değerleri Microsoft.WindowsAzure.ServiceRuntime kitaplığı aracılığıyla da kullanılabilir.

Öykünücüde çalışan uygulama

Uygulamanın öykünücüde çalıştığını gösterir.

Tür Örnek
XPath xpath="/RoleEnvironment/Deployment/@emulated"
Kod var x = RoleEnvironment.IsEmulated;

Dağıtım Kimliği

Örneğin dağıtım kimliğini alır.

Tür Örnek
XPath xpath="/RoleEnvironment/Deployment/@id"
Kod var deploymentId = RoleEnvironment.DeploymentId;

Rol Kimliği

Örneğin geçerli rol kimliğini alır.

Tür Örnek
XPath xpath="/RoleEnvironment/CurrentInstance/@id"
Kod var id = RoleEnvironment.CurrentRoleInstance.Id;

Etki alanını güncelleştirme

Örneğin güncelleştirme etki alanını alır.

Tür Örnek
XPath xpath="/RoleEnvironment/CurrentInstance/@updateDomain"
Kod var ud = RoleEnvironment.CurrentRoleInstance.UpdateDomain;

Hata etki alanı

Örneğin hata etki alanını alır.

Tür Örnek
XPath xpath="/RoleEnvironment/CurrentInstance/@faultDomain"
Kod var fd = RoleEnvironment.CurrentRoleInstance.FaultDomain;

Rol adı

Örneklerin rol adını alır.

Tür Örnek
XPath xpath="/RoleEnvironment/CurrentInstance/@roleName"
Kod var rname = RoleEnvironment.CurrentRoleInstance.Role.Name;

Yapılandırma ayarı

Belirtilen yapılandırma ayarının değerini alır.

Tür Örnek
XPath xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='Setting1']/@value"
Kod var setting = RoleEnvironment.GetConfigurationSettingValue("Setting1");

Yerel depolama yolu

Örneğin yerel depolama yolunu alır.

Tür Örnek
XPath xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@path"
Kod var localResourcePath = RoleEnvironment.GetLocalResource("LocalStore1"). RootPath;

Yerel depolama boyutu

Örneğin yerel depolama boyutunu alır.

Tür Örnek
XPath xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@sizeInMB"
Kod var localResourceSizeInMB = RoleEnvironment.GetLocalResource("LocalStore1"). MaximumSizeInMegabytes;

Uç nokta protokolü

Örneğin uç nokta protokollerini alır.

Tür Örnek
XPath xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@protocol"
Kod var prot = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"]. Protokolü;

Uç nokta IP'i

Belirtilen uç noktanın IP adresini alır.

Tür Örnek
XPath xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@address"
Kod var address = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"]. IPEndpoint.Address

Uç nokta bağlantı noktası

Örneğin uç nokta bağlantı noktasını alır.

Tür Örnek
XPath xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@port"
Kod var port = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"]. IPEndpoint.Port;

Örnek

Aşağıda, @emulated xpath değerine ayarlanmış adlı TestIsEmulated bir ortam değişkeniyle başlangıç görevi oluşturan bir çalışan rolü örneği verilmiştir.

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

Sonraki adımlar

ServiceConfiguration.cscfg dosyası hakkında daha fazla bilgi edinin.

ServicePackage.cspkg paketi oluşturun.

Bir rol için uzak masaüstünü etkinleştirme.