python Azure関数を使用したスクリプトを実行しようとしています。AppServicesプランの下でpythonバージョンを更新し、Azure関数にモジュールをインストールしましたが、私のスクリプトは1日に1回、数分しか実行されないため、消費計画の下で使用する必要があります。そのため、実行時間に対してのみ支払いたいと思います。 https:// Azure.Microsoft.com/en-au/services/functions/
今でも私はまだこれに慣れていませんが、常に理解しているApp Serviceプランとは異なり、消費プランはvmをスピンアップし、スクリプトの実行後に終了します。これが何もインストールできないことを意味するのかどうかはわかりません。それは、スピンするたびにインストールしなければならないことを意味すると思いました。
pythonスクリプト自体とkuduコマンドラインを使用してモジュールをインストールしようとしましたが、成功しませんでした。
アプリサービスプランの下では、このチュートリアルに従えば簡単でした: https://prmadi.com/running-python-code-on-Azure-functions-app/
Functions Comsumption planでは、Kudu拡張機能は使用できません。ただし、すべての依存関係を正しくインストールできるようにpipを更新できます。
シェルのプレフィックスは(myvenv)になります
次に、Azureポータルのスクリプトで、sys.pathを更新してこのvenvを追加します。
import sys, os.path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname( __file__ ), 'myvenv/Lib/site-packages')))
あなたは今欲しいものを始めることができるはずです。
(参照: https://github.com/Azure/azure-sdk-for-python/issues/1044 )
編集:前のコメントを読んで、numpyが必要なようです。今すぐテストしたところ、問題なく1.12.1をインストールできました。
Python消費計画で選択したバージョンのPython $ ===のモジュールをアップロードできます。このリンクの手順を参照してください。 https://github.com/Azure/azure- webjobs-sdk-script/wiki/Using-a-custom-version-of-Python
これは私のために働いたものです:
免責事項:C#コマンドを使用して、Pythonスクリプト実行を含む関数を使用します
System.Diagnostics.Process
クラスの行。
関連するPython拡張機能を追加:プラットフォーム機能->開発ツール->拡張機能
インストールしたpython to D:\home\python364x86
(Kuduコンソールから見た))
WEBSITE_USE_PLACEHOLDERというアプリケーション設定を追加し、その値をに設定します。これは、関数アプリがアンロードされた後にPython拡張機能が動作を停止する原因となるAzure Functionsの問題を回避するために必要です。
参照: sing Python 3 in Azure Functions question。
pip install ...
を使用してKudu CMDラインコンソールからパッケージをインストールします
(私の場合はpip install pandas
でした)