3

Azure Functions 用に記述されたコードをいくつか継承しましたが、Azure Functions についてほとんど何も知りません。現在、このコードはステージング環境用に書かれており、ステージング環境に固有のハードコードされた URL や、本番環境では異なるさまざまな API キーなどがあります。

私が達成したい最初のタスクは、これらのハード コードされた文字列を取り除き、ビルド システムを介して展開できる何らかの "構成" ファイルに移動することです。つまり、ステージング Azure Functions アプリはステージング環境をターゲットにし、運用アプリは運用環境をターゲットにします。通常の C# アプリでは、この内容を web.config または app.config ファイルに貼り付けるだけです。

2 つの質問があります。

最初:これらの構成プロパティを格納するための推奨される場所はどこですか? 私のCSXファイルにあるこのコードを見てみましょう:

public const string apikey = "37eb882ff6914b4c9205673547c10dc8"; // This value needs to change based on our environment

最初に調べたのは、Function app settings->Configure app settings->App settingsセクションでした。新しいアプリ設定を追加しましたが、実際にコードで値を読み取る方法が見つかりませんでした(ConfigurationManager を使用してみました)。また、これがどのように機能するかに関するドキュメントも見つかりませんでした。

次に見たのは function.json ファイルで、関数の呼び出し方法に関するバインディング情報が含まれています。ここには、独自の設定を追加できる領域がないようです。

最後に、アプリケーションのルートにある host.json ファイルを調べました。このファイルにはたくさんのドキュメントがありますが、カスタム設定に適した場所ではないようです。

2 番目:ここにプロパティを追加したら、C# コードを使用してそれを読み取るにはどうすればよいですか? つまり、そのpublic const string行を何に置き換えますか?

本当にありがとう!

4

1 に答える 1

6

Function app settings -> Configure app settings -> App settings location は、構成設定を保存するための推奨される場所です。

C# コードからアプリ設定にアクセスするには、ConfigurationManager クラスを使用するだけです。

public static readonly string value = System.Configuration.ConfigurationManager.AppSettings["MySetting"];

「const」を使用する代わりに、「static readonly」を使用する必要があり、ほとんど同じように機能します。

于 2017-01-06T23:30:20.767 に答える