1

役割の開始時に実行される cscfg ファイルの構成設定を変更するスタートアップ スクリプトまたはタスクを作成しようとしています。

これらの設定にアクセスできますが、うまく変更できません。Role Start の設定を変更する方法、またはそれが可能かどうかについての指針を期待しています。

ありがとう。

編集:私が達成しようとしていること

Azure アプリケーションの構成値をより簡単に構成するためのサービスを作成しようとしています。現在、7 つの異なる環境で同じ設定を変更したい場合は、7 つの異なる .cscfg ファイルで変更する必要があります。

私の考えは、アプリケーションがその構成値を照会する Web サービスを作成できるということです。Web サービスは、Azure テーブルなどのストレージの場所を調べて、正しい構成値を返します。このようにして、テーブルで 1 つの値だけを編集でき、正しい環境でより迅速に変更されます。

これを非常に簡単に展開スクリプトに統合することができました (アプリのパッケージ化、設定の取得、cscfg ファイルの変更、展開)。その問題は、設定を変更するたびに再デプロイする必要があることです。

4

2 に答える 2

1

Black-o さん、複数の展開 (30 以上) の間で接続設定を管理することを希望しているように思われる場合は、別の構成ストアを使用することで、おそらくその必要性が満たされることをお勧めします。これは、Azure Storage (テーブル、またはおそらく BLOB コンテナー内の単なる構成ファイル)、リレーショナル データベース、または外部構成サービスである可能性があります。

これらのオプションでは、最小限の情報のみを cscfg ファイルに配置する必要があり (構成ストアを指定して承認するのに十分な量)、すべての詳細設定を並べて維持できます。

簡単な例では、単一のストレージ アカウントを使用し、構成設定を Azure テーブルに配置し、"デプロイ" ID をパーティション キーとして使用します。デプロイ用の構成ファイルには、ストレージの場所の接続情報 (共有アクセス署名を使いたくない場合) とそのデプロイ ID だけが必要です。その後、ロールの起動時に構成設定を取得し、パフォーマンス向上のためにローカルにキャッシュできます (分散メモリ キャッシュまたは各インスタンスの一時的な "ローカル ストレージ" ドライブのいずれか)。

これらすべてをまとめるためのコードには、数時間以上かかることはありません。選択した構成プロバイダーが利用できない場合に備えて、回復力も考慮するようにしてください。

于 2013-07-16T18:58:42.113 に答える