我已经使用 Portal UI 创建了一个复制活动管道,可以很好地使用查询作为源。当我使用 .net sdk 尝试此操作时,我不知道如何在复制活动中使用查询,任何人都可以帮我解决这个问题。
1 回答
下面的示例显示使用 .net sdk 创建“复制活动”
// Create a Pipeline with Copy Activity
Console.WriteLine("Creating pipeline " + pipelineName + "...");
PipelineResource pipeline = new PipelineResource
{
Activities = new List<Activity>
{
new CopyActivity
{
Name = "CopyFromBlobToCosmosDB",
Inputs = new List<DatasetReference>
{
new DatasetReference()
{
ReferenceName = blobDatasetName
}
},
Outputs = new List<DatasetReference>
{
new DatasetReference
{
ReferenceName = cosmosDbDatasetName
}
},
Source = new BlobSource { },
Sink = new DocumentDbCollectionSink { }
}
}
};
client.Pipelines.CreateOrUpdate(resourceGroup, dataFactoryName, pipelineName, pipeline);
Console.WriteLine(SafeJsonConvert.SerializeObject(pipeline, client.SerializationSettings));
您可以在Sarathlal Saseendran的这篇文章中找到代码和更多信息。
对于 dot net 中的 Query Copy Activity,它取决于 Copy Activity 中的 Source 和 Sink 是什么。有许多 API 用于不同的 Source 和 Sink。
用于 MySQL 的 API 作为 Sink
classazure.mgmt.datafactory.models.AzureMySqlSink(*, additional_properties=None, write_batch_size=None, write_batch_timeout=None, sink_retry_count=None, sink_retry_wait=None, max_concurrent_connections=None, pre_copy_script=None, **kwargs)
基地:azure.mgmt.datafactory.models._models_py3.CopySink
复制活动 Azure MySql 接收器。
必须填充所有必需参数才能发送到 Azure。
参数
• additional_properties (dict[str, object]) – 消息中不匹配的属性在此集合中反序列化
• write_batch_size (object) – 写入批量大小。类型:整数(或带有 resultType 整数的表达式),最小值:0。
• write_batch_timeout (object) – 写入批处理超时。类型:字符串(或带有 resultType 字符串的表达式),模式:((d+).)?(dd):(60|([0-5][0-9])):(60|([0-5] [0-9]))。
• sink_retry_count (object) – 接收器重试计数。类型:整数(或带有 resultType 整数的表达式)。
• sink_retry_wait (object) – 接收器重试等待。类型:字符串(或带有 resultType 字符串的表达式),模式:((d+).)?(dd):(60|([0-5][0-9])):(60|([0-5] [0-9]))。
• max_concurrent_connections (object) – 接收器数据存储的最大并发连接数。类型:整数(或带有 resultType 整数的表达式)。
• type (str) – 必需。由服务器填充的常量。
• pre_copy_script (object) – 在开始复制之前执行的查询。类型:字符串(或带有 resultType 字符串的表达式)。
有关更多 API,请点击此链接