Azure Blob Storage によってトリガーされる関数の作成Create a function triggered by Azure Blob storage

Azure Blob Storage でファイルをアップロードしたり、更新したりするときにトリガーされる関数の作成方法について説明します。Learn how to create a function triggered when files are uploaded to or updated in Azure Blob storage.

ログ内のメッセージを表示します。

前提条件Prerequisites

Azure Function App の作成Create an Azure Function app

  1. Azure portal メニューから [リソースの作成] を選択します。From the Azure portal menu, select Create a resource.

    Azure portal メニューを使用してリソースを追加します

  2. [新規] ページで、 [計算][関数アプリ] の順に選択します。In the New page, select Compute > Function App.

  3. 図の下にある表に指定されている関数アプリの設定を使用します。Use the function app settings as specified in the table below the image.

    基本

    SettingSetting 推奨値Suggested value 説明Description
    サブスクリプションSubscription 該当するサブスクリプションYour subscription この新しい Function App が作成されるサブスクリプション。The subscription under which this new function app is created.
    リソース グループResource Group myResourceGroupmyResourceGroup Function App を作成するための新しいリソース グループの名前。Name for the new resource group in which to create your function app.
    関数アプリ名Function App name グローバルに一意の名前Globally unique name 新しい Function App を識別する名前。Name that identifies your new function app. 有効な文字は、a-z (大文字と小文字の区別をしない)、0-9、および -です。Valid characters are a-z (case insensitive), 0-9, and -.
    [発行]Publish コードCode コード ファイルまたは Docker コンテナーの公開オプション。Option to publish code files or a Docker container.
    ランタイム スタックRuntime stack 優先言語Preferred language お気に入りの関数プログラミング言語をサポートするランタイムを選択します。Choose a runtime that supports your favorite function programming language. C# および F# 関数用の [.NET] を選択します。Choose .NET for C# and F# functions.
    [リージョン]Region 優先リージョンPreferred region ユーザーに近いリージョン、または関数がアクセスする他のサービスの近くのリージョンを選択します。Choose a region near you or near other services your functions access.

    [Next : Hosting >](次へ: ホスティング>) ボタンを選択します。Select the Next : Hosting > button.

  4. ホスティングに関する次の設定を入力します。Enter the following settings for hosting.

    Hosting

    SettingSetting 推奨値Suggested value 説明Description
    ストレージ アカウントStorage account グローバルに一意の名前Globally unique name 関数アプリで使用されるストレージ アカウントを作成します。Create a storage account used by your function app. ストレージ アカウント名の長さは 3 ~ 24 文字で、数字と小文字のみを使用できます。Storage account names must be between 3 and 24 characters in length and may contain numbers and lowercase letters only. 既存のアカウントを使用することもできますが、ストレージ アカウントの要件を満たしている必要があります。You can also use an existing account, which must meet the storage account requirements.
    オペレーティング システムOperating system 優先オペレーティング システムPreferred operating system オペレーティング システムは、ランタイム スタックの選択に基づいてあらかじめ選択されますが、必要に応じて設定を変更できます。An operating system is pre-selected for you based on your runtime stack selection, but you can change the setting if necessary.
    プランPlan 従量課金プランConsumption plan Function App にどのようにリソースが割り当てられるかを定義するホスティング プラン。Hosting plan that defines how resources are allocated to your function app. 既定の [従量課金プラン] では、リソースは関数の必要に応じて動的に追加されます。In the default Consumption Plan, resources are added dynamically as required by your functions. このサーバーなしの ホスティングでは、関数が実行された時間にのみ課金されます。In this serverless hosting, you only pay for the time your functions run. App Service プランで実行する場合は、関数アプリのスケーリングを管理する必要があります。When you run in an App Service plan, you must manage the scaling of your function app.

    [Next : Monitoring >](次へ: 監視>) ボタンを選択します。Select the Next : Monitoring > button.

  5. 監視に関する次の設定を入力します。Enter the following settings for monitoring.

    監視

    SettingSetting 推奨値Suggested value 説明Description
    Application InsightsApplication Insights DefaultDefault 最も近いサポートされているリージョン内に同じアプリ名の Application Insights リソースを作成します。Creates an Application Insights resource of the same App name in the nearest supported region. この設定を展開することによって、 [新しいリソース名] を変更するか、またはデータを格納する Azure 地理的環境内の別の [場所] を選択することができます。By expanding this setting, you can change the New resource name or choose a different Location in an Azure geography where you want to store your data.

    [確認および作成] を選択して、アプリ構成の選択内容を確認します。Select Review + Create to review the app configuration selections.

  6. [作成] を選択して、Function App をプロビジョニングし、デプロイします。Select Create to provision and deploy the function app.

  7. ポータルの右上隅の通知アイコンを選択し、"デプロイメントに成功しました" というメッセージが表示されるまで待ちます。Select the Notification icon in the upper-right corner of the portal and watch for the Deployment succeeded message.

    デプロイの通知

  8. [リソースに移動] を選択して、新しい関数アプリを確認します。Select Go to resource to view your new function app. また、 [ダッシュボードにピン留めする] を選択することもできます。You can also select Pin to dashboard. ピン留めすると、ダッシュボードからこの関数アプリ リソースに戻るのが容易になります。Pinning makes it easier to return to this function app resource from your dashboard.

