2017-08-31 1 views
0

私のAzure Web Appsの1つで、Azure Web Appのウォームアップ中(開始時)にAzureトピックがまだ作成されていないときは作成します。Azureサービスバスにプレミアム価格が付いているかどうかを確認する方法

トピック作成時に、サービスバスにプレミアムプライシング層があるかどうかを知りたい場合は、例外を防止するために、エクスプレスを無効にしたい場合は(標準価格層)Expressを有効にします。

サービスバスにプレミアムプライシング層があるかどうかを確認する防御的な方法はありますか(サービスバス接続文字列を使用するなど)。

防御的な方法がない場合は、私が知っているウェブ例外を常に捕まえることができますが、できれば例外を防止したいと思います。

編集:私たちのlead-devに相談した後、私たちは私たちのDTAPでEnableExpress設定を完全にスキップすることに決めました。したがって、SKUチェックを実装する必要はありません。 EnableExpressプロパティを設定しないでください。それ以外の場合は、Premium SKUでwebexceptionを取得します。

+0

サービスバスSKUをチェックしますか?そのような場合は、SDKを使用してサービスバス価格を取得することができます。 –

+0

@TomSun:「SDKを使用してサービスバス価格層を手に入れることができます」 –

+0

[Microsoft.Azure.Management.Fluent SDK](https://www.nuget.org)でサービスバス価格層を取得できました/パッケージ/ Microsoft.Azure.Management.Fluent)。私は答えのコードを更新しました。 –

答えて

1

プレミアム価格ティアは、(例えば:サービス・バス 接続文字列を使用して)サービス・バス上 利用可能であるかどうかを確認するための防御的な方法はありますか?

残念ながら今日はありません。 Service Bus Client SDKはこの情報を公開しません。この機能はサービスバスチームから依頼されており、そのためのGithubに関するオープンな問題があります:https://github.com/Azure/azure-service-bus/issues/42

PremiumStandardの層の違いは、ここではhttps://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-premium-messagingです。パターンの種類は、実行できることと実行できることは、Premium層(256KBを超えるサイズのメッセージを送信する)でしか使用できず、例外(または不足)をキャッチしてサービスバス層プレミアムかどうか。

+0

最後のアクションは、トピック/キューを作成してwebexceptionをキャッチし、EnableExpressを明示的にfalseに設定して再試行することです。 –

+0

はい、そうすることができます。しかし、このケースでは、例外がないときにはたくさんのトピック/キューで終わるでしょう。メッセージでは、メッセージTTLを非常に低く設定して、例外がない場合にこのメッセージがキュー/トピックに送信された直後に削除されるようにすることができます。 –

0

Azureサービスバス料金層を確認する場合は、Microsoft.Azure.Management.Fluent SDKで次のコードを使用できます。コードの前に

var credentials = SdkContext.AzureCredentialsFactory.FromFile(@"c:\tom\azureCredential.txt"); 
var azure = Azure 
      .Configure() 
      .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic) 
      .Authenticate(credentials) 
      .WithDefaultSubscription(); 

var serviceBus = azure.ServiceBusNamespaces.GetByResourceGroup("resourcegroup", "servicebusnamespace"); 
var priceTier = serviceBus.Sku.Tier; 

enter image description here

我々はcreate an azure active directory applicationに必要とcorrespondent roleを割り当てます。 documentに続いて晴れの信用証明ファイルを作成することができました。資格ファイルのフォーマットは次のとおりです。

subscription=########-####-####-####-############ 
client=########-####-####-####-############ 
tenant=########-####-####-####-############ 
key=XXXXXXXXXXXXXXXX 
managementURI=https\://management.core.windows.net/ 
baseURL=https\://management.azure.com/ 
authURL=https\://login.windows.net/ 
graphURL=https\://graph.windows.net/ 
+0

トム....Azure管理FluentライブラリをAzure Service Bus SDKとは別のものとして使用しており、コードがARM APIを使用してこの情報を取得していることを、あなたの回答で言及したいことがあります。 –

+0

ありがとう、私は答えを更新します。 –

関連する問題