按照这篇MS文章,我创建了以下步骤:
第 1 步:添加了带有两个参数的新管道,名称分别为 sourceSAS 和 destinationSAS,并将其 SAS 令牌作为值
第 2 步:创建 Web 活动并命名为 ListTables:
网址 | @concat('https://srcstorage789.table.core.windows.net/Tables', pipeline().parameters.sourceSAS) |
---|---|
方法 | 获取 |
标题 | 接受 - application/json |
第 3 步:对于每个活动:
物品 | @activity('ListTables').outputValue |
---|
第 4 步:Web 活动 - 命名为 CreateTable - 这是在 ForEach 活动中创建的
|网址 | @concat('https://deststorage789.table.core.windows.net/Tables', pipeline().parameters.destinationSAS) | |方法|帖子 | |身体| @json(concat('{"TableName":"', item().TableName,'"}')) |
内容类型 application/json x-ms-date @utcNow() x-ms-版本 2021-02-12 接受申请/json
第五步:创建复制数据活动 - 这里我没明白文章是直接创建数据集还是创建复制数据活动。
如何动态指定表名称,以便从源存储中获取所有表:
如何给出表字段的值,以便将所有源存储表复制到目标表存储帐户?
虽然我尝试在 CopyData 活动中的两个数据集中给出特定的表名称,但它复制成功,但无法一次将所有表从源存储帐户复制到目标存储帐户..!
要动态指定多个表,需要使用数据集参数。
在数据集中创建一个字符串参数,如下所示。
现在,单击数据集中的手动输入复选框,然后在表名称处选择动态内容。给出创建的参数名称,如下所示。
现在,在 ForEach 内,将数据集添加到复制活动中,它将显示相同的参数。在这里,您需要添加表名
@item().TableName
动态表达式,如下所示。例如,我进行了查找活动。
如果您想动态指定目标表,您也需要对目标数据集执行相同的操作。
执行管道,它将给出如下所示的预期结果。