Azure Functions には「HTTP 要求を使用して、コードの実行をトリガーする HTTPTrigger」、「事前に定義されたスケジュールをもとにタスクを実行する TimerTrigger」といった開発を手助けする様々なテンプレートが各開発言語用に用意されていますが、テンプレートによっては特定の言語以外は用意されていないものもあります。
今後テンプレートや対応する開発言語は随時増えていくと思いますが、現時点で各テンプレートで利用可能な開発言語をまとめてみました。
各 Azure Functions テンプレートで利用できる開発言語
※2017/11/28 時点の情報を元にまとめています。
AppInsights Http Availability
Application Insights を使って Web アプリの可用性と応答性を監視する
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | × |
JavaScript | × |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
AppInsights Real-time Power BI
Application Insights から Power BI にリアルタイムの可用性データをプッシュする
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | × |
JavaScript | × |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
AppInsights Scheduled Analytics
Application Insights でアプリのテレメトリの詳細な分析を実行し、そこからメトリックを取得する
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | × |
JavaScript | × |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
AppInsights Scheduled Digest
1日 1回メールで Application Insights のテレメトリ レポートを送信する
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | × |
JavaScript | × |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
BlobTrigger
指定したコンテナーに BLOB が追加されると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | ○ (試験段階) |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | ○ (試験段階) |
CosmosDBTrigger
ドキュメントがドキュメント コレクション内で変更すると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | × |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
EventGridTrigger
Event Grid が新しいイベントを受信すると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | × |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
EventHubTrigger
イベント ハブが新しいイベントを受信すると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | ○ (試験段階) |
ExternalFileTrigger
外部ファイル プロバイダーにファイルが追加されると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | ○ (試験段階) |
C# | ○ (プレビュー) |
F# | ○ (プレビュー) |
JavaScript | ○ (プレビュー) |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
ExternalTable
HTTP 要求を受信すると外部テーブルからエンティティをフェッチする
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ (試験段階) |
F# | ○ (試験段階) |
JavaScript | × |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
FaceLocator
画像を処理して、顔に外接する長方形を出力する
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
Generic Webhook
webhook 要求を受信すると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | ○ (試験段階) |
GitHub Commenter
GitHub webhook 要求を受信すると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
GitHub Webhook
GitHub Webhook 要求を受信すると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | ○ (試験段階) |
HttpGET(CRUD)
HTTP 要求の受信時にストレージ テーブルからエンティティをフェッチする
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | ○ (試験段階) |
PowerShell | × |
Python | × |
TypeScript | × |
HttpPOST(CRUD)
HTTP 要求の受信時にストレージ テーブルにエンティティを追加する
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
HttpPOST(CRUD)Queue
HTTP POST を受信するとデータをキューにプッシュする
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | × |
F# | ○ |
JavaScript | × |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
HttpPUT(CRUD)
HTTP 要求を受信するとストレージ テーブルのエンティティを更新する
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | × |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
HttpTrigger
HTTP 要求を受信すると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | ○ (試験段階) |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | ○ (プレビュー) |
Python | ○ (試験段階) |
TypeScript | ○ (試験段階) |
HttpTriggerWithParameters
HTTP 要求を受信するたびに実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | × |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
Image resize
指定したコンテナーに BLOB が追加されるとサイズを変更した画像を作成する
開発言語 | テンプレートの有無 |
---|---|
Bash | なし |
Batch | なし |
C# | あり |
F# | あり |
JavaScript | なし |
PHP | なし |
PowerShell | なし |
Python | なし |
TypeScript | なし |
IoT Hub (EventHub)
IoT Hub が IoT Hub (Event Hub) から新しいイベントを受信すると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | ○ |
IoT Hub (ServiceBusQueue)
指定した Service Bus キューにメッセージが追加されると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | ○ (試験段階) |
IoT Hub (ServiceBusTopic)
指定した Service Bus Topic にメッセージが追加されると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | ○ (試験段階) |
ManualTrigger
ポータルの [実行] ボタンから手動でトリガーされる
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | ○ (試験段階) |
QueueTrigger
指定した Azure Queue Storage にメッセージが追加されると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | ○ (試験段階) |
Batch | ○ (試験段階) |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | ○ (試験段階) |
PowerShell | ○ (プレビュー) |
Python | ○ (試験段階) |
TypeScript | ○ (試験段階) |
SAS Token Generator
特定のコンテナーおよび BLOB 名について、Azure Storage の SAS トークンを生成する
※(JavaScript のみ) 外部ファイル プロバイダーにファイルが追加されると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ (プレビュー) |
PHP | なし |
PowerShell | なし |
Python | なし |
TypeScript | なし |
ScheduledMail
定期的にメールを送信する
開発言語 | テンプレートの有無 |
---|---|
Bash | なし |
Batch | なし |
C# | あり (プレビュー) |
F# | なし |
JavaScript | なし |
PHP | なし |
PowerShell | なし |
Python | なし |
TypeScript | なし |
SendGrid
特定のキューに新しい項目が追加されたときに確認メールを送信する
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | × |
ServiceBusQueueTrigger
指定した Service Bus キューにメッセージが追加されると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | ○ (試験段階) |
ServiceBusTopicTrigger
指定した Service Bus Topic にメッセージが追加されると実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | × |
Python | × |
TypeScript | ○ (試験段階) |
TimerTrigger
指定したスケジュールで実行される
開発言語 | テンプレートの有無 |
---|---|
Bash | × |
Batch | × |
C# | ○ |
F# | ○ |
JavaScript | ○ |
PHP | × |
PowerShell | ○ (プレビュー) |
Python | × |
TypeScript | ○ (試験段階) |
参考
- Microsoft Azure Cloud Computing Platform & Services
https://azure.microsoft.com/ja-jp/ - Azure Functions – サーバーレス アーキテクチャ | Microsoft Azure
https://azure.microsoft.com/ja-jp/services/functions/ - Azure Functions のドキュメント – チュートリアル | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/azure-functions/ - 価格 – Functions | Microsoft Azure
https://azure.microsoft.com/ja-jp/pricing/details/functions/ - Azure/azure-webjobs-sdk-templates – GitHub
https://github.com/Azure/azure-webjobs-sdk-templates/