我正在将现有的azure数据工厂项目集成到我的解决方案中。在观察数据工厂管道时,我看到所有管道都使用SqlSource
,目的地是AzureQueueSink
。
输入数据集为1.在预编表上2.存储过程的输出
输出是一个azure sql表。
现在我很困惑什么时候使用这个AzureQueueSink
,我在谷歌上查了一下,但没有找到任何关于这个用例的信息。
以下是管道活动示例。
{
"$schema": "http://datafactories.schema.management.azure.com/schemas/2015-09-01/Microsoft.DataFactory.Pipeline.json",
"name": "OnPremToAzureList",
"properties": {
"activities": [
{
"type": "SqlServerStoredProcedure",
"typeProperties": {
"storedProcedureName": "dbo.TruncateStgTable",
"storedProcedureParameters": { "TableName": "[dbo].[List]" }
},
"inputs": [
{
"name": "AzureSqlTableStart"
}
],
"outputs": [
{
"name": "AzureSqlTableTruncate"
}
],
"scheduler": {
"frequency": "Day",
"interval": 1
},
"name": "SPTruncateStgTable"
},
{
"name": "CopyActivityList",
"type": "Copy",
"inputs": [
{
"name": "OnPremList"
},
{
"name": "AzureSqlTableTruncate"
}
],
"outputs": [
{
"name": "AzureSqlTableList"
}
],
"typeProperties": {
"source": {
"type": "SqlSource",
"sqlReaderQuery": "select * from dbo.List"
},
"sink": {
"type": "AzureQueueSink",
"writeBatchSize": 1000,
"writeBatchTimeout": "00:30:00"
}
},
"policy": {
"concurrency": 1,
"executionPriorityOrder": "OldestFirst",
"retry": 1,
"timeout": "01:00:00"
},
"scheduler": {
"frequency": "Day",
"interval": 1
}
}
]
}
}
非常感谢您的帮助。
请不要使用AzureQueueSink,因为Azure队列的副本尚未发货,我们也没有任何计划将其带回。它被错误地泄露到我们的Sdk/Schema中:(
这种接收器类型现在为您提供了不确定的行为,这种行为恰好在起作用,但这种行为不会持续太久。