新しい Blob または更新された Blob が検出されると、Azure Functions がトリガーされます。
Azure のドキュメントで述べられているように、ストレージコンテナ内の Blob の変更に基づいて関数コードを実行する方法はいくつかあります。Azure Functions の Blob Storage トリガーは、「
BLOB の操作」に詳しく書かれているように、いくつかの場合にのみ適切です。これは Blob が小さい場合にのみ使用すべきです。
概要
まず始めに、「
Azure Functions または AWS Lambda Function としてデプロイする GeneXus プロシージャーの作成方法」を確認してください。
関数をデプロイするには、デプロイツールを使用します。「
Azure Functions としてデプロイする方法」を参照してください。
このタイプの関数は、デプロイユニットの
[ Trigger Type ] プロパティを「
Blob」に設定する必要があります。
デプロイダイアログの [ Blob Connection App settings ] セクションで、以下のように設定します:
-
Name: Blob Storage への接続を含む Azure クラウドアプリケーション設定の名前です。すでにクラウド上で定義されていることもあれば、そうでないこともあります。そうでない場合は、次のプロパティで値を指定すれば、デプロイを使用してアプリケーション設定を作成できます。
-
Value: オプションで、Blob Storage の接続文字列を含むアプリケーション設定の値を指定します。デプロイエンジンは、この情報を使用してアプリケーション設定を作成します。
デプロイダイアログの [ Blob Storage Properties ] セクションで、 [ Blob Path ] プロパティを設定します。
[ Blob Path ] プロパティは Blob Storage コンテナを示し、名前のパターンを含んでいる必要があります。以下のような汎用のパターンを使用できます (波括弧内):
mycontainer/{name}
または、
ドキュメントに記載されているように、より複雑なパターンも使用できます。
GeneXus プロシージャーは、「
Azure Functions または AWS Lambda 関数としてデプロイする GeneXus プロシージャーの作成方法」で説明されている署名を持ちます。
この場合、EventMessage SDT はその各フィールドに以下を含みます:
- EventMessageId: Azure Functions の invocationId です。
- EventMessageSourceType: Blob
- EventMessageVersion: ""
- EventMessageDate: 実行の日時です。
- EventMessageData: 作成/更新されるファイルを含む文字列です。バイナリファイルの場合には、base 64 でエンコードされた文字列が含まれます。
- EventMessageProperties: 以下を含む、Blob のプロパティとメタデータです:
- Uri: プライマリロケーションのための Blob の URI です。
- name: 拡張子を含むファイルの名前です。
ジェネレーター: .NET
この機能は、
GeneXus 18 Upgrade 5 以降で利用できます。
Azure Functions