Azure Functionsでappsettings.jsonファイルを使用することはできますか?
ここに環境変数のドキュメントがあります。
..ただし、展開に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を介して環境変数を提供/更新することさえできれば、私たちのニーズには十分です。
お知らせ下さい。
アプリの設定と接続文字列では、環境変数のみがサポートされています。 appsettings.json
はサポートされていません。
ただし、Azure Resource Manager(ARM)テンプレートを使用して、Function Appの設定を構成できます。 ブログ投稿 は、これをより詳細に説明しています。
あなたのニーズに対して答えはイエスです! 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
これらの情報がお役に立てば幸いです。
構成ファイルに加えられた変更に従って、appsettings.jsonの名前が変更されたため、local.settings.jsonのみを使用する必要があります。 local.settings.jsonへ
変更への参照: Azure-functions-cli
Azure Functionsでは、設定はlocal.settings.jsonに保存されます(ソリューションに存在しない場合は、このファイルを作成します/名前は前述のとおり正確でなければなりません)。
設定ファイルを追加したら、次のようにRun()メソッドで設定する必要があります。
設定にアクセスするときは、以下を使用します
IConfigurationRoot config;
config["fromEmail"];
以下のコマンドを使用して設定を公開します
func Azure functionapp publish *YourAppName* --publish-local-settings -i
依存関係については、関数内で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"
}
}
}
}