次の方法で共有


Blob Storage でトリガーされる Azure 関数の作成

Blob Storage コンテナーでファイルをアップロードしたり、更新したりするときにトリガーされる関数の作成方法について説明します。

Note

ポータル内編集は、JavaScript、PowerShell、C# スクリプト関数でのみサポートされています。 Python のポータル内編集は、従量課金プランで実行されている場合にのみサポートされます。 ポータル内編集をサポートする C# スクリプト アプリを作成するには、インプロセス モデルをサポートするランタイム バージョンを選択する必要があります。

可能であれば、関数をローカルで開発する必要があります。

Azure portal での関数コードの編集に関する制限事項の詳細については、「Azure portal での開発制限事項」を参照してください。

前提条件

  • Azure サブスクリプション。 お持ちでない場合は、開始する前に無料アカウントを作成してください。

Azure Function App の作成

  1. Azure portal のメニューまたは [ホーム] ページから [リソースの作成] を選択します。

  2. [新規] ページで、 [計算]>、 [関数アプリ] の順に選択します。

  3. [ホスティング オプションを選択する] で、[従量課金]>[選択] を選択して、既定の従量課金プランでアプリを作成します。 このサーバーレスのホスティング オプションでは、関数が実行された時間にのみ課金されます。 Premium プランでは、動的スケーリングも提供されます。 App Service プランで実行する場合は、関数アプリのスケーリングを管理する必要があります。

  4. [基本] ページで、下の表に指定されている関数アプリの設定を使用します。

    設定 提案された値 説明
    サブスクリプション 該当するサブスクリプション 新しい関数アプリを作成するサブスクリプション。
    リソース グループ myResourceGroup 関数アプリを作成する新しいリソース グループの名前。 既存のリソース グループに新しい関数アプリを作成する際の既知の制限があるため、新しいリソース グループを作成する必要があります。
    関数アプリ名 グローバルに一意の名前 新しい関数アプリを識別する名前。 有効な文字は、a-z (大文字と小文字の区別をしない)、0-9、および -です。
    ランタイム スタック 優先言語 お気に入りの関数プログラミング言語をサポートするランタイムを選択します。 ポータル内編集は、JavaScript、PowerShell、Python、TypeScript、C# スクリプトでのみ利用できます。
    ポータル内編集をサポートする C# スクリプト アプリを作成するには、インプロセス モデルをサポートするランタイム バージョンを選択する必要があります。
    C# クラス ライブラリ、Java の関数はローカルで開発する必要があります。
    バージョン バージョン番号 インストールされているランタイムのバージョンを選択します。
    リージョン 優先リージョン 自分の近く、または関数がアクセスできる他のサービスの近くのリージョンを選択します。
    オペレーティング システム Windows オペレーティング システムは、ランタイム スタックの選択に基づいてあらかじめ選択されますが、必要に応じて設定を変更できます。 ポータルでの編集は Windows でのみサポートされます。
  5. 残りのタブの既定のオプション ([ストレージ] タブで新しいストレージ アカウントを作成する既定の動作や、[監視] タブの新しい Application Insights インスタンスなど) は、そのまま受け入れます。既存のストレージ アカウントまたは Application Insights インスタンスを使用することもできます。

  6. [確認と作成] を選択して選択したアプリ設定をレビューし、[作成] を選択して関数アプリをプロビジョニングおよびデプロイします。

  7. ポータルの右上隅の [通知] アイコンを選択し、"デプロイメントに成功しました" というメッセージが表示されるまで待ちます。

  8. [リソースに移動] を選択して、新しい関数アプリを確認します。 また、 [ダッシュボードにピン留めする] を選択することもできます。 ピン留めすると、ダッシュボードからこの関数アプリ リソースに戻るのが容易になります。

    デプロイの通知のスクリーンショット。

これで、新しい関数アプリを作成できました。 次に、新しい Function App で関数を作成します。

