2017-06-06 7 views
0

Azureデータファクトリを使用して実行する.exe(コンソールアプリケーション)ファイルがC#で作成されています。Azureデータファクトリで.NET .exeを実行しています

これを達成するために必要な手順は何ですか?

私は、.dllのファイルに対して、azureで実行するオプションがあることを知っていますが、.exeのファイルはどうですか?

答えて

1

できません。四角いペグを丸い穴に入れるのをやめてください。 ADFカスタムアクティビティとしてラップする必要があります。

ADF基本クラスから継承し、IDictionaryのexecuteメソッドを呼び出す必要があります。例えば

using System; 
using System.Collections.Generic; 
using System.Linq; 

using Microsoft.Azure; 
using Microsoft.Azure.Management.DataFactories.Models; 
using Microsoft.Azure.Management.DataFactories.Runtime; 

namespace ClassLibrary1 
{ 
    public class Class1 : IDotNetActivity 
    { 
     public IDictionary string, string Execute(
       IEnumerable linkedServices, 
       IEnumerable datasets, 
       Activity activity, 
       IActivityLogger logger) 
     { 
      logger.Write("Start"); 

      //Get extended properties 
      DotNetActivity dotNetActivityPipeline = (DotNetActivity)activity.TypeProperties; 

      string sliceStartString = dotNetActivityPipeline.ExtendedProperties["SliceStart"]; 

      //Get linked service details 
      Dataset inputDataset = datasets.Single(dataset = dataset.Name == activity.Inputs.Single().Name); 
      Dataset outputDataset = datasets.Single(dataset = dataset.Name == activity.Outputs.Single().Name); 

      /* 
       DO STUFF 
      */ 

      logger.Write("End"); 

      return new Dictionary string, string(); 
     } 
    } 
} 

出典:コンソールアプリで持っているどのような方法https://www.purplefrogsystems.com/paul/2016/11/creating-azure-data-factory-custom-activities/

だけであるAzureのバッチ・サービスコンピュートプールでインスタンス化することができるクラス、として、それらを書き換えますADFはコンパイル済みを渡しました。

これはADFの機能です。

これが役に立ちます。

+0

リプレイのおかげで私はhinsightでこれを実行しますが、それはfaill興味深い – user3843858

0

Paul Andrewが指摘しているように、https://docs.microsoft.com/en-us/azure/data-factory/data-factory-use-custom-activitiesに記載されているカスタムアクティビティSPIを使用する必要があります。

    はあなたには、いくつかの他の目的のために実行可能ファイルを必要とする場合は、クラスライブラリ
  • にあなたのプロジェクトを変更する3つの別々のプロジェクトにあなたのソリューションをリファクタリング
  • :あなたは3つのオプションを持っている一般的なロジックを含むクラスライブラリ、実行可能なプロジェクト、およびデータファクトリカスタムアクティビティ
  • 何らかの理由でコードを変更できない場合は、.exeを直接呼び出すアクティビティを作成できます。サンプルは https://github.com/Azure/Azure-DataFactory/blob/master/Samples/RunRScriptUsingADFSample/InvokeRScript.cs
+0

だ、再生のため –

+0

おかげ@Alexandreおかげで、再生のため – user3843858

+0

おかげで、https://docs.microsoft.com/enに設けられています。私のキューブ処理コードを次のメッセージで失敗したときに、-us/azure/data-factory/data-factory-use-custom-activitiesが動作しています。Unknown error in module:System.Reflection.TargetInvocationException:例外がスローされました。呼び出しのターゲット。 ---> Microsoft.AnalysisServices.ConnectionException:接続文字列が無効です。 ---> System.FormatException:入力文字列の形式が正しくありませんでした。 System.Number.StringToNumber(String str、NumberStyles options – user3843858

関連する問題