Azure FunctionsでのPythonサポート

Azureの機能は、イベント駆動型アプリケーションの開発とサーバーレスホスティングを加速するための強力なプログラミングモデルを提供します。 Azure Functions 2.0ランタイムの公開を発表して以来、Pythonサポートは開発者からの主な要求の1つになりました。 先日、Azure FunctionsでのPythonサポートのパブリックプレビューを発表しました。 詳細はこちら!







この問題には何がありますか?



このリリースでは、オープンソース2.0ランタイムに基づいてPython 3.6を使用して関数を開発し、Azureの消費計画(実行ごとの支払いモデル)に公開できます。 Pythonは、データ処理、機械学習、スクリプト作成、および自動化スクリプトに最適です。 サーバーフリーのAzure機能を使用してこれらのソリューションを作成すると、基盤となるインフラストラクチャを管理する負担を取り除くことができるため、より迅速に作業し、アプリケーションの差別化されたビジネスロジックに集中できます。



強力なプログラミングモデル



プログラミングモデルは、Python開発者とシームレスかつ馴染みのあるやり取りを提供するように設計されているため、既存のスクリプトと.pyモジュールをインポートし、すでに使い慣れているコード構成を使用して関数の記述をすばやく開始できます。 たとえば、async def修飾子を使用して関数を非同期コルーチンとして実装したり、標準のログモジュールを使用して監視トレースをホストに送信したりできます。 pipの追加の依存関係は、requirements.txt形式を使用して構成できます。







トリガーとバインダーに基づいて 、Functionsのイベント駆動型プログラミングモデルを使用すると、関数の実行をトリガーするイベントと、関数が調整するデータソースを簡単にセットアップできます。 ML推論やワークロードスクリプトの自動化などの一般的なシナリオは、開発者が同時に構成して作業する必要があるコード、SDK、および依存関係の量を削減しながら、さまざまなデータソースを最適化するのに役立つため、このモデルの利点があります。 プレビューでは、HTTPリクエスト、タイマーイベント、Azure Storage、Cosmos DB、Service Bus、Event Hubs、Event Gridのビニングがサポートされています。







より簡単な開発



Python開発者は、関数を開発するための新しいツールを学ぶ必要はありません。 実際、Mac、Linux、またはWindowsコンピューターを使用して、ローカルですばやく作成、デバッグ、およびテストできます。 基本的なAzure機能ツール( CLI )を使用すると、トリガーテンプレートの使用を開始し、Azureに直接公開して、ビルドとカスタマイズを自動的に処理できます。







さらにエキサイティングなのは、新しいアプリケーションの作成、機能の追加、すべてを数分でデプロイするのに役立つ、緊密に統合されたGUIにVisual Studio CodeのAzure Functions 拡張機能を使用できることです。 ワンクリックデバッグでは、F5キーを押すだけで、リアルタイムのAzureイベントの機能をローカルでテストし、ブレークポイントを設定し、コールスタックを評価できます。 これにVS CodeのPython拡張機能を追加すると、クラス最高のオートコンプリートおよびデバッグ方法が得られ、任意のプラットフォームでPythonで開発できます。







Linuxホスティング



Pythonで記述された関数は、消費の観点とアプリケーションサービスの観点の2つの異なるモードでAzureに発行できます。 消費計画は、着信イベントの数に基づいて計算能力を自動的に分配します。 必要に応じて、アプリケーションは負荷を処理するためにスケーリングし、イベントがまれになると減少します。 請求は、実行回数、実行時間、使用メモリに基づいているため、未使用の仮想マシンや予約済みの容量に対して事前に支払う必要はありません。



アプリケーションサービスの観点から、機能の独自のプログラミングモデルを維持しながら、長期機能、プレミアム機器、分離されたSKU、VNET / VPNへの接続などの機能を利用できます。



両方のホスティングプランは、オープンソースのazure-function / pythonベースイメージに基づいて、Dockerコンテナーで関数を実行します。 プラットフォームはコンテナを抽象化するため、Pythonファイルを提供するのはユーザーの責任であり、基盤となるAzure関数とPythonランタイムの管理について心配する必要はありません。



次の段階:試す



開始するには、以下のリンクに従ってください:








Microsoft Developer Community @msdevruのメンバー、 開発者向けMicrosoft Developerコミュニティのチャネル、および新しいテクノロジに関心のあるすべての人は、この記事の準備に役立ちました。



All Articles