私の知る限り、この情報を提供する直接的な方法はありません。
ただし、使用できる回避策があります。これには、Service Management API のGet Deployment
操作を利用することが含まれます。この操作は、XML とConfiguration
、Base64 エンコード形式のサービス構成ファイルを含む要素の 1 つを返します。この要素を読み取って文字列に変換し、XML を解析してConfigurationSettings
要素を取得できます。その子要素にはすべての設定が含まれています。
このために、Service Management REST API で独自のラッパーを作成するか、Azure Management Library
.
アップデート
Service Configuration File
を使用してすべての構成設定を一覧表示するサンプル コードを次に示しますAzure Management Library
。これは、非常に短い時間で一緒にハッキングされたシンプルなコンソールアプリであるため、多くの改善の余地があります:)。管理証明書には、発行設定ファイルのデータを使用しました。
Azure Management Library
コンソール アプリケーションに Nuget パッケージをインストールするだけです。
インストール パッケージ Microsoft.WindowsAzure.Management.Libraries
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.Management.Compute;
using System.Security.Cryptography.X509Certificates;
using System.Xml.Linq;
namespace ReadConfigurationSettingsUsingAzureManagementLibrary
{
class Program
{
static string subscriptionId = "<subscription-id>";
static string managementCertContents = "<Base64 Encoded Management Certificate String from Publish Setting File>";//Certificate string from Azure Publish Settings file
static string cloudServiceName = "<your cloud service name>";
static string ns = "http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration";
static void Main(string[] args)
{
var managementCetificate = new X509Certificate2(Convert.FromBase64String(managementCertContents));
var credentials = new CertificateCloudCredentials(subscriptionId, managementCetificate);
var computeManagementClient = new ComputeManagementClient(credentials);
var response = computeManagementClient.HostedServices.GetDetailed(cloudServiceName);
var deployment = response.Deployments.FirstOrDefault(d => d.DeploymentSlot == Microsoft.WindowsAzure.Management.Compute.Models.DeploymentSlot.Production);
if (deployment != null)
{
var config = deployment.Configuration;
XElement configXml = XElement.Parse(config);
var roles = configXml.Descendants(XName.Get("Role", ns));
foreach (var role in roles)
{
Console.WriteLine(role.Attribute("name").Value);
Console.WriteLine("-----------------------------");
var configurationSettings = role.Element(XName.Get("ConfigurationSettings", ns));
foreach (var element in configurationSettings.Elements(XName.Get("Setting", ns)))
{
var settingName = element.Attribute("name").Value;
var settingValue = element.Attribute("value").Value;
Console.WriteLine(string.Format("{0} = {1}", settingName, settingValue));
}
Console.WriteLine("==========================================");
}
}
Console.ReadLine();
}
}
}