現在、Windows Azure用のホストされたサービスの自動展開プロセスを進めています。 .cspkg
と.cscfg
ファイルの作成は、msbuild
への呼び出しを使用して完全に機能します。今は管理用REST APIを使用してこれらのファイルをAzureにデプロイする小さな.NETコンソールアプリケーションを作成しています。管理REST API(SSL証明書の問題)を使用してAzureの展開をアップグレードできません。
API自体に問題はありません。私は自分の管理証明書を使ってAPIにリクエストを送ることができます。 .cspkg
ファイルをAzure BLOBストレージにアップロードしてから、Upgrade Deployment
に電話してみます。しかし、私が試すたびに、拇印xyの証明書が見つからないという「400 Bad Request」という応答が出ます。この証明書は、私のカスタムドメイン(DNS CNAME)用にHTTPS用に使用しているSSL証明書(ではなく、管理証明書)です。
そして今、全部が面白い:私は私のVisual Studioで「公開」コマンドを使用してファイルを展開するときに
、問題はありません。 (私はVSからの.cscfg
/.cspkg
ファイルと私のmsbuild
出力からのファイルを比較しました:いくつかのGUIDを除いて、それらは同じです)。さらに、ブラウザでSilverlight Managementの機能を使用すると、APIを使用してアップロードできなかった生成ファイルをアップロードすることもできます。
List Certificates
コールを使用してすべての証明書のリストを取得すると、欠落していると思われる証明書が存在するようです。また、Get Certificate
コールを使用してデータを取得することもできます。
なぜAzureは、Upgrade Deployment
コールを使用しているときに証明書が見つからなかったと伝え続けていますか?誰かが同様のことを経験しましたか?誰もが私のヒントはありますか?前もって感謝します。
<Error xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Code>BadRequest</Code>
<Message>The certitficate with thumbprint 7b232c4a2d6e3deadbeef120d5dbc1fe8049fbea was not found.</Message>
</Error>
がP.P.S:はい、応答内の単語がcertitficate
、ないcertificate
です:
P.S:これは私がAPIを使用する際のAzureが言うことです。
好奇心が強いですが、あなたのサービスの名前は何と思いましたか?プライベートIDとデプロイメント名はどちらもGUID値です。 Hosted Service nameは実際のDNS値です(常に小文字になります)。他の名前は何ですか(ラベル?)。 UpgradeDeploymentを使用する場合、デプロイメント名(guid)が必要です。そうしないと、* BySlotを使用して特定のスロットをポイントできます。 – dunnry
サービスの名前は、プライベートIDまたは展開名とは関係ありません。これらは* deployment *を指し、新しいデプロイメントを作成するたびに変更されます。しかし、ドキュメントでわかるように、GUIDを使用して識別できる展開または展開スロットをアップグレードする場合でも、APIにはサービス名が必要です。URIにオプションの部分がないという事実を考えれば、自分の答えで指定したURIパターンから推測することもできます。私の[screenshot](http://dl.dropbox.com/u/17554533/azure.png)を見て、 "サービス名"と "DNS名"が私に何を意味するのかを確認してください。 – fero
私はあなたが使用しようとしていた名前と唯一の可能な組み合わせの概要を尋ねていました。私はポータルが紛らわしいと思う。幸いにも、あなたはいつも入力を駆動するためにAPI出力を使用することができ、推測する必要はありません。 – dunnry