2017-09-17 3 views
2

CustomActivityで作業中にIDotNetActivityを実装しています。Azureデータファクトリで完全なパスを持つファイル名を取得します。

フォルダパスadftutorial/customactivityinput/abc.txtの入力データセットに存在するファイル名を読み込み、テキストを更新して最終的に結果を出力データセットadftutorial/customactivityoutput/xyz.txtにコピーします。

ファイルを読み取っているうちにabc.txtSystem.IO.FileNotFoundExceptionが発生しました。MyDotNetActivity.dllです。

私は<AzureCloutDirectory> + filenameのような完全なパスを与えることができるいくつかの方法についてのヘルプを探しています。

テキストファイルをロードするには、どのような方法が最適か、どのようにするかを教えてください。

ありがとうございました!

答えて

0

必要なブロブ/ブロブ情報にどのようにアクセスすればよいですか?

 foreach (IListBlobItem listBlobItem in blobResult.Results) 
     { 
      var cloudBlockBlob = listBlobItem as CloudBlockBlob; 
      ... // Your code here 
     } 

あなたは

cloudBlockBlob.Uri.AbsoluteUriプロパティで

== "を完全なパス+ファイル名にアクセスすることができます。

私はあなたがBlobResultSegment blobList = inputClient.ListBlobsSegmented(...)方法でブロブを取得し、反復処理時に各1であることを伝えることができますAzureCloudDirectory/ContainerName/yourFile.txt "

親切!

+0

ありがとうございました。それは正常に働いた。ストリーム内の特定のファイルを読み取る最良の方法は何か別の質問があります。 –

+0

@SandeepChoudharyどのストリーム? (その名前でファイルを取得?) – zoxparty

+0

Iは、入力ファイルを取り、いくつかの修正を行い、その後、最終的には、ファイルをアップロードする必要があります。私は、File.Create(outputFile)または以下のコードに代わるものが必要です。 using(Stream fOut = File.Create(outputFile)) { ストリームs = ld.GetInputStream(); Streams.PipeAll(s、fOut); } –

関連する問題