Function App が正常に作成されました。

次に、新しい Function App で関数を作成します。Next, you create a function in the new function app.

Blob Storage でトリガーされる関数の作成Create a Blob storage triggered function

  1. Function App を展開し、 [関数] の横にある [+] ボタンをクリックします。Expand your function app and click the + button next to Functions. これが関数アプリの初めての関数の場合は、 [ポータル内][続行] の順に選択します。If this is the first function in your function app, select In-portal then Continue. それ以外の場合は、手順 3 に進みます。Otherwise, go to step three.

    Azure Portal での関数のクイック スタート ページ

  2. [その他のテンプレート][Finish and view templates](終了してテンプレートを表示) の順に選択します。Choose More templates then Finish and view templates.

    Functions のクイック スタート: [その他のテンプレート] を選択する

  3. 検索フィールドに「blob」と入力し、BLOB トリガー テンプレートを選択します。In the search field, type blob and then choose the Blob trigger template.

  4. プロンプトが表示されたら、 [インストール] を選択して Azure Storage 拡張機能とすべての依存関係を関数アプリにインストールします。If prompted, select Install to install the Azure Storage extension any dependencies in the function app. インストールが正常に完了したら、 [続行] を選択します。After installation succeeds, select Continue.

    バインディング拡張機能をインストールする

  5. 画像の下の表に指定した設定を使用してください。Use the settings as specified in the table below the image.

    Blob Storage でトリガーされる関数を作成します。

    SettingSetting 推奨値Suggested value DescriptionDescription
    NameName Function App 内で一意Unique in your function app この BLOB によってトリガーされる関数の名前。Name of this blob triggered function.
    パスPath samples-workitems/{name}samples-workitems/{name} 監視されている Blob Storage ストレージ内の位置。Location in Blob storage being monitored. Blob のファイル名は、name パラメーターとしてバインディングで渡されます。The file name of the blob is passed in the binding as the name parameter.
    ストレージ アカウント接続Storage account connection AzureWebJobsStorageAzureWebJobsStorage Function App によって既に使用されているストレージ アカウント接続を使用するか、新しく作成できます。You can use the storage account connection already being used by your function app, or create a new one.
  6. [作成] をクリックして関数を作成します。Click Create to create your function.

次に、Azure Storage アカウントに接続し、samples-workitems コンテナーを作成します。Next, you connect to your Azure Storage account and create the samples-workitems container.

コンテナーの作成Create the container

  1. 関数で、 [統合] をクリックし、 [ドキュメント] を展開して、 [アカウント名][アカウント キー] の両方をコピーします。In your function, click Integrate, expand Documentation, and copy both Account name and Account key. これらの資格情報を使用して、ストレージ アカウントに接続します。You use these credentials to connect to the storage account. ストレージ アカウントに既に接続している場合は、手順 4 に進みます。If you have already connected your storage account, skip to step 4.

    ストレージ アカウント接続の資格情報を取得します。

  2. Microsoft Azure Storage Explorer ツールを実行し、左側の接続アイコンをクリックして、 [Use a storage account name and key] (ストレージ アカウント名とキーを使用) を選択し、 [次へ] をクリックします。Run the Microsoft Azure Storage Explorer tool, click the connect icon on the left, choose Use a storage account name and key, and click Next.

    ストレージ アカウント エクスプローラー ツールを実行します。

  3. 手順 1 の [アカウント名][アカウント キー] を入力し、 [次へ] をクリックし、 [接続] をクリックします。Enter the Account name and Account key from step 1, click Next and then Connect.

    ストレージ資格情報を入力し、接続します。

  4. 接続されたストレージ アカウントを展開し、 [Blob containers] (Blob コンテナー) を右クリックして、 [Create blob container] (Blob コンテナーの作成) をクリックし、「samples-workitems」と入力して、Enter キーを押します。Expand the attached storage account, right-click Blob containers, click Create blob container, type samples-workitems, and then press enter.

    ストレージ キューを作成します。

