我有一个用C#编写的.exe
(控制台应用程序)文件,我想用Azure Data Factory运行该文件。在Azure Data Factory中运行.NET .exe
我需要做什么才能做到这一点?
我知道对于.dll
文件,我们可以选择在azure中运行它们,但.exe
文件又如何?
我有一个用C#编写的.exe
(控制台应用程序)文件,我想用Azure Data Factory运行该文件。在Azure Data Factory中运行.NET .exe
我需要做什么才能做到这一点?
我知道对于.dll
文件,我们可以选择在azure中运行它们,但.exe
文件又如何?
你不能。不要试图把一个方形的钉子放在圆孔里。它将不得不被包装为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如何做到的。
希望这会有所帮助。
正如Paul Andrew指出的那样,您需要使用定制活动SPI,如https://docs.microsoft.com/en-us/azure/data-factory/data-factory-use-custom-activities所述。你有三个选择:
有趣的是,由于@Alexandre –
感谢重播, – user3843858
感谢重播,https://docs.microsoft.com/en -us/azure/data-factory/data-factory-use-custom-activities现在正在工作,当我将我的多维数据集处理代码与以下消息一起失败时,模块中出现未知错误:System.Reflection.TargetInvocationException:抛出异常调用的目标。 ---> Microsoft.AnalysisServices.ConnectionException:连接字符串无效。 ---> System.FormatException:输入字符串的格式不正确。在System.Number.StringToNumber(String str,NumberStyles选项 – user3843858
感谢重播我hinsight执行这个规定,但是它的faill – user3843858