入力バインディングを使用してデータを読み取る
データ ソースに接続するには、"入力バインディング" を構成する必要があります。 入力バインディングにより、最小限のコード記述でメッセージを作成できるようになります。 ストレージ接続を開くなど、タスクのコードを記述する必要はありません。これらのタスクは、Azure Functions ランタイムとバインディングによって処理されます。
入力バインディングの種類
Azure チェーン関数には、複数の種類の入力を含めることができます。 しかしながら、すべての種類で入力と出力の両方がサポートされているわけではありません。 その種類のデータを取り込みたい場合は、常に入力関数を使います。 ここでは、入力バインディングをサポートする入力関数の種類と、それらをいつ使うかを見ていきます。
Azure Blob Storage - Blob Storage バインディングを使用すると、BLOB から読み取りできます。
Azure Cosmos DB - Azure Cosmos DB 入力バインディングにより、SQL API を使用して 1 つまたは複数の Azure Cosmos DB ドキュメントが取得され、関数の入力パラメーターに渡されます。 ドキュメント ID、またはクエリ パラメーターは、関数を呼び出すトリガーに基づいて決定できます。
Mobile Apps - Mobile Apps 入力バインディングにより、モバイル テーブル エンドポイントからレコードが読み込まれ、関数に渡されます。
Azure Table Storage - Azure Table Storage からデータを読み込み、作業できます。
サポートされているバインドの完全な一覧については、こちらを参照してください
バインディングを入力として作成するには、direction
を in
に定義する必要があります。 パラメーターはバインディングの種類によって異なる場合があります。
バインド式とは
バインド式とは、function.json、関数パラメーター、またはコード内の特殊なテキストであり、関数が呼び出されたときに評価され、値を生成します。 たとえば、Service Bus キューのバインドがある場合、バインド式を使用して、アプリ設定からキューの名前を取得できます。
バインド式の種類
バインド式には、以下を含め、いくつかの種類があります。
- アプリの設定
- トリガー ファイル名
- トリガー メタデータ
- JSON ペイロード
- 新しい GUID
- 現在の日付と時刻
ほとんどのバインド式は、中かっこで囲まれていることで識別できます。 ただし、アプリ設定のバインド式は、中かっこではなく、パーセント記号で囲まれます。 たとえば、BLOB 出バインディング パスが %Environment%/newblob.txt
であり、アプリ設定の Environment 値が Development である場合、Development コンテナーに BLOB が作成されます。
まとめ
入力バインディングを使用すると、関数をデータ ソースに接続できます。 さまざまな種類のデータ ソースに接続できますが、種類によってパラメーターが異なります。 入力ソースからの値を解決するには、function.json ファイル、関数パラメーター、またはコードでバインド式を使用します。