azure - 集成运行时有两个磁盘驱动器,有没有办法参数化链接服务文件系统中的 Host 字段?

标签 azure azure-functions azure-data-factory

我正在尝试部署一个带有复制数据管道的 Azure 数据工厂,该管道从一个或多个已部署/本地文件系统路径中提取文件并将其转储到 Blob 存储中。文件系统上的源文件路径可能跨越多个不同的驱动器(例如 - C:\fileshare1 与 D:\fileshare2),并且可能包括通过 UNC 路径引用的网络位置(例如 -\localnetworkresource\fileshare3)。

我想配置单个本地文件系统连接和源数据集,并仅参数化链接服务的主机属性。然后,我的管道将仅迭代文件共享路径的集合并重用数据集和链接的服务连接。但是,似乎没有任何方法可以让数据集或管道向链接服务提供主机信息。当然可以提供来自管道和数据集的文件夹信息,但这些信息将连接到链接服务连接中指定的主机,因此不允许我访问不同的驱动器或网络资源。

通过为需要包含的每个不同文件共享配置单独的链接服务连接、数据集和管道来完成此操作相当简单,但我更愿意管理单个管道。

我已经尝试创建链接服务的 JSON,但它不起作用,有人可以帮助我吗?

https://learn.microsoft.com/en-us/azure/data-factory/parameterize-linked-services

最佳答案

是的,您可以按如下方式参数化文件系统链接服务。首先您需要创建一个文件系统链接服务,然后您可以修改 JSON 代码以添加参数部分,如下所示:

{
    "name": "OnPremFileSystemLinkedService_Parameterized",
    "type": "Microsoft.DataFactory/factories/linkedservices",
    "properties": {
        "type": "FileServer",
        "parameters": {
            "HostParameter": {
                "type": "string",
                "defaultValue": "C:\\[Folder]"
            },
            "userIDParameter": {
                "type": "string",
                "defaultValue": "DOMAIN\\USERNAME"
            }
        },
        "annotations": [],
        "typeProperties": {
            "host": "@{linkedService().HostParameter}",
            "userId": "@{linkedService().userIDParameter}",
            "encryptedCredential": "XXXXXXXXXXXencryptedKeyXXXXXXXXX"
        },
        "connectVia": {
            "referenceName": "MySelfHostedIR",
            "type": "IntegrationRuntimeReference"
        }
    }
}

在我的示例中,我仅使用单个文件共享作为输入和复制事件。但根据您的要求,您可以将 FileShare 集合列表传递给 ForEach 事件,并迭代每个 FileShare 并将这些值传递给您的复制事件 -> 源/接收器数据集参数 -> 链接服务参数属性。

下面是有关如何使用参数化文件系统链接服务的示例

enter image description here

希望这有帮助。

关于azure - 集成运行时有两个磁盘驱动器,有没有办法参数化链接服务文件系统中的 Host 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61129552/

相关文章:

azure - 如何与 New-AzureRmResourceGroupDeployment cmdlet 一起传递额外参数

azure - 如何获取 DevOps OwnerID

c# - Newtonsoft 11.0.0.0 无法在 Azure Function App 2.0 上加载

azure - Blob 触发器 : using Azure Active Directory (AAD) integration instead of Storage Connection String

azure - 不支持构造函数 'DisableAttribute(Type)'。为服务总线队列生成函数元数据时出错触发了 Azure 函数

azure - 如何取消管道——没有可用的取消按钮

azure - 使用多个复制事件输出对象在 Azure 数据工厂中创建 JSON 数组

java - 上传到 Azure 时无法访问 RESTful 端点

python - 使用 python sdk 从 azure 存储中提取指标

azure - ADF : How to check if JSON array contains particular string