web-dev-qa-db-ja.com

Azure Functions-appsettings.jsonを使用する

Azure Functionsでappsettings.jsonファイルを使用することはできますか?

ここに環境変数のドキュメントがあります。

https://docs.Microsoft.com/en-us/Azure/azure-functions/functions-reference-csharp#environment-variables

..ただし、展開にOctopusを使用しており、appsettingsのバージョンを管理したいと考えています。

使ってみました

{
  "frameworks": {
    "net46": {
      "dependencies": {
        "Microsoft.Extensions.Configuration": "1.0.0",
        "Microsoft.Extensions.Configuration.Json": "1.0.0"
      }
    }
  }
}

しかし、常に取得します

2016-11-23T15:27:03.811(12,16):エラーCS0012:タイプ 'オブジェクト'は、参照されていないアセンブリで定義されています。 Assembly 'System.Runtime、Version = 4.0.0.0への参照を追加する必要があります

Octopusを介して環境変数を提供/更新することさえできれば、私たちのニーズには十分です。

お知らせ下さい。

16
Nosmadas

アプリの設定と接続文字列では、環境変数のみがサポートされています。 appsettings.jsonはサポートされていません。

ただし、Azure Resource Manager(ARM)テンプレートを使用して、Function Appの設定を構成できます。 ブログ投稿 は、これをより詳細に説明しています。

4
mathewc

あなたのニーズに対して答えはイエスです! Azure Functionsでは、構成にappsettings.jsonを使用できます。ただし、関数が要求されたときにAzureが実行する順序付けシーケンスがいくつかあります。

1º)Azureはその[〜#〜] keys [〜#〜]で使用したものを探します。GetEnvironmentVariables( "[[〜#〜] key [〜#〜]] ")メソッド、Azure Functions設定の[アプリケーション設定]ブレードで構成されたキーを使用

2º)Azureがアプリケーション設定キーを使用してその構成を見つけられなかった場合、Azureはappsettings.jsonを探して、作業中の関数のルートフォルダーを探します。

3º)最後に、Azureがアプリケーション設定でもappsettings.jsonファイルでもこの​​キーを見つけられなかった場合、Azureはこのファイルを探すためにweb.configを見つける最後の試みを行いますappsettingsセクションキー。

感謝のために、私のgithubリポジトリのサンプルでこれらの構成を見つけることができます: here and here

これらの情報がお役に立てば幸いです。

17

構成ファイルに加えられた変更に従って、appsettings.jsonの名前が変更されたため、local.settings.jsonのみを使用する必要があります。 local.settings.jsonへ

変更への参照: Azure-functions-cli

10
armadillo.mx

Azure Functionsでは、設定はlocal.settings.jsonに保存されます(ソリューションに存在しない場合は、このファイルを作成します/名前は前述のとおり正確でなければなりません)。

設定ファイルを追加したら、次のようにRun()メソッドで設定する必要があります。

enter image description here

設定にアクセスするときは、以下を使用します

IConfigurationRoot config;
config["fromEmail"];

以下のコマンドを使用して設定を公開します

func Azure functionapp publish *YourAppName* --publish-local-settings -i

enter image description here

依存関係については、関数内でproject.jsonを使用/作成する必要があります。そこで、依存関係を指定できます。確認してください: https://docs.Microsoft.com/en-us/Azure/azure-functions/functions-reference-csharp#package-management

例えば:

{
  "frameworks": {
    "net46":{
      "dependencies": {
        "Microsoft.ProjectOxford.Face": "1.1.0"
      }
    }
   }
}
0