Functions を使用して Azure Storage キューにメッセージを追加するAdd messages to an Azure Storage queue using Functions

Azure Functions では、入力および出力バインディングによって、外部サービスからのデータをコードに使用できるようにする宣言方法が提供されます。In Azure Functions, input and output bindings provide a declarative way to make data from external services available to your code. このクイックスタートでは、出力バインディングを使用して、関数が HTTP 要求によってトリガーされたときにキューにメッセージを作成します。In this quickstart, you use an output binding to create a message in a queue when a function is triggered by an HTTP request. 関数で作成するキュー メッセージを表示するには、Azure ストレージ エクスプローラーを使用します。You use Azure Storage Explorer to view the queue messages that your function creates:

ストレージ エクスプローラーに表示されたキュー メッセージ

前提条件Prerequisites

このクイック スタートを完了するには、以下が必要です。To complete this quickstart:

出力バインディングを追加するAdd an output binding

このセクションでは、Portal UI を使用して、前に作成した関数にキュー ストレージの出力バインディングを追加します。In this section, you use the portal UI to add a queue storage output binding to the function you created earlier. このバインディングにより、最小限のコードの記述でキューにメッセージを作成できるようになります。This binding will make it possible to write minimal code to create a message in a queue. ストレージ接続のオープン、キューの作成、キューへの参照の取得などのタスクのためにコードを記述する必要はありません。You don't have to write code for tasks such as opening a storage connection, creating a queue, or getting a reference to a queue. Azure Functions ランタイムおよびキューの出力バインディングが、ユーザーに代わってこれらのタスクを処理します。The Azure Functions runtime and queue output binding take care of those tasks for you.

  1. Azure Portal で、「Azure Portal で初めての関数を作成する」で作成した Function App の Function App ページを開きます。In the Azure portal, open the function app page for the function app that you created in Create your first function from the Azure portal. そのためには、[すべてのサービス]、[Function App] の順に選択して、関数アプリを選択します。To do this, select All services > Function Apps, and then select your function app.

  2. 前のクイックスタートで作成した関数を選択します。Select the function that you created in that earlier quickstart.

  3. [統合] > [新しい出力] > [Azure Queue Storage] の順に選択します。Select Integrate > New output > Azure Queue storage.

  4. [選択] をクリックします。Click Select.

    Azure Portal 内の関数に Queue Storage の出力バインディングを追加します。

  5. メッセージ "拡張機能がインストールされていません" が表示された場合は、[インストール] を選択して、関数アプリに Storage バインディング拡張機能をインストールします。If you get an Extensions not installed message, choose Install to install the Storage bindings extension in the function app. これには 1 ~ 2 分ほどかかることがあります。This may take a minute or two.

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

  6. [Azure Queue Storage の出力] の下で、このスクリーンショットの次の表で指定されている設定を使用します。Under Azure Queue Storage output, use the settings as specified in the table that follows this screenshot:

    Azure Portal 内の関数に Queue Storage の出力バインディングを追加します。

    SettingSetting 推奨値Suggested value 説明Description
    メッセージ パラメーター名Message parameter name outputQueueItemoutputQueueItem 出力バインディング パラメーターの名前。The name of the output binding 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.
    キュー名Queue name outqueueoutqueue ストレージ アカウント内の接続先のキューの名前。The name of the queue to connect to in your Storage account.
  7. [保存] をクリックしてバインディングを追加します。Click Save to add the binding.

出力バインディングが定義されたので、コードを更新し、バインディングを使用して、メッセージをキューに追加する必要があります。Now that you have an output binding defined, you need to update the code to use the binding to add messages to a queue.

出力バインディングを使用するコードを追加するAdd code that uses the output binding

このセクションでは、出力キューにメッセージを書き込むコードを追加します。In this section, you add code that writes a message to the output queue. メッセージには、クエリ文字列の HTTP トリガーに渡される値が含まれています。The message includes the value that is passed to the HTTP trigger in the query string. たとえば、クエリ文字列に name=Azure が含まれる場合、キュー メッセージは「Name passed to the function: Azure」(関数に渡された名前: Azure) になります。For example, if the query string includes name=Azure, the queue message will be Name passed to the function: Azure.

  1. 関数を選択し、エディターに関数コードを表示します。Select your function to display the function code in the editor.

  2. 関数の言語に応じて関数コードを更新します。Update the function code depending on your function language:

    次の例で示すように、outputQueueItem パラメーターをメソッド シグネチャに追加します。Add an outputQueueItem parameter to the method signature as shown in the following example.

    public static async Task<IActionResult> Run(HttpRequest req,
        ICollector<string> outputQueueItem, ILogger log)
    {
        ...
    }
    

    return ステートメントの直前の関数の本体で、パラメーターを使用してキュー メッセージを作成するコードを追加します。In the body of the function just before the return statement, add code that uses the parameter to create a queue message.

    outputQueueItem.Add("Name passed to the function: " + name);
    
  3. [保存] を選択して変更を保存します。Select Save to save changes.

