11

我想以编程方式管理我的 Azure 云服务。

我知道 REST API,但我想知道它是否是可用的本机 C# API,就像 Azure 存储一样。

REST API - 托管服务上的操作:http: //msdn.microsoft.com/en-us/library/windowsazure/ee460812.aspx

还是我需要自己包装 REST API,如下文所述?

Azure - 无法以编程方式执行 VIP 交换:Azure - 无法以编程方式执行 VIP 交换

谢谢。


编辑:

CSManage 的建议对我帮助很大。

您可以重用 ServiceManagement 项目并编写自己的客户端(而不是 CSManage)。

使用 ServiceManagementHelper 设置一个通道来执行命令。

例子:

    public static string SubscriptionId { get; set; }
    public static string CertificateThumbprint { get; set; }

    public static X509Certificate2 Certificate { get; set; }

    private void button1_Click(object sender, EventArgs e)
    {
        SubscriptionId = ConfigurationManager.AppSettings["SubscriptionId"];
        CertificateThumbprint = ConfigurationManager.AppSettings["CertificateThumbprint"];

        X509Store certificateStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
        certificateStore.Open(OpenFlags.ReadOnly);
        X509Certificate2Collection certs = certificateStore.Certificates.Find(X509FindType.FindByThumbprint, CertificateThumbprint, false);
        if (certs.Count != 1)
        {
            MessageBox.Show("Client certificate cannot be found. Please check the config file. ");
            return;
        }
        Certificate = certs[0];

        // List Hosted Services
        var channel = ServiceManagementHelper.CreateServiceManagementChannel("WindowsAzureEndPoint", Certificate);
        var lhs = channel.ListHostedServices(SubscriptionId);
        foreach (HostedService hs in lhs)
        {
            MessageBox.Show(hs.ServiceName);
        }
    }
4

4 回答 4

3

截至 2013 年 10 月,有一组 C# 库封装了 Windows Azure 服务管理 REST API。

它在包名称Microsoft.WindowsAzure.Management.Libraries下的 nuget 中可用。

此处此处的博客文章提供了一些概述,文档可以在MSDN上找到。

正如问题所问,这些库允许您管理服务(创建部署、扩展部署、执行 vip 交换等),而不是与 blob/表存储交互。

于 2014-08-14T08:06:12.473 回答
1

您还可以查看Azure Fluent 管理库。有一个 NuGet 包可用。

于 2013-05-24T12:26:34.603 回答
1

我有一个非常相似的要求,不幸的是没有包装器可以让你做到这一点,另一个答案中提到的只有表/blob/队列支持。

但是有一个名为 csmanage 的巧妙解决方案,它是一个命令提示应用程序,它在后台使用 REST API,让您可以管理 Azure 上的几乎所有内容;您可以查看源代码并了解它是如何完成的以及如何自己实现它。

链接到 MSDN 上的 CSManage

警告:掌握应用程序的流程是一项艰巨的任务,但是一旦开始,它就会变得更容易。

提示:看看CSManageCommand.cs第 104 行是魔法开始发生的地方,他们使用 WCF 与 API 进行通信,您可以在app.config.

如果您正在寻找使用某些已知命令,您可以看到它们出现在以下类中:

在此处输入图像描述

于 2012-11-21T14:29:05.687 回答
-2

是的,有一个适用于 C# 和 .NET 的 Windows Azure API。

你可以在这里找到他们的 Github 页面和这里的文档。

于 2012-11-21T14:16:27.323 回答