2017-03-16 15 views
0

現在のWebジョブ名を解決する最も関連性が高く堅牢な方法を探しています。私は内部のロジックに登録目的のために、関数の実行時とホストのスタートアップの両方でそれが必要です。実行時にWebJobの名前を取得する方法

Webjob名はProperties\webjob-publish-settings.jsonで定義されていますが、このファイルは展開されていません。私は実行時にそれをもう使用できません。

Webjobバイナリはすべてwebjob名に従って名前が付けられた専用フォルダに保存されます。それは私の問題を解決する最善の方法のように見えました。 しかし、the SDKthis issueを見た後、私はこの解決策が将来のアップデートによって壊れる可能性があることを確信しています。
現在、SDKはWebSitesKnownKeyNamesクラスで定義された内部環境変数WEBJOBS_NAMEによってWebジョブ名を取得しています。なぜ、安全なソリューションであれば、SDKはフォルダ名の代わりにこれに頼っていますか?
また、Webjobの名前を変更するためにwebjobフォルダの名前を変更するというリンク先の問題はサポートされておらず、適切な解決策が用意されています。

あなたはすでにこの問題に直面しており、問題を解決しましたか?

答えて

2

WEBJOBS_NAMEという環境変数を使用するだけです。これが最も簡単で信頼性の高い方法です。 WebJobs SDKはこのような理由でこれを使用します。また、環境変数は、基本的なコアのKudu WebJobs実装の詳細(具体的にはフォルダ構造など)からSDKを切り離します.Kuduコードhereのように、ジョブ。だから安全に使うことができます。

issueにリンクされている名前変更については、Azure Functions特有です。 Azure関数を使用していません。

+0

フィードバックいただきありがとうございます。私はなぜWebjob SDKが[このクラス](https://github.com/Azure/azure-webjobs-sdk/blob/663a508e8a851629c26a51e7de3af36629dfd120/src/Microsoft.Azure.WebJobs.Protocols/WebSitesKnownKeyNames.cs#L14)を作ったのか不思議です。その場合の内部... – GGirard

+0

不必要な公開面積を制限する以外の本当の理由はありません。誰もがこれを使う必要があることはまれです。 – mathewc

+0

私はあなたの応答を適時に適用せず、webjobフォルダ名で私のハックに噛まれました。これは間違いなくhttps://github.com/projectkudu/kudu/wiki/WebJobs#webjobのために正しい方法です-working-directoryにあります。現在のディレクトリに実際にランダムな一時フォルダ名が含まれているという点は忘れてしまった。再度、感謝します! – GGirard

関連する問題