【问题标题】:Dynamically changing Linked Services/Datasets in Azure Data Factory在 Azure 数据工厂中动态更改链接服务/数据集
【发布时间】:2020-08-04 17:05:25
【问题描述】:

我们需要能够对配置表执行查找,这将使我们知道服务器和数据库,并允许我们更改它以进行后续查找。我可以对其进行设置,使其在提示我输入服务器和数据库的位置动态设置 - 但该过程对我们不起作用,因为该过程将在无人值守的情况下运行。

为了讨论的目的,假设我们有一个表 Config,它看起来像:

ID 服务器数据库 1个POC1 2 B POC2 3V POC3

我在 ADF 中使用了一个 Lookup 函数,其中包含以下查询: 从 Config 中选择服务器、数据库,其中 id = 1

然后我将从此查询中获取结果,以在链接服务和数据集中设置服务器和数据库,以便我可以发出另一个查找,例如

从 bank_table(在我刚刚在配置表中查找的服务器/数据库中)选择 bank_name、bank_etl、bank_rules - 并继续执行 ADF 流程的其余部分

【问题讨论】:

    标签: azure-data-factory azure-data-factory-pipeline


    【解决方案1】:

    您可以尝试使用 Switch 活动。根据 Lookup 活动输出中的服务器数据库,执行不同的活动。

    下面是我的测试管道。

    开关设置:

    您需要先创建源数据集,以便第二个查找活动可以将其用作源。

    【讨论】:

    • 嗨 - 我确实这样做了,并且可以让过程正常工作 - 但每次它都会提示我输入参数 - 此时我什么都不做,只是点击 Go - 过程正常。只是想弄清楚如何防止出现参数提示,以便我可以在没有人工干预的情况下实现自动化。注意:同样的事情发生在 Deg 和 Trigger 中。
    • 出现参数提示是因为您在管道中创建了一些参数。如何将参数更改为变量?
    • @RobertM 您还有其他疑问吗?如果没有,您可以将此标记为答案吗?非常感谢。
    • 所有示例都使用了参数 - 我将尝试使用变量。您是否有任何示例或文档可以指出我在使用变量方面的最佳实践?
    • 可以在表达式中使用变量,如@variables('你的变量名')来获取它的值。你也可以使用append或set活动来改变值。你可以参考set variableappend variable
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 2019-05-09
    • 2020-05-14
    相关资源
    最近更新 更多