以编程方式访问azure的最简单方法

时间:2016-06-07 23:41:01

标签: azure azure-sdk-.net

我有以下代码:

var client = new WebSiteManagementClient(creds);
var data = client.WebSites.Get("eastuswebspace", "some-site", new WebSiteGetParameters());

我需要生成凭据,我是具有完全访问权限的管理员。只有一个应用程序访问我的数据并需要生成TokenCloudCredentials。

我尝试注册一个应用程序,但得到了一个禁止的#34;成功生成令牌后出错。有没有最简单的方法(像Github,生成一个令牌并完成它?)。

感谢。

2 个答案:

答案 0 :(得分:2)

我设法使其与以下代码段一起使用。它只需要证书。检查这是否适合您。 您将需要Azure发布设置文件(从中获取指纹)。

public const string base64EncodedCertificate = "frompublishsettingsfile";
    public const string subscriptionId = "";

    static SubscriptionCloudCredentials getCredentials()
    {
        return new CertificateCloudCredentials(subscriptionId, new X509Certificate2(Convert.FromBase64String(base64EncodedCertificate)));
    }
    static void Main(string[] args)
    {
        WebSiteManagementClient client = new WebSiteManagementClient(getCredentials());

答案 1 :(得分:2)

要生成令牌凭据,您需要创建证书并将其上载到Azure上。

首先,您可以使用以下命令行创建证书:

makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -len 2048 -ss My "<CertificateName>.cer"

然后,有必要按照此process将其上传到Azure上。上传后,您可以使用此power shell命令行获取publishsettings文件以获取证书管理指纹:

Get-AzurePusblishSettingsFile

以下屏幕截图显示了在publishprofile中找到证书管理指纹的位置:

enter image description here

然后,您可以使用 Alex Belotserkovskiy 提出的代码通过Azure Management SDK进行身份验证。

Here是一篇完整的博客文章,其中显示了所有步骤。