2012-11-21 2 views
9

Azure Cloud Services를 프로그래밍 방식으로 관리하고 싶습니다.네이티브 C# API를 사용하여 Azure 클라우드 서비스를 관리 하시겠습니까?

저는 REST API를 알고 있지만 Azure Storage와 마찬가지로 네이티브 C# API를 사용할 수 있는지 궁금합니다.

REST API를 - 호스팅 서비스에 대한 운영 : http://msdn.microsoft.com/en-us/library/windowsazure/ee460812.aspx

또는 REST 아래의 게시물에 설명 된대로 자신을 무슨 API 내가 포장해야합니까? Azure - Cannot programmatically perform VIP Swap

감사합니다 : -

푸른 프로그래밍 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); 
     } 
    } 

답변

1

나는 매우 비슷한 요구 사항을 가지고 있으며, 불행히도이 작업을 수행 할 수있는 래퍼가 없다. 다른 대답에 언급 된 것은 테이블/blob/큐 지원 만있다.

그러나 csmanage라는 깔끔한 해결책이 있습니다.이 기능은 Azure에서 REST API를 사용하는 명령 프롬프트 응용 프로그램으로 Azure에서 관리 할 수 ​​있습니다. 소스를보고 어떻게 완료되었는지 직접 구현할 수 있습니다. 경고의

Link to CSManage on MSDN

말씀 :이 응용 프로그램의 흐름을 파악 꽤 작업입니다하지만 당신은 가야하면, 쉽게 얻을 수 있습니다.

힌트 : CSManageCommand.cs의 라인 104에서 마술이 일어나기 시작하는 곳입니다. 그들은 WCF를 사용하여 app.config에서 볼 수있는 API와 통신합니다. 특정 알려진 명령을 사용하여 찾고 있다면

당신은 그들이 다음과 같은 클래스에서 제시하고 볼 수 있습니다

enter image description here

+0

명령 릿 API를 통해 VM을 관리하거나 Azure CLI 도구 (노드로 작성)를 사용하여 VM을 관리 할 수 ​​있습니다. 그게 내가 사용하는거야. – smcg

+0

감사합니다. csmanage가 필요한 것 같습니다. 이제 코드를 이해하면됩니다. :-) –

-1

예, C# 및 .NET을위한 윈도우 Azure의 API가 있습니다.

Github 페이지 here과 설명서 here을 찾을 수 있습니다.

+0

예,이 파일을 Azure 저장소로 사용하지만 다른 모든 파일이 누락되었습니다. –

+0

다시, 노드 기반 CLI 또는 커맨드 렛 렛 API 또는 다른 것을 찾아야합니다. – smcg

1

당신은 또한 Azure Fluent Management Library 볼 수 있습니다. NuGet 패키지를 사용할 수 있습니다.

+0

Azure Fluent Management Library의 소스 코드를 사용할 수 있는지 알고 있습니까? –

+0

현재 nuget 패키지로 최신 버전인지 확실하지 않지만 https://github.com/azurecoder/fluent-management에서 소스를 찾을 수 있습니다. –

3

2013 년 10 월 현재 Windows Azure Service Management REST API를 래핑하는 일련의 C# 라이브러리가 있습니다.

너겟의 패키지 이름은 Microsoft.WindowsAzure.Management.Libraries입니다.

블로그 게시물 herehere은 약간의 개요를 제공하며 문서는 MSDN에서 찾을 수 있습니다.

질문에 따라 이러한 라이브러리를 사용하면 BLOB/테이블 스토리지와 상호 작용하지 않고 서비스를 관리 할 수 ​​있습니다 (배포 작성, 배포 확장, VIP 스왑 수행 등).

관련 문제