0

RESTインターフェイスを介してAzure仮想マシンを再起動/再起動しようとしています。

Azureポータルを介して仮想マシンを作成しましたが、左側の[仮想マシン]タブで実行されているように見えます。

この操作に使用しているURLは次のとおりです。

https://management.core.windows.net/ {my-subscription-guid} / services / hostsedservices / cloudvm-test / deployments / cloudvm-test / roles / cloudvm-test / Operations

「cloudvm-test」は、ホストされたサービス名、デプロイメント名、およびロール名として繰り返されていることがわかります。これは、Get HostedServicePropertiesを呼び出したときに返されるxmlにこのように表示されるためです。仮想マシンは従来のホスト型サービスではありませんが、このxmlに表示されるため、そこで見つけた値を使用します。私が懸念していることの1つは、URLを正しく作成しているかどうかです。

とにかく、上記のURLを使用して、期待どおりにリクエストを作成し、次の本文をPOSTします。

<RestartRoleOperation xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<OperationType>RestartRoleOperation</OperationType></RestartRoleOperation>

私が受け取るエラーは404で、「リソースサービス名hostedservicesはサポートされていません」と述べています。

それは本当に重要なことではありませんが、私はObjective Cで書いています。C#の例があれば、うまく対処できます。

4

1 に答える 1

4

代わりに.../roles/roleName/...使用する必要があります.../roleInstances/roleName ....( UriパスでロールroleInstancesに置き換えます)。

VM関連のドキュメントには、このような小さな間違いがたくさんあります。

ちなみに、仮想マシンを使用するには、「ホステッドサービス」が必要です。したがって、REST APIを使用してVMを作成しようとすると、既存のホステッドサービスを指定する必要があることがわかります。したがって、最初にホステッドサービスを作成してから、それに仮想マシンをデプロイする必要があります。ポータルがその小さな詳細を私たちから隠しているので、それは少し混乱しています。ただし、古いポータルにアクセスすると、作成した各仮想VMの背後に実際にホストされたサービスがあることがわかります。そのホストされたサービスは、その中のすべてのVMを削除するまで、新しいポータルに「クラウドサービス」として表示されません...

于 2012-10-24T19:34:27.317 に答える