[解決済み] サービスファブリックの環境ごとのランタイム設定パラメータはどこで設定・アクセスするのですか?
2023-05-19 22:07:24
質問
ローカルとクラウドの 2 つの環境について、SQL データベース、ストレージ アカウントなどのリソースのカスタム設定またはパラメータをどのようにセットアップすればよいでしょうか? 理想的には、ローカルまたはクラウド環境のいずれかの構成で異なる特定のデータベースに向けて DbContext を指すと言うためにコードで呼び出される 1 つのパラメータ名でしょう。ありがとうございます。
どのように解決するのですか?
Service Fabric をローカルおよびクラウドで実行するための環境変数を設定するには、次のようにする必要があります。
- Service/ActorプロジェクトのSettings.xmlファイル(プロジェクトルートからは \PackageRootConfig╱Settings.xml )にカスタム設定セクションとパラメータを追加します。パラメータは環境ごとに設定するため、空白にしてください。以下はその一例です。
<?xml version="1.0" encoding="utf-8" ?>
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric">
<!-- Add your custom configuration sections and parameters here -->
<Section Name="UserDatabase">
<Parameter Name="UserDatabaseConnectionString" Value="" />
</Section>
</Settings>
-
サービス・ファブリック・プロジェクトの ApplicationManifest.xml ファイルに
<ServiceManifestImport>
要素があります。その下には<ConfigOverrides>
要素で、Service Fabric プロジェクトの ApplicationParameters の下にあるローカルおよびクラウドの xml ファイルで環境ごとに設定された値によって、設定のどの値が代替されるかを宣言します。同じ ApplicationManifest.xml ファイルに、ローカルとクラウドの xml ファイルに存在するパラメータを追加する必要があります。
上記の例の続きで、このように設定されます。
<Parameters>
<Parameter Name="ServiceName_InstanceCount" DefaultValue="-1" />
<Parameter Name="UserDatabaseConnectionString" DefaultValue="" />
</Parameters>
<ConfigOverrides>
<ConfigOverride Name="Config">
<Settings>
<Section Name="UserDatabase">
<Parameter Name="UserDatabaseConnectionString" Value="[UserDatabaseConnectionString]" />
</Section>
</Settings>
</ConfigOverride>
</ConfigOverrides>
- Service FabricプロジェクトのApplicationParametersの下にあるlocal.xmlとcloud.xmlで、以下のように環境固有の変数を指定します。
<?xml version="1.0" encoding="utf-8"?>
<Application xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="fabric:/AppFabricName.ServiceFabric" xmlns="http://schemas.microsoft.com/2011/01/fabric">
<Parameters>
<Parameter Name="ServiceName_InstanceCount" Value="1" />
<Parameter Name="UserDatabaseConnectionString" Value="Server=(localdb)\MsSqlLocalDb;Database=Users;User=ReadOnlyUser;Password=XXXXX;" />
</Parameters>
</Application>
- 最後に、Service/Actorの中で、これらの環境ごとの設定変数に以下のようにアクセスすることができます。
var configurationPackage = Context.CodePackageActivationContext.GetConfigurationPackageObject("Config");
var connectionStringParameter = configurationPackage.Settings.Sections["UserDatabase"].Parameters["UserDatabaseConnectionString"];
関連
-
[解決済み] AADSTS900144:レガシー開発者ポータルを使用する場合、リクエストボディに次のパラメータ 'scope' を含める必要があります。
-
[解決済み] コンテナにアンレディステータスがある」と表示される。Kubernetesで「[]」というエラーが発生する
-
[解決済み] AzureリソースグループURL
-
[解決済み] Azure Resource Groupの名前を変更するにはどうすればよいですか?
-
[解決済み】Azure Web SiteとAzure Web Roleの違いは何ですか?
-
[解決済み】Azure WebjobsとAzure Functionsの比較:選び方
-
[解決済み] Azure Blob StorageとFile Serviceの比較【終了しました】。
-
[解決済み] Visual StudioでAzure Functionアプリを別のポートで実行する方法
-
[解決済み] Azureの「エンタープライズアプリケーション」と「アプリ登録」の違いについて
-
[解決済み] Azure SQL Databaseの「DTU率」メトリクス
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] New-AzureRmResourceGroupDeployment コマンドレットで追加のパラメータを渡す方法
-
[解決済み] AADSTS900144:レガシー開発者ポータルを使用する場合、リクエストボディに次のパラメータ 'scope' を含める必要があります。
-
[解決済み] AzureWebJobsDashboardの接続文字列情報はどこで手に入りますか?
-
[解決済み] カンマ区切りの文字列を分割する
-
[解決済み] レガシーAzure MFAをPhoneFactorで使用すると、エラー149が発生します。
-
[解決済み] Connect-AzAccount - azureのデバイス認証を回避する方法は?
-
[解決済み] Azure Application InsightsでBeginScopeを使うには(https://portal.azure.com)?
-
[解決済み] Azure Resource Groupの名前を変更するにはどうすればよいですか?
-
[解決済み] ARMのテンプレートです。パラメータで名前を設定したリソースを参照する方法
-
[解決済み] Azureです。Azureにデプロイされたファイルを表示する方法はありますか?