這很重要
截至 2024 年 9 月 1 日,所有客戶的雲端服務 (傳統) 均已淘汰。 從 2024 年 10 月開始,Microsoft 將停止並關閉任何現有的執行中部署,且資料將會永久遺失。 新部署應該使用 Azure Resource Manager 型的新部署模型 Azure 雲端服務 (延伸支援)。
在雲端服務工作角色或 Web 角色服務定義檔中,您可以公開執行階段組態值作為環境變數。 支援下列 XPath 值 (其會對應至 API 值)。
這些 XPath 值也可以透過 Microsoft.WindowsAzure.ServiceRuntime 程式庫來取得。
在模擬器中執行的應用程式
表示應用程式正在模擬器中執行。
| 類型 | 範例 |
|---|---|
| XPath | xpath="/RoleEnvironment/Deployment/@emulated" |
| 程式碼 | var x = RoleEnvironment.IsEmulated; |
部署識別碼
擷取執行個體的部署 ID。
| 類型 | 範例 |
|---|---|
| XPath | xpath="/RoleEnvironment/Deployment/@id" |
| 程式碼 | var deploymentId = RoleEnvironment.DeploymentId; |
角色標識碼
擷取執行個體目前的角色識別碼。
| 類型 | 範例 |
|---|---|
| XPath | xpath="/RoleEnvironment/CurrentInstance/@id" |
| 程式碼 | var id = RoleEnvironment.CurrentRoleInstance.Id; |
更新網域
擷取執行個體的更新域。
| 類型 | 範例 |
|---|---|
| XPath | xpath="/RoleEnvironment/CurrentInstance/@updateDomain" |
| 程式碼 | var ud = RoleEnvironment.CurrentRoleInstance.UpdateDomain; |
故障網域
擷取執行個體的容錯網域。
| 類型 | 範例 |
|---|---|
| XPath | xpath="/RoleEnvironment/CurrentInstance/@faultDomain" |
| 程式碼 | var fd = RoleEnvironment.CurrentRoleInstance.FaultDomain; |
角色名稱
擷取執行個體的角色名稱。
| 類型 | 範例 |
|---|---|
| XPath | xpath="/RoleEnvironment/CurrentInstance/@roleName" |
| 程式碼 | var rname = RoleEnvironment.CurrentRoleInstance.Role.Name; |
組態設定
擷取指定之組態設定的值。
| 類型 | 範例 |
|---|---|
| XPath | xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='Setting1']/@value" |
| 程式碼 | var setting = RoleEnvironment.GetConfigurationSettingValue(“Setting1”): |
本機儲存體路徑
取得執行個體的本機儲存體路徑。
| 類型 | 範例 |
|---|---|
| XPath | xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@path" |
| 程式碼 | var localResourcePath = RoleEnvironment.GetLocalResource(“LocalStore1” )。RootPath; |
本機儲存體大小
取得執行個體的本機儲存體大小。
| 類型 | 範例 |
|---|---|
| XPath | xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='LocalStore1']/@sizeInMB" |
| 程式碼 | var localResourceSizeInMB = RoleEnvironment.GetLocalResource("LocalStore1").MaximumSizeInMegabytes; |
端點通訊協定
取得實例的端點協定。
| 類型 | 範例 |
|---|---|
| XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@protocol" |
| 程式碼 | var prot = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].Protocol; |
端點 IP
取得指定端點的 IP 位址。
| 類型 | 範例 |
|---|---|
| XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@address" |
| 程式碼 | var address = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Address |
端點連接埠
擷取執行個體的端點連接埠。
| 類型 | 範例 |
|---|---|
| XPath | xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='Endpoint1']/@port" |
| 程式碼 | var port = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Port; |
範例
以下工作角色範例會使用名為 TestIsEmulated 的環境變數(設定為 @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>
後續步驟
深入了解 ServiceConfiguration.cscfg 檔案。
建立 ServicePackage.cspkg 封裝。
為角色啟用 遠端桌面 。