自托管集成运行时无法使用 Azure.ResourceManager.DataFactory sdk 包找到身份验证密钥

问题描述 投票:0回答:1

找不到任何函数来获取SHIR的身份验证密钥

            `ArmClient armClient = new ArmClient(
                new ClientSecretCredential(tenantId, clientId, clientSecret,
                new TokenCredentialOptions
                {
                    AuthorityHost = AzureAuthorityHosts.AzurePublicCloud
                }),
                subscriptionId,
                new ArmClientOptions { Environment = ArmEnvironment.AzurePublicCloud });

            ResourceIdentifier resourceIdentifier = SubscriptionResource.CreateResourceIdentifier(subscriptionId);

            SubscriptionResource subscriptionResource = armClient.GetSubscriptionResource(resourceIdentifier);
            var resourceGroupOperation = subscriptionResource.GetResourceGroups().Get(resourceGroupName);

            ResourceGroupResource resourceGroupResource = resourceGroupOperation.Value;

            DataFactoryData dataFactoryData = new DataFactoryData(AzureLocation.EastUS);

            var dataFactoryOperation = resourceGroupResource.GetDataFactories().CreateOrUpdate(WaitUntil.Completed, dataFactoryName, dataFactoryData);
            DataFactoryResource dataFactoryResource = dataFactoryOperation.Value;
            var dataFactoryIntegrationRuntimeData = new DataFactoryIntegrationRuntimeData(
                new SelfHostedIntegrationRuntime
                {
                    Description = "A self-hosted integration runtime from C# Azure SDK",
                });
            var createOrUpdateOperation = dataFactoryResource.GetDataFactoryIntegrationRuntimes().CreateOrUpdate(
                WaitUntil.Completed,
                integrationRuntimeName,
                dataFactoryIntegrationRuntimeData);
            Console.WriteLine(createOrUpdateOperation.WaitForCompletionResponse().Content);

我正在寻找的是拿到钥匙 var key = dataFactoryResource.GetDataFactoryIntegrationRuntime(integrationRuntimeName); 这是用于身份验证密钥的 python 函数

auth_keys = adf_client.integration_runtimes.list_auth_keys(
        resource_group_name=rg_name,
        factory_name=df_name,
        integration_runtime_name=ir_name,
    )`
azure azure-data-factory azure-sdk
1个回答
0
投票

自托管集成运行时无法使用

Azure.ResourceManager.DataFactory
SDK 包找到身份验证密钥。

您可以使用以下代码获取使用

Azure.ResourceManager.DataFactory
SDK 包的自托管集成运行时的身份验证密钥。

代码:

var integrationRuntimeOperation = dataFactoryResource.GetDataFactoryIntegrationRuntime(integrationRuntimeName);
var integrationRuntimeResource = integrationRuntimeOperation.Value;
var authKeysOperation = integrationRuntimeResource.GetAuthKeys();
var authKeys = authKeysOperation.Value;
Console.WriteLine($"Auth key 1: {authKeys.AuthKey1}");
Console.WriteLine($"Auth key 2: {authKeys.AuthKey2}");

上面的代码检索自托管集成运行时的身份验证密钥。

这是创建和获取必要过程的完整代码。

代码:

using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.DataFactory.Models;
using Azure.ResourceManager.DataFactory;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager;
using Azure;

ArmClient armClient = new ArmClient(
                new ClientSecretCredential(tenantId, clientId, clientSecret,
                new TokenCredentialOptions
                {
                    AuthorityHost = AzureAuthorityHosts.AzurePublicCloud
                }),
                subscriptionId,
                new ArmClientOptions { Environment = ArmEnvironment.AzurePublicCloud });

            ResourceIdentifier resourceIdentifier = SubscriptionResource.CreateResourceIdentifier(subscriptionId);

            SubscriptionResource subscriptionResource = armClient.GetSubscriptionResource(resourceIdentifier);
            var resourceGroupOperation = subscriptionResource.GetResourceGroups().Get(resourceGroupName);

            ResourceGroupResource resourceGroupResource = resourceGroupOperation.Value;

            DataFactoryData dataFactoryData = new DataFactoryData(AzureLocation.EastUS);

            var dataFactoryOperation = resourceGroupResource.GetDataFactories().CreateOrUpdate(WaitUntil.Completed, dataFactoryName, dataFactoryData);
            DataFactoryResource dataFactoryResource = dataFactoryOperation.Value;
            var dataFactoryIntegrationRuntimeData = new DataFactoryIntegrationRuntimeData(
                new SelfHostedIntegrationRuntime
                {
                    Description = "A self-hosted integration runtime from C# Azure SDK",
                });
            var createOrUpdateOperation = dataFactoryResource.GetDataFactoryIntegrationRuntimes().CreateOrUpdate(
                WaitUntil.Completed,
                integrationRuntimeName,
                dataFactoryIntegrationRuntimeData);
            Console.WriteLine(createOrUpdateOperation.WaitForCompletionResponse().Content);

var integrationRuntimeOperation = dataFactoryResource.GetDataFactoryIntegrationRuntime(integrationRuntimeName);
var integrationRuntimeResource = integrationRuntimeOperation.Value;
var authKeysOperation = integrationRuntimeResource.GetAuthKeys();
var authKeys = authKeysOperation.Value;
Console.WriteLine($"Auth key 1: {authKeys.AuthKey1}");
Console.WriteLine($"Auth key 2: {authKeys.AuthKey2}");

输出:

{
  "id": "/subscriptions/xxxxxx/resourceGroups/xxxx/providers/Microsoft.DataFactory/factories/venkatdata326/integrationruntimes/myIntegrationRuntime",
  "name": "myIntegrationRuntime",
  "type": "Microsoft.DataFactory/factories/integrationruntimes",
  "properties": {
    "type": "SelfHosted",
    "description": "A self-hosted integration runtime from C# Azure SDK",
    "typeProperties": {}
  },
  "etag": "a900xxxxe0000"
}
Auth key 1: IR@07bxxxxf69-24c5711401b5@venkatdata326@ServiceEndpoint=venkatdata326.eastus.datafactory.azure.net@T0ekLxxxxx+Q=
Auth key 2: IR@07xxxxxxf69-24c5711401b5@venkatdata326@ServiceEndpoint=venkatdata326.eastus.datafactory.azure.net@RPNnqBy5xxxxxxbDNBdbKg=

enter image description here

参考:

azure-sdk-for-net/sdk/datafactory/Azure.ResourceManager.DataFactory 位于 Azure.ResourceManager.DataFactory_1.0.0-beta.3 · Azure/azure-sdk-for-net · GitHub

© www.soinside.com 2019 - 2024. All rights reserved.