Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为DatafactoryV2创建IntegrationRuntimeResource失败,请求失败_C#_.net_Azure Data Factory - Fatal编程技术网

C# 为DatafactoryV2创建IntegrationRuntimeResource失败,请求失败

C# 为DatafactoryV2创建IntegrationRuntimeResource失败,请求失败,c#,.net,azure-data-factory,C#,.net,Azure Data Factory,我对新的Datafactory管理API有一些问题。在创建IRM时,我收到了一个错误的请求,没有解释什么是错误的 下面是小代码示例。对可能出现的问题有什么建议吗 private async Task<IntegrationRuntimeResource> GetOrCreateIntegrationRuntime(string irmName) { Log.Information("Creating IntegrationRuntime Resource

我对新的Datafactory管理API有一些问题。在创建IRM时,我收到了一个错误的请求,没有解释什么是错误的

下面是小代码示例。对可能出现的问题有什么建议吗

  private async Task<IntegrationRuntimeResource> GetOrCreateIntegrationRuntime(string irmName)
    {
        Log.Information("Creating IntegrationRuntime Resource with name {IrmName}", irmName);

        var irmResource = new IntegrationRuntimeResource(new IntegrationRuntime(), type: IntegrationRuntimeType.SelfHosted, name: irmName);
        return await AzureServiceFactory.GetDatafactoryManagementClient().IntegrationRuntimes
            .CreateOrUpdateAsync(Config.ResourceGroupName, EnvironmentSettings.Datafactory.Name,
                irmName, irmResource);
    }
专用异步任务GetOrCreateIntegrationRuntime(字符串irmName)
{
Log.Information(“创建名为{IrmName},IrmName的IntegrationRuntime资源”);
var irmResource=new IntegrationRuntimeResource(new IntegrationRuntime(),类型:IntegrationRuntimeType.SelfHosted,名称:irmName);
返回Wait AzureServiceFactory.GetDatafactoryManagementClient().IntegrationRuntimes
.CreateOrUpdateSync(Config.ResourceGroupName、EnvironmentSettings.Datafactory.Name、,
irmName,irmResource);
}

根据我使用.net库的经验,当出现错误时,您不会得到任何解释,在这些情况下,我所做的是尝试从powershell中创建它,以获取有关错误的更多详细信息,您可以在命令末尾添加-Verbose,以从shell中逐步获取详细信息

从powershell创建IR的基本脚本是:

$SubscriptionName = ""
$ResourceGroupName = ""
$DataFactoryName = ""
$DataFactoryLocation = "eastus2" 
$SelfHostedIntegrationRuntimeName = ""

Login-AzureRmAccount

Select-AzureRmSubscription -SubscriptionName $SubscriptionName

Set-AzureRmDataFactoryV2IntegrationRuntime -DataFactoryName $DataFactoryName -Name $SelfHostedIntegrationRuntimeName -ResourceGroupName $ResourceGroupName -Type SelfHosted -Location $DataFactoryLocation
填充值并执行,它将使您登录,然后选择订阅,最后尝试创建集成运行时。如果仍然出现错误,请记住在最后一个命令的末尾添加-Verbose

干杯


编辑:刚刚记住,位置是一个必须具备的价值!您的代码可能因此而失败,因为库没有指定这一点。我不完全确定这是否适用于自托管IRs,但对于托管类型IRs来说,这肯定是必须的。

所以我想我应该拿出fiddler,用Martin的例子来找出缺失的内容。事实证明,即使API允许指定IRM的类型,它也会完全忽略它。Integrationruntime的类型被序列化为类型

因此-更新IRM的代码如下所示

public async Task<IntegrationRuntimeResource> CreateorUpdateIntegrationRuntime(string irmName)
        {
            Log.Information("Creating IntegrationRuntime Resource with name {IrmName}", irmName);
            var irmResource = new IntegrationRuntimeResource(new SelfHostedIntegrationRuntime(),
                type: IntegrationRuntimeType.SelfHosted, // this is ignored by the API but persisted for my sanity (or an api upgrade)
                name: irmName);
            return await AzureServiceFactory.GetDatafactoryManagementClient().IntegrationRuntimes
                .CreateOrUpdateAsync(Config.ResourceGroupName, EnvironmentSettings.Datafactory.Name,
                    irmName, irmResource);
        }
公共异步任务CreateorUpdateIntegrationRuntime(字符串irmName)
{
Log.Information(“创建名为{IrmName},IrmName的IntegrationRuntime资源”);
var irmResource=新的IntegrationRuntimeResource(新的SelfHostedIntegrationRuntime(),
type:IntegrationRuntimeType.SelfHosted,//API将忽略此项,但为了我的理智(或API升级)将其保留
名称:irmName),;
返回Wait AzureServiceFactory.GetDatafactoryManagementClient().IntegrationRuntimes
.CreateOrUpdateSync(Config.ResourceGroupName、EnvironmentSettings.Datafactory.Name、,
irmName,irmResource);
}

谢谢!工作得很有魅力。