web-dev-qa-db-ja.com

Azure Serviceファブリックアプリケーションの構成値を格納する場所

Azure Service Fabric Reliable Actorの実装に取り​​組んでいます。構成値(DB接続文字列など)をどこに保存できるか、コードでそれにアクセスする方法に関するアイデア/リンク。

17
Pratik Mehta

Service Fabricアプリケーションは、コードパッケージ、構成パッケージ、およびデータで構成されます( https://Azure.Microsoft.com/en-gb/documentation/articles/service-fabric-application-model/ =)。

Configパッケージを使用して、必要なあらゆる種類のキーと値のペアを保存および取得できます。接続文字列。詳細については、この記事を参照してください https://Azure.Microsoft.com/en-us/documentation/articles/service-fabric-manage-multiple-environment-app-configuration/

14
charisk

複数のApplicationParametersファイルを追加できます。 Cloud.Xmlから同じものをコピーして貼り付け、複数の環境設定に使用するだけです。

必要な変更を加える手順

  1. Settings.xmlで指定された値は、ServiceManifest.xmlをインポートするときにApplicationManifest.xmlでオーバーライドする必要があります。以下は、オーバーライドする変更をサポートするコードで、ApplicationManifest.xmlに値を追加します。

    a)パラメータのデフォルト値を最初に追加します

      <Parameters>
         <Parameter Name="StatelessService1_InstanceCount" DefaultValue="-1" />
         <!-- Default Value is set to Point to Dev Database  -->
         <Parameter Name="DatabaseString"DefaultValue="Server=someserver.database.windows.net\;Database=DbDev;user id=[userid];password=[Password];Trusted_Connection=false;" />
      </Parameters>
    

    b)次に、ServiceManifestImportでオーバーライドします。

      <ServiceManifestImport>
              <ServiceManifestRef ServiceManifestName="StatelessServicePkg" 
                      ServiceManifestVersion="1.0.0" />          
          <ConfigOverrides>
               <ConfigOverride Name="Config">
                    <Settings>
                         <Section Name="DatabaseConnections">
                                 <Parameter Name="DbString" Value="[DatabaseString]" />
                        </Section>
                   </Settings>
             </ConfigOverride>
        </ConfigOverrides>
      </ServiceManifestImport>
    
  2. 上記のコード変更は、settings.xml内の次のコードをオーバーライドします

    <Section Name="DatabaseConnections">
        <Parameter Name="DbString" Value="Server=someserver.database.windows.net\;Database=DbDev;user id=[userid];password=[Password];Trusted_Connection=false;" />
    </Section> 
    
  3. 全体として、アプリケーションがデプロイされると、ApplicationParameter DevParam.xml、QaParam.xml、またはProdParam.xmlの値がすべての設定値を上書きします。

     <Parameters>
         <Parameter Name="StatelessService1_InstanceCount" Value="-1" />
              <Parameter Name="DatabaseString" Value="Server=someserverqa.database.windows.net\;Database=DbQA;user id=[userid];password=[Password];Trusted_Connection=false;" />
     </Parameters>
    
3
user3530857

上記の情報に加えて、ASFがアプリケーション設定をオーバーライドする順序を知ることが重要です。

Service Fabricは常に最初に(指定されている場合)アプリケーションパラメーターファイル、次にアプリケーションマニフェスト、最後に構成パッケージ( source )から選択します

詳細情報: http://www.binaryradix.com/2016/10/reading-from-configuration-within-Azure.html

2
Rotem Varon