2016-09-23 11 views
0

私はSaaSファイルトリガを使用してFTPサイト内の新しいファイルをリッスンしようとしています。まず、"path": "inputTest/{folder}/{fileName}"のような変数フォルダを定義することはできますか?または、おそらく、すべてのサブフォルダの新しいファイルを聴いて、inputTest/{file}のようにファイル名にパスを含めます。ここで、file"subfolder/fileName.txt"と等しいかもしれませんか?ここでのアイデアは、複数のクライアントが自分のディレクトリにファイルをアップロードすることになり、それぞれのために新しい機能/トリガーを作成したくないということです。Azureの機能SaaSファイルバインディングでフォルダ名とファイル名を設定する方法はありますか?

同じことが出力になります。さまざまなフォルダに書き込むことができるSasSファイルバインディングが必要です。私はhereと記載された方法を使用することができると思うが、私はまだそれをテストする必要があります。私は、入力ファイルを一度に1行ずつ読み込み、何らかの方法で行を処理し、別のファイルに書き出すことを考えています。基本的に変換。これを行う他の方法があるかもしれませんが、私はこのバインディングをよりよく理解したいと思います。


UPDATE

私は結合出力のために次のことを試してみました:

using System; 
using Microsoft.Azure.WebJobs; 

public static void Run(string input, IBinder output, TraceWriter log) 
{ 
    string connectionStringSetting = Environment.GetEnvironmentVariable(
     "ftp_FTP", EnvironmentVariableTarget.Process); 
    var path = "InputTest/SubFolder/fileName.txt"; 
    log.Info($"Writing to {path}..."); 
    using (var writer = output.Bind<TextWriter>(
     new ApiHubFileAttribute(connectionStringSetting, path))) 
    { 
     writer.Write(input); 
    } 
    log.Info("Done writing..."); 
} 

私はApiHubFileAttributeためMicrosoft.Azure.WebJobs.Extensions.ApiHub NuGetパッケージが含まれています。私はエラーException binding parameter 'output'. Microsoft.Azure.WebJobs.Extensions.ApiHub: Unsupported type:Microsoft.Azure.WebJobs.IBinderを得ました。どんな助けもありがとう。

+0

'IBinder'を使用するときは、そのパラメータの' function.json'ファイルにマッピングされたパラメータを持たないようにしてください。だからあなたはエラーを受けている。 – mathewc

+0

ルートフォルダのサブフォルダに追加されたファイルに基づくファイルトリガはサポートされていないため、各サブフォルダごとに異なる機能/トリガが必要です。 –

答えて

0

SaaSファイルのトリガーバインディングは、可変サブパスの監視を処理しません。パス式はfolder/{fileName}の形式でなければならず、ファイルコンポーネントはサブフォルダではなく、その特定のフォルダ内の個々のファイルにのみバインドされます。ファイル名の前の静的パスには、サブフォルダを含めることができます。 folder/subFolder/{fileName}

IBinderは、1つ以上のファイルを記述する方法で使用できます。それはうまくいくはずです。

+0

ファイルウォッチャーは、そのフォルダ内の新しいファイルを検索する頻度はどのくらいですか? – DBueno

+0

デフォルトは90秒ですが、バインディングで 'pollIntervalInSeconds'プロパティを使用して設定することができます。関数ポータルはそれを公開していません。詳細エディタで設定する必要があります。 – mathewc

+0

'2016-09-27T15:45:23.898ファンクションが起動しました(Id = 8db8fc1e-69de-4094-9bd4-a90a64ad0199) 2016-09-27T15:45:23.914書き込み先に' out'バインディングを削除しました。 InputTest/SubFolder/fileName.txt ... 2016-09-27T15:45:24.008機能が完了しました(失敗、Id = 8db8fc1e-69de-4094-9bd4-a90a64ad0199) 2016-09-27T15:45:24.039実行中の例外関数:Functions.BlogTriggerOutputTest。 mscorlib:呼び出しのターゲットによって例外がスローされました。 mscorlib:指定されたキーが辞書に存在しませんでした。 ' – DBueno

関連する問題