web-dev-qa-db-fra.com

Où stocker les valeurs de configuration dans l'application de structure Azure Service

Je travaille sur la mise en œuvre d'Azure Service Fabric Reliable Actor. Toute idée/lien sur où puis-je stocker la valeur de configuration (par exemple, chaîne de connexion à la base de données) et comment y accéder dans le code.

17
Pratik Mehta

Une application Service Fabric comprend le package de code, un package de configuration et les données ( https://Azure.Microsoft.com/en-gb/documentation/articles/service-fabric-application-model/ ). 

Vous pouvez utiliser le package de configuration pour stocker et récupérer tout type de paires clé-valeur dont vous avez besoin, par exemple. une chaîne de connexion. Consultez cet article https://Azure.Microsoft.com/en-us/documentation/articles/service-fabric-fabric-manage-multiple-environment-app-configuration/ pour plus d'informations.

13
charisk

Vous pouvez ajouter plusieurs fichiers ApplicationParameters. Copiez et collez le même fichier depuis Cloud.Xml et utilisez-le pour plusieurs configurations d’environnement.

Étapes à suivre pour apporter les modifications nécessaires 

  1. Les valeurs indiquées dans le fichier Settings.xml doivent être remplacées dans le fichier ApplicationManifest.xml lors de l'importation du fichier ServiceManifest.xml .Below est le code prenant en charge les modifications de remplacement qui les ajoute dans le fichier ApplicationManifest.xml. 

    a) Ajoutez d'abord la valeur de paramètre par défaut 

      <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) Ensuite, remplacez-le dans 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. La modification de code ci-dessus remplacera le code suivant dans 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. Globalement, lorsque l'application est déployée, les valeurs du fichier ApplicationParameter DevParam.xml, QaParam.xml ou ProdParam.xml dépassent toutes les valeurs de paramètres. 

     <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>
    
2
user3530857

En plus des informations ci-dessus, il est important de connaître l'ordre dans lequel ASF remplace le paramètre de l'application:

Service Fabric choisira toujours dans le fichier de paramètres de l'application premier (si spécifié), puis le manifeste de l'application et enfin le paquet de configuration ( source )

Pour plus d'informations: http://www.binaryradix.com/2016/10/reading-from-configuration-within-Azure.html

1
Rotem Varon