私は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
を得ました。どんな助けもありがとう。
'IBinder'を使用するときは、そのパラメータの' function.json'ファイルにマッピングされたパラメータを持たないようにしてください。だからあなたはエラーを受けている。 – mathewc
ルートフォルダのサブフォルダに追加されたファイルに基づくファイルトリガはサポートされていないため、各サブフォルダごとに異なる機能/トリガが必要です。 –