Azure Blob Storage でトリガーされる関数の作成

  1. 関数アプリで [概要] を選択し、[関数][+ 作成] を選択します。

  2. [テンプレートの選択] で、[Blob トリガー] テンプレートを選択し、[次へ] を選択します。

  3. [テンプレートの詳細] で、次の表に示す設定を使用して新しいトリガーを構成し、[作成] を選択します。

    設定 提案された値 説明
    職務タイプ アプリに追加 この設定は、Python v2 アプリの場合にのみ表示されます。
    新規関数 Function App 内で一意 この BLOB によってトリガーされる関数の名前。
    パス samples-workitems/{name} 監視されている Blob Storage ストレージ内の位置。 Blob のファイル名は、name パラメーターとしてバインディングで渡されます。
    ストレージ アカウント接続 AzureWebJobsStorage Function App によって既に使用されているストレージ アカウント接続を使用するか、新しく作成できます。

    Azure で、指定された値に基づいて Blob Storage によってトリガーされる関数が作成されます 次に、samples-workitems コンテナーを作成します。

コンテナーの作成

  1. 関数アプリの [概要] ページに戻り、お使いの [リソース グループ] を選択し、そのリソース グループ内のストレージ アカウントを見つけて選択します。

  2. ストレージ アカウント ページで [データ ストレージ]>[コンテナー]>[+ コンテナー] の順に選択します。

  3. [名前] フィールドに、「samples-workitems」と入力し、[作成] を選択してコンテナーを作成します。

  4. 新しい samples-workitems コンテナーを選択します。このコンテナーを使用して、ファイルをコンテナーにアップロードし、関数をテストします。

関数をテストする

  1. 新しいブラウザー ウィンドウで関数アプリのページに戻り、[ログ ストリーム] を選択します。これにより、アプリのリアルタイム ログが表示されます。

  2. samples-workitems コンテナーのページで、[アップロード]>[ファイルの参照] の順に選択し、ローカル コンピューター上のファイル (イメージ ファイルなど) を参照し、そのファイルを選択します。

  3. [開く][アップロード] の順に選択します。

  4. 関数アプリのログに戻り、BLOB が読み取られたことを確認します。

    Note

    既定の従量課金プランで Function App を実行する場合、Blob が追加されたり更新されてから関数がトリガーされるまで、最高数分間の遅延が生じることがあります。 BLOB によってトリガーされる関数で低待ち時間が必要な場合は、こちらの他の BLOB トリガー オプションのいずれかを検討してください。

リソースをクリーンアップする

このコレクションの他のクイックスタートは、このクイックスタートに基づいています。 クイック スタート、チュートリアル、またはこのクイック スタートで作成したサービスのいずれかでの作業を引き続き行う場合は、リソースをクリーンアップしないでください。

Azure の "リソース" とは、関数アプリ、関数、ストレージ アカウントなどのことを指します。 これらは "リソース グループ" に分類されており、グループを削除することでグループ内のすべてのものを削除できます。

これで、これらのクイックスタートを完了するためのリソースが作成されました。 アカウントの状態サービスの価格によっては、これらのリソースに対して課金される可能性があります。 リソースの必要がなくなった場合にそれらを削除する方法を、次に示します。

  1. Azure Portal で、 [リソース グループ] ページに移動します。

    関数アプリ ページからこのページに移動するには、[概要] タブを選択し、[リソース グループ] の下にあるリンクを選択します。

    関数アプリのページから削除するリソース グループの選択を示すスクリーンショット。

    ダッシュボードからこのページに移動するには、 [リソース グループ] を選択してから、この記事用に使用したリソース グループを選択します。

  2. [リソース グループ] ページで、含まれているリソースの一覧を確認し、削除するものであることを確認します。

  3. [リソース グループの削除] を選択し、指示に従います。

    削除には数分間かかることがあります。 実行されると、通知が数秒間表示されます。 ページの上部にあるベルのアイコンを選択して、通知を表示することもできます。

次のステップ

Blob Storage で Blob が追加または更新されたときに実行する関数を作成しました。 Blob Storage トリガーの詳細については、「Azure Functions における Blob Storage バインディング」を参照してください。

最初の関数を作成した後は、メッセージを Storage キューに書き込む出力バインディングをこの関数に追加しましょう。