関数をテストするTest the function

  1. コードの変更が保存されたら、[実行] を選択します。After the code changes are saved, select Run.

    Azure Portal 内の関数に Queue Storage の出力バインディングを追加します。

    要求本文nameAzure が含まれていることに注意してください。Notice that the Request body contains the name value Azure. この値は、関数が呼び出されたときに作成されるキュー メッセージに表示されます。This value appears in the queue message that is created when the function is invoked.

    ここで [実行] を選択する代わりに、ブラウザーで URL を入力してクエリ文字列に name 値を指定することで、関数を呼び出すことができます。As an alternative to selecting Run here, you can call the function by entering a URL in a browser and specifying the name value in the query string. このブラウザーの方法は、前のクイック スタートで示されています。The browser method is shown in the previous quickstart.

  2. ログを確認して、関数が成功したことを確認します。Check the logs to make sure that the function succeeded.

出力バインディングを最初に使用するときに、outqueue という名前の新しいキューが、Functions ランタイムによってストレージ アカウントに作成されます。A new queue named outqueue is created in your Storage account by the Functions runtime when the output binding is first used. キューとその中のメッセージが作成されたことを確認するには、ストレージ エクスプローラーを使用します。You'll use Storage Explorer to verify that the queue and a message in it were created.

ストレージ エクスプローラーをアカウントに接続するConnect Storage Explorer to your account

ストレージ エクスプ ローラーが既にインストールされていて、このクイックスタートで使用するストレージ アカウントに接続されている場合は、このセクションをスキップしてください。Skip this section if you have already installed Storage Explorer and connected it to the storage account that you're using with this quickstart.

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

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

  2. Azure Portal の Function App ページで、関数を選択し、[統合] を選択します。In the Azure portal, on the function app page, select your function and then select Integrate.

  3. 前の手順で追加した Azure Queue Storage 出力バインディングを選択します。Select the Azure Queue storage output binding that you added in an earlier step.

  4. ページの下部の [ドキュメント] セクションを展開します。Expand the Documentation section at the bottom of the page.

    ストレージ エクスプローラーでストレージ アカウントへの接続に使用できる資格情報が、Portal に表示されます。The portal shows credentials that you can use in Storage Explorer to connect to the storage account.

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

  5. Portal の [アカウント名] の値をコピーして、ストレージ エクスプローラ-の [アカウント名] ボックスに貼り付けます。Copy the Account Name value from the portal and paste it in the Account name box in Storage Explorer.

  6. [アカウント キー] の横にある表示/非表示アイコンをクリックして値を表示し、[アカウント キー] の値をコピーして、ストレージ エクスプローラーの [アカウント キー] ボックスに貼り付けます。Click the show/hide icon next to Account Key to display the value, and then copy the Account Key value and paste it in the Account key box in Storage Explorer.

  7. [次へ] > [接続] の順に選択します。Select Next > Connect.

    ストレージ資格情報を貼り付けて接続します。

出力キューを確認するExamine the output queue

  1. ストレージ エクスプローラーで、このクイックスタートに使用するストレージ アカウントを選択します。In Storage Explorer, select the storage account that you're using for this quickstart.

  2. [キュー] ノードを展開して、outqueue という名前のキューを選択します。Expand the Queues node, and then select the queue named outqueue.

    このキューには、HTTP によってトリガーされる関数を実行したときにキューの出力バインディングが作成されたというメッセージが含まれます。The queue contains the message that the queue output binding created when you ran the HTTP-triggered function. Azure の既定の name 値で関数を呼び出した場合、キュー メッセージは「Name passed to the function: Azure」(関数に渡された名前: Azure) になります。If you invoked the function with the default name value of Azure, the queue message is Name passed to the function: Azure.

    ストレージ エクスプローラーに表示されたキュー メッセージ

  3. 関数を再度実行すると、キューに新しいメッセージが表示されます。Run the function again, and you'll see a new message appear in the queue.

リソースのクリーンアップ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

このクイックスタートでは、既存の関数に出力バインディングを追加しました。In this quickstart, you added an output binding to an existing function. Queue Storage へのバインディングの詳細については、「Azure Functions における Storage キュー バインド」を参照してください。For more information about binding to Queue storage, see Azure Functions Storage queue bindings.