Azure data factory Azure Data Factory复制数据活动SQL接收器存储过程和ARM模板中的表类型参数
我正在部署包含复制数据活动的Azure Data Factory管道,其中接收器是SQL Server存储过程。我提供了存储过程名称,它映射到数据工厂的ARM模板中的SqlWritersStoredProcedureName。最近,用于在复制数据活动中设置接收器的接口更改为包含表类型参数名称,该名称应映射到表类型(sqlWriterTableType) 我应该使用什么属性来设置表类型参数名称?我猜它可能类似于sqlWriterTableTypeParameter或sqlWriterTableTypeParameterNameAzure data factory Azure Data Factory复制数据活动SQL接收器存储过程和ARM模板中的表类型参数,azure-data-factory,azure-data-factory-2,Azure Data Factory,Azure Data Factory 2,我正在部署包含复制数据活动的Azure Data Factory管道,其中接收器是SQL Server存储过程。我提供了存储过程名称,它映射到数据工厂的ARM模板中的SqlWritersStoredProcedureName。最近,用于在复制数据活动中设置接收器的接口更改为包含表类型参数名称,该名称应映射到表类型(sqlWriterTableType) 我应该使用什么属性来设置表类型参数名称?我猜它可能类似于sqlWriterTableTypeParameter或sqlWriterTableT
谁能给我指出正确的方向吗 是否尝试过与数据集类型相同?SqlServerTable。如图所示: 在文档中向下滚动一点会出现这样的情况:因此我也会尝试使用sqlWriterTableType
希望这有帮助 我将该列留空,并查看ADF给出的错误,从而解决了这个问题 如果您有这样一个存储过程:
CREATE PROCEDURE [dbo].[spFoo]
@FooType [dbo].[FooType] READONLY
AS ...
...
"sink": {
"type": "AzureSqlSink",
"sqlWriterStoredProcedureName": "[[dbo].[spFoo]",
"sqlWriterTableType": "[[dbo].[FooType]",
"storedProcedureTableTypeParameterName": "FooTypeVariable"
}
...
那么您的变量是:
Table Type: "FooType"
Table type parameter name: "FooType" (without the @ symbol)
ADF使用@符号作为保留字,因此只需将其从输入变量中删除,它就可以正常工作。MSFT支持最终得到了回复。要在定义数据工厂的ARM模板中设置的属性是“storedProcedureTableTypeParameterName” 使用kirikintha的foo示例:
CREATE PROCEDURE [dbo].[spFoo]
@FooTypeVariable [dbo].[FooType] READONLY
AS
...
将SQL存储过程作为数据工厂复制活动接收器调用时,ARM模板如下所示:
CREATE PROCEDURE [dbo].[spFoo]
@FooType [dbo].[FooType] READONLY
AS ...
...
"sink": {
"type": "AzureSqlSink",
"sqlWriterStoredProcedureName": "[[dbo].[spFoo]",
"sqlWriterTableType": "[[dbo].[FooType]",
"storedProcedureTableTypeParameterName": "FooTypeVariable"
}
...
我可能不理解您的问题,但它是否映射到storedProcedureTableTypeParameterName?我无法进行测试部署以查看storedProcedureTableTypeParameterName是否有效。我会让您不断更新。我知道要输入哪些值,我不知道要在ARM模板中设置哪些属性,我将使用这些属性定义数据工厂。您可以接受这一答案。这可能对其他社区成员有益。非常感谢。