こんにちは、私は Windows azure の初心者です。Windows azure でインスタンスを作成し、後で C# コードを使用してプログラムで電源を入れたり切ったりしたいと考えています。WMI を使用してハイパー V サーバーでこれらの操作を実行するコードを作成しましたが、windows azure API を使用して実行する方法がわかりません。これを行うのを手伝ってください。可能であれば、簡単に追跡できるようにコードを教えてください。
1 に答える
答えは次のとおりです。展開内の各役割は特定の VM (作成したコードが展開された Windows 2008 Server) を定義し、各役割には 1 つ以上のインスタンスが必要です。したがって、1 から n インスタンス (ただし 0 ではない) にスケーリングできる限り、これを機能させることができます。
なぜ一種の?インスタンスの電源を切る場合 (例: 4 つのインスタンスから 3 つのインスタンスにする場合)、電源を切るインスタンスを選択的に選択することはできません。したがって、適切なパターンは、ステートレス操作を使用することです。キューから読み取り、何らかの処理を行っているとしましょう。ロール インスタンスの 1 つがシャットダウンされた場合は、キュー メッセージの処理を停止し、処理中のメッセージを (数分以内に) 終了するだけで、インスタンスはシャットダウンされ、他のインスタンスは処理を続行します。
さて、最後の部分です。インスタンス数を変更するには (これまでの説明に問題がないことを前提として)、各ロールのインスタンス数の設定を保持するデプロイ構成を変更する必要があります。C# でこれを行うには、サービス管理 API を呼び出す必要があります。これは REST ベースであり、ここで完全に文書化されています。そうは言っても、これを大幅に簡素化する Windows Azure PowerShell コマンドレットがあり、任意のロール (またはオンプレミスのマシン) から呼び出すことができます。本当にこれらの呼び出しを C# で行いたい場合は、C# で記述されたcsmanageの例を確認してください。