web-dev-qa-db-ja.com

Microsoft Azure Function Appsで外部アセンブリを使用するにはどうすればよいですか?

documentation は、DLLをbinフォルダに配置し、特別な#r構文を使用して参照できることを示していますが、 AzureポータルこれらのDLLをアップロードする方法を見つけることができませんが、それは可能ですか?

18
Josh

これは可能です。

Kuduを使用してバイナリをアップロードできます。

  1. アプリのKuduポータルを開きます。関数アプリのURLがsamplefunctions.azurewebsites.netの場合は、samplefunctions.scm.azurewebsites.netに移動します。

  2. Debug consoleメニューをクリックし、PowerShellを選択します。これにより、PowerShellコンソールとファイルエクスプローラーが開きます。 D:\home\site\wwwrootに移動します。

  3. そこでは、既存の関数にちなんで名付けられたフォルダが表示されるはずです。そのフォルダに移動し、バイナリをbinフォルダ内にドラッグアンドドロップします。

  4. これで、#rディレクティブでそれらを使用できます。

ライブラリを関数に継続的にデプロイするように構成することもできると思います(たとえば、Gitリポジトリから)。 Function app settings-> Configure Continuous Integrationに移動します。

27
Mikhail Shilkov

Azure関数は、プリコンパイルされた関数のランタイムサポートを備えています。 https://blogs.msdn.Microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a-function-app/

IntelliSenseの完全な開発エクスペリエンス、ローカルデバッグ、Azureへの公開を提供するWebプロジェクトを使用する必要があります。上記の説明では、その方法について詳しく説明しています。

3
Irwin

Visual Studio関数ツールでデプロイするだけで、外部参照を持つ関数をデプロイできます。

Visual Studioのデプロイ設定でAzureアカウントを構成し、Azureの機能とPlayデプロイを行うだけです。すべての参照はAzureのFunction Appにあります。

Octopus Deploy(Webサイトデプロイメントステップ)を使用して、関数をデプロイできます。

Octopus deployにプッシュされるnugetパッケージのフォルダー構造は次のようになります。

nuget_package.nupkg
    |--bin
        |--*.dll
    |--run.csx 
    |--function.json
1
Tany

相対パスでアセンブリ参照を追加できます。

portal.Azure.com->関数アプリで、右側にある[ファイルの表示]-> dllをアップロードします(例:YourDllName.dll)。

run.csxで、#r "./YourDllName.dll"と入力します

0
PCoder