Azure Functions CLI でタイマー関数を作成する

Azure Cloud Shell 上で Azure Functions Core Tools(`func` CLI)を使って、タイマートリガーで定期実行される C# Function を作成・編集・実行する流れを体験する初学者向けラボです。

入門45Azure 実環境

ラボ概要

学習目標

  • Azure Functions Core Tools(func CLI)の基本コマンドを理解する
  • func init で Function プロジェクトを初期化する
  • func new でタイマートリガーの関数を追加する
  • CRON 式を編集して関数のスケジュールを変更する(0 */1 * * * * で毎分実行)
  • Storage 接続文字列を local.settings.json に設定して関数を実行する
  • func host start で Functions ランタイムを起動し、スケジュール実行をローカルで観察する
前提知識

  • Azure ポータルの基本操作
  • ターミナル(Bash)の基本操作
  • C# / .NET の基本(または読める程度)
  • CRON 式の概念
事前に用意されているもの

  • Resource Group(rg- で始まる名前)
  • Cloud Shell 用 Storage Account(labshell で始まる名前、Standard_LRS)
  • Azure Portal 用一時ユーザ(Lab Credentials から取得)
> 注: 本ラボは Azure 上に Function App リソースを作成しません。ローカル(Cloud Shell)で関数を作成し、ローカルで実行する 開発体験を学びます。

完了条件

  • Cloud Shell が Bash モードで起動し、永続ストレージがマウントされている
  • func init で Function プロジェクトが作成された
  • func new でタイマートリガー関数(ScheduledFunction)が追加された
  • CRON 式が 0 */1 * * * *(毎分)に変更されている
  • local.settings.jsonAzureWebJobsStorage に Storage 接続文字列が設定されている
  • func host start で Functions ランタイムが起動し、関数が毎分実行されることを確認した

ラボの構成

  1. 1Azure ポータルにサインインして Cloud Shell を起動
  2. 2Cloud Shell を Bash モードで構成
  3. 3Function プロジェクトを作成
  4. 4タイマートリガー関数を追加
  5. 5CRON 式を毎分実行に変更
  6. 6Storage 接続文字列を設定
  7. 7.NET バージョンを確認(任意)
  8. 8Functions ランタイムを起動

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

構成図

参考リソース