私の質問で直接開始します:データ管理ゲートウェイ経由のAzureデータ工場カスタムアクティビティでPremiseデータセットに接続することは可能ですか?データ工場カスタムアクティビティ、ゲートウェイ経由でonPremiseデータソースに接続
ユースケース:
私はAzureブロブストレージにregularyコピーする必要があり、その上に複数のファイルと、ローカルFTPサーバーを持っています。ファイルをアップロードする必要があるかどうかの判断は、カスタムトリガーに基づいている必要があります。したがって、通常のコピーアクティビティではなく、データファクトリのカスタムアクティビティを構築しています。サーバーはデータ管理ゲートウェイ経由でのみアクセスする必要があります
FTPサーバー型のリンクサービスとFileShareデータセットを作成しました。これは私のCustomActivityパイプラインの内部でInputとして使用しました。
カスタムアクティビティの中で、入力データセットに接続して、FTPサーバー内のフォルダの内容を取得する必要があります。そしてここで私は前進していません。 ftpサーバに接続する方法がわかりません。
public IDictionary<string, string> Execute(IEnumerable<LinkedService> linkedServices,IEnumerable<Dataset> datasets,
Activity activity,IActivityLogger logger)
{
Dataset inputDataset = datasets.Single(dataset => dataset.Name == activity.Inputs.Single().Name);
FileShareDataset inputTypeProperties = inputDataset.Properties.TypeProperties as FileShareDataset;
FtpServerLinkedService inputLinkedService = linkedServices.First(linkedService =>
linkedService.Name ==
inputDataset.Properties.LinkedServiceName).Properties.TypeProperties
as FtpServerLinkedService;
***//HERE CONNECTION TO FTPSERVER VIA GATEWAY***
}
はMicrosoft.Azure.Management.DataFactories.Models
で複数のゲートウェイのクラスがありますが、私は彼らと一緒に仕事をする方法を見つけるcan't:ここで私がで立ち往生していたコード要素です。私にとっては、データ管理ゲートウェイがカスタムアクティビティでサポートされていない可能性がありますか?それが正しい場合は、カスタムアクティビティやそのようなものの中にコピーアクティビティを作成するなど、いくつかの方法がありますか?または、WebRequest経由でFTPサーバーに直接接続する唯一のソリューションですか?
ご回答いただきありがとうございます。それはたくさんの助けになりました。残念ながら、ITセキュリティの問題のため、あなたの提案された解決策のどれも許可されることはありません。ファイルをローカルにアップロードする意思決定全体を処理し、アップロードするファイルのみが含まれるフォルダにデータ・ファクトリがアクセスできるようにします。 – Torben