2017-09-11 2 views
0

azureストレージアカウントにダンプされたデータを処理するWebジョブを書いています
mystorage/data/{yyyy}/{MM}/{ddAzureジョブBlobTriggerパスのパスに年月日形式を持つ

void Foo(BlobTrigger(" mystorage/data/{yyyy}/{MM}/{dd}/app.csv") Stream message, TextWriter log) 
{ 
} 

これは可能ですが、次は何私がBlobtriggerで今やりたい}は

を/app.csv?今日はyyyy、MM、およびddに解析される日付が欲しいです。基本的には、ブロブ内のファイルのパスの一部である今日の日付に基づいてブロブをトリガーする必要があります。

+0

blobをファイル構造として作成することはできません。ファイルストレージについては、https://docs.microsoft.com/en-us/azure/storage/files/storage-files-introduction – Fals

+0

を参照してください。絶対に可能です。私はBLOBストレージアカウントにその構造を作成しているADFのpipleを持っています –

+0

本当にサブフォルダ/コンテナを作成する必要がありますか?多分あなたは{yyyy} - {MM} - {dd} -app.csvのようなファイルパターンを使うべきです。私はblobtriggerがダイナミックなフォルダ名を扱うとは思わない、ちょうど動的なblob名 – Thomas

答えて

0

はい、このようなブロブに対してAzure関数をトリガーできます。サンプル関数の定義は次のとおりです。

たとえば、次のようなブロブを作成するとトリガーされます。容器内のdata/2017/09/12/app.csvmystorage

日付部分は検証されません。通常の文字列として使用されます。たとえば、data/A/B/C/app.csvも処理されます。入力パラメーターのタイプをintに変更できますが、これは非数値パスのバインディング例外を引き起こします。手動で日付を解析するのは簡単です:

if (DateTime.TryParse($"{yyyy}-{MM}-{dd}", out DateTime date)) 
{ 
    log.Info($"Found {date}"); 
} 
関連する問題