我正在尝试使用C#api和DataLakeAnalyticsJobManagementClient创建一个Job,并且每次尝试都失败,并显示错误消息:"无效的作业定义。" 。关于什么是无效的,没有其他有用的信息。这个工作是一个U-SQL工作,我开始在天蓝色的门户网站创建它,并且运行正常并正确运行,没有错误。
我正在使用门户网站测试使用的相同信息构建JobInformation和JobProperties,我知道U-SQL语句是有效的。
JobProperties props = new JobProperties(File.ReadAllText(@"C:\myusqlscript.usql"));
var myId = Guid.NewGuid();
JobInformation jobNfo = new JobInformation("mysamplejob", JobType.USql, props,myId) { DegreeOfParallelism = 1, Priority = 1000};
jobNfo.Validate(); //<--this doesn't throw an exception either
var jobs = await _adlaJobClient.Job.ListAsync("myanalyticsaccountname");
var adlaJob = await _adlaJobClient.Job.CreateAsync("myanalyticsaccountname", myId, jobNfo);
我尝试过构造函数和属性设置的各种组合,包括仅使用某些属性的默认值,我得到相同的结果:&#34;无效的作业定义。&#34; 有没有其他信息表明缺少信息或格式问题或类似的事情。
那里的任何人都使用C#API创建了Azure Data Lake Analytics作业?
答案 0 :(得分:1)
那里的任何人都使用C#API创建了Azure Data Lake Analytics作业?
您需要使用USqlJobProperties而不是JobProperties。
var props = new USqlJobProperties(File.ReadAllText(@"C:\myusqlscript.usql"));
Data Lake analytics get started .NET SDK的官方文件不可用。但我们也可以从本文档的histories获得一些有用的示例代码。
public static Guid SubmitJobByPath(string scriptPath, string jobName)
{
var script = File.ReadAllText(scriptPath);
var jobId = Guid.NewGuid();
var properties = new USqlJobProperties(script);
var parameters = new JobInformation(jobName, JobType.USql, properties, priority: 1, degreeOfParallelism: 1, jobId: jobId);
var jobInfo = _adlaJobClient.Job.Create(_adlaAccountName, jobId, parameters);
return jobId;
}