1

WindowsAzure上のiisnodeを介して実行されるNode.jsアプリケーションを構築するベータ展開フェーズに来ています。複数のインスタンスを設定し、本番/ステージングの分離を行った結果、私の調査により、次の結論に至りました。

コードを再デプロイせずにその場で構成設定を変更したい場合は、サービス構成.cscfgファイルを使用する必要があります。

私の問題は、さまざまな構成設定を、変更したい要素に保存していることです。これらの設定は、<appSettings>現在、プロセスグローバルオブジェクトを介してノードアプリケーションに公開されています<iisnode>web.config

私はMSDNNodeのドキュメント、およびSO(通常)を調べましたが、Nodeが同じ方法でサービス構成設定を公開しているかどうかを確認できません。そうでない場合、それらをアプリケーションに公開する方法はありますか?

編集:より具体的には、構成を変更するだけでステージングから本番セットアップに切り替えることができるようにしたいので、実際にはnode_env設定をサービス構成からサービス構成に移動することだけを考えています。web.config理由-ステージングとprodを交換するためにIPスイッチングを使用しており、2つの間にいくつかの非常に小さな違いがあります(たとえば、消費するRESTful WebサービスのURL)。

node_envまた、iisnodeによって読み取られたファイルで構成できることも知っていますが、それでもアプリケーションはリサイクルされます。xyamlファイルiisnode.yamlを変更して再デプロイしたくありません。ここで、x本番/ステージングアプリケーションのインスタンスの数です。

4

2 に答える 2

7

Azure SDKforNode.jsを介して構成設定にアクセスできます。

インストールするには:

npm install azure

構成設定を取得するには:

var azure = require('azure');

azure.RoleEnvironment.getConfigurationSettings(function(error, settings) {
  if (!error) {
    // You can get the value of setting "setting1" via settings['setting1']
  }
});
于 2012-09-11T02:26:56.467 に答える
1

これらの設定は、Azureマシンのc:\Config\フォルダーにあるXMLファイルに保持されているようです。

これらに直接アクセスすることは想定されていませんが、このXMLを簡単に解析して、ノードの起動時に設定を読み取ることができます。

于 2012-08-15T11:27:39.493 に答える