Blob コンテナーが用意されているので、このコンテナーにファイルをアップロードすることによって、関数をテストできます。Now that you have a blob container, you can test the function by uploading a file to the container.

関数をテストするTest the function

  1. Azure Portal に戻り、関数を参照して、ページ下部の [ログ] を展開して、ログ ストリーミングが一時停止していないことを確認します。Back in the Azure portal, browse to your function expand the Logs at the bottom of the page and make sure that log streaming isn't paused.

  2. Storage Explorer で、ストレージ アカウント、 [Blob containers] (BLOB コンテナー)、 [samples-workitems] の順に展開します。In Storage Explorer, expand your storage account, Blob containers, and samples-workitems. [アップロード][Upload files...] (ファイルをアップロードしています...) の順にクリックします。Click Upload and then Upload files....

    Blob コンテナーにファイルをアップロードします。

  3. [Upload files] (ファイルのアップロード) ダイアログ ボックスで、 [ファイル] フィールドをクリックします。In the Upload files dialog box, click the Files field. 画像ファイルなど、ローカル コンピューター上のファイルを参照して選択し、 [開く][アップロード] の順にクリックします。Browse to a file on your local computer, such as an image file, select it and click Open and then Upload.

  4. 関数ログに戻り、Blob が読み取られたことを確認します。Go back to your function logs and verify that the blob has been read.

    ログ内のメッセージを表示します。

    注意

    既定の従量課金プランで Function App を実行する場合、Blob が追加されたり更新されてから関数がトリガーされるまで、最高数分間の遅延が生じることがあります。When your function app runs in the default Consumption plan, there may be a delay of up to several minutes between the blob being added or updated and the function being triggered. Blob でトリガーされた関数で待機時間を短くする必要がある場合は、App Service プランで Function App を実行することを検討してください。If you need low latency in your blob triggered functions, consider running your function app in an App Service plan.

リソースのクリーンアップClean up resources

このコレクションの他のクイック スタートは、このクイック スタートに基づいています。Other quick starts in this collection build upon this quick start. クイック スタート、チュートリアル、またはこのクイック スタートで作成したサービスのいずれかでの作業を引き続き行う場合は、リソースをクリーンアップしないでください。If you plan to work with subsequent quick starts, tutorials, or with any of the services you have created in this quick start, do not clean up the resources.

Azure のリソースとは、Function App、関数、ストレージ アカウントなどのことを指します。Resources in Azure refers to function apps, functions, storage accounts, and so forth. これらはリソース グループに分類されており、グループを削除することでグループ内のすべてのものを削除できます。They are grouped into resource groups, and you can delete everything in a group by deleting the group.

これらのクイックスタートを完了するためにリソースを作成しました。You created resources to complete these quickstarts. これらのリソースには、アカウントの状態サービスの価格に応じて課金される場合があります。You may be billed for these resources, depending on your account status and service pricing. リソースの必要がなくなった場合にそれらを削除する方法を、次に示します。If you don't need the resources anymore, here's how to delete them:

  1. Azure Portal で、 [リソース グループ] ページに移動します。In the Azure portal, go to the Resource group page.

    Function App ページからこのページに移動するには、 [概要] タブを選択してから、 [リソース グループ] の下にあるリンクを選択します。To get to that page from the function app page, select the Overview tab and then select the link under Resource group.

    Function App ページから削除するリソース グループを選択します。

    ダッシュボードからこのページに移動するには、 [リソース グループ] を選択してから、このクイックスタート用に使用したリソース グループを選択します。To get to that page from the dashboard, select Resource groups, and then select the resource group that you used for this quickstart.

  2. [リソース グループ] ページで、含まれているリソースの一覧を確認し、削除するものであることを確認します。In the Resource group page, review the list of included resources, and verify that they are the ones you want to delete.

  3. [リソース グループの削除] を選択し、指示に従います。Select Delete resource group, and follow the instructions.

    削除には数分かかることがあります。Deletion may take a couple of minutes. 実行されると、通知が数秒間表示されます。When it's done, a notification appears for a few seconds. ページの上部にあるベルのアイコンを選択して、通知を表示することもできます。You can also select the bell icon at the top of the page to view the notification.

次の手順Next steps

Blob Storage で Blob が追加または更新されたときに実行する関数を作成しました。You have created a function that runs when a blob is added to or updated in Blob storage. Blob Storage トリガーの詳細については、「Azure Functions における Blob Storage バインディング」を参照してください。For more information about Blob storage triggers, see Azure Functions Blob storage bindings.

最初の関数を作成した後は、メッセージを Storage キューに書き込む出力バインディングをこの関数に追加しましょう。Now that you have created your first function, let's add an output binding to the function that writes a message to a Storage queue.