入力バインディングを使用してデータを読み取る
データ ソースに接続するには、 入力バインディングを構成する必要があります。 入力バインディングにより、最小限のコード記述でメッセージを作成できるようになります。 ストレージ接続を開くなど、タスクのコードを記述する必要はありません。これらのタスクは、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
され、環境アプリの設定値が [開発] の場合、開発コンテナーに BLOB が作成されます。
まとめ
入力バインディングを使用すると、関数をデータ ソースに接続できます。 さまざまな種類のデータ ソースに接続できますが、種類によってパラメーターが異なります。 入力ソースから値を解決するには、 function.json ファイル、関数パラメーター、またはコードでバインド式を使用します。