1

自動Azureデプロイとスワップツールを作成する作業がありましたが、C#とAzure Resource Managerを使用してWebAPIサーバーに追加したいと思います。 しかし、ドキュメントは限られているようです。例えばAzure Web配置/バックアップ/ログの管理のガイダンス

、以下ではこの方法が唯一の7の結果を返すことをグーグルでARMs BeginSwapSlotWithProduction()

ためのリンクです!

Azure PowerShellのコマンドレットは、文書化されています。

そしてそうAzureのリソースマネージャは、テンプレートです。 < - タイプセーフではありません。

私はPowershellをインラインでC#で使用することを検討しました。here. しかし、私はシステムと戦っているようです。

この質問をオピニオンベースにしないようにしています。ここで言及していない他の選択肢がありますか?

  • Azureのリソースマネージャ(流暢ベース)
  • Azureのリソースマネージャ(弱い型指定)リソースマネージャのテンプレートと
  • AzureのPowerShellの
  • AzureのリソースマネージャREST。

基本的に、Azureとのやりとりを行うための、文書化された、強く型付けされた方法を探しています。

答えて

1

WebAppをスワップまたはデプロイする場合は、Microsoft.Azure.Management.FluentMicrosoft.Azure.Management.ResourceManager.Fluentを使用できます。また、github Azure SDKからデモコードを取得することもできます。資格ファイルを取得する方法については、Authentication in Azure Management Libraries for .NETを参照してください。

以下はデモコードです。

var credentials = SdkContext.AzureCredentialsFactory.FromFile(@"Credential file path"); 
var azure = Azure 
      .Configure() 
      .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic) 
      .Authenticate(credentials) 
      .WithDefaultSubscription(); 

//create WebApp 
var webApp = azure.WebApps.Define(appName) 
.WithRegion(Region.USWest) 
.WithNewResourceGroup(rgName) 
.WithNewFreeAppServicePlan() 
.Create(); 

//Deploy WebApp 
webApp .Deploy().WithPackageUri("packageUri"); 

//get WebApp 
var webApp = azure.WebApps.GetByResourceGroup("rgName", "appName"); 

//swap WebApp 
webApp.Swap("slotName"); 
+0

スワップステータスの取得方法を見つけることができなかったため、上記のように書かれました。あなたのコードサンプルは素晴らしく、私は '流暢でない'バージョンでも同じことを達成しました。 [現在のスワップステータス#3843を取得できるようにする]を参照してください(https://github.com/Azure/azure-sdk-for-net/issues/3843)。これを見つけることができないと、ARMを使用して質問するように促されました。 – ttugates

+0

Fluentアプローチを試しました。私はそれがより好きです。私は、MSエンジニアの[ステートメント](https://stackoverflow.com/questions/46347543/possible-to-create-new-database-from-point-in-time-restore-using--)-のために流暢を使用しない方に向けられました。 azure-arms-sqlm#answer-46370430)は、Fluentの効果に比べて機能サポートが少なくなっています。私は以前、各管理名前空間に「Clients」を作成していました。あなたがAuthがより洗練されていることを実証した方法は、「FromServicePrincipal」を使用します。 – ttugates

関連する問題