0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Azure Cosmos DB - Functionsのトリガーに使用する

Last updated at Posted at 2021-07-25

目的

公式ドキュメント

Azure Cosmos DB によってトリガーされる関数を作成する
関数の作成にはVSCodeを使用する

監視対象のCosmosDB

image-20210725162151807.png

Azure Cosmos DB アカウント:hashimoto-cosmosdb
データベース名:TestDB
コレクション名:TestTable

関数の作成

1.トリガーの選択

image-20210725163620593.png

2.接続情報の選択
+ Create new local app settingで設定を新規作成

image-20210725163632902.png

3.監視対象のCosmosDBアカウント名を選択

image-20210725163642967.png

4.監視対象のデータベース名(TestDB)を入力

image-20210725163655154.png

5.監視対象のコレクション名(TestTable)を入力

image-20210725163708992.png

6.リースを格納するコレクション名(leases※デフォルト)を入力

image-20210725163717413.png

7.リースを格納するコレクションが無かった場合に自動生成するかどうかを選択

image-20210725163725504.png

CosmosTrigger1/function.jsonの内容

image-20210725164056347.png

local.settings.jsonの内容
hashimotocosmosdb_DOCUMENTDBは、2.接続情報の選択で生成されたもの

image-20210725163850581.png

local.settings.jsonは、ローカル環境での実行/デバッグ用の設定のため、クラウド環境での実行には環境変数の追加が必要

環境変数の追加

1.CosmosDBの接続文字列をコピーする ※リースを格納するため書き込み権限が必要

image-20210725164718662.png

Azure Portalの場合

1.png

  1. 該当関数アプリの構成 - + 新しいアプリケーション設定から、先ほどコピーした CosmosDBの接続文字列を名前CosmosDbConnectionStringで追加する

VSCodeの場合

公式ドキュメントを参考に関数アプリの設定を更新する

  1. F1 キーを押してコマンド パレットを開き、コマンド Azure Functions: Add New Setting... を検索して実行する
  2. 対象の関数アプリを選択します。 プロンプトで、次の情報を入力する
    • 新しいアプリ設定名を入力する: CosmosDbConnectionString
    • "CosmosDbConnectionString" の値を入力する: 先ほどコピーした CosmosDBの接続文字列
  3. F1 キーをもう一度押してコマンド パレットを開き、コマンド Azure Functions: Download Remote Settings... を検索して実行する
  4. 前の記事で作成した関数アプリを選択します。 [すべてはい] を選択して既存のローカル設定を上書きする
  5. 以下のようにlocal.settings.jsonCosmosDbConnectionStringが追加される

image-20210725165705526.png

関数の設定を更新する

既存関数の場合

CosmosTrigger1/function.jsonの内容を変更する

image-20210725170117164.png

新規関数を作成する場合

「2.接続情報の選択」でlocal.settings.jsonに追加した設定を選択

image-20210725170637587.png

local.settings.jsonCosmosDbConnectionStringhashimotocosmosdb_DOCUMENTDBは一致しており内容に問題があるわけではない

動作確認

コレクションにアイテムを追加

image-20210725170442067.png

関数ログが出力されることを確認

image-20210725170519835.png

※アイテムの追加、更新ではトリガーされるが、削除ではトリガーされない

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?