我正在使用数据工厂和blob存储。
我有时会间歇性地得到以下错误 - 这可能发生在不同的管道/数据源上。但是,无论哪个任务失败,我总会得到相同的错误 - 400指定的阻止列表无效。
复制活性在水槽侧遇到用户错误:错误码= UserErrorBlobUploadFailed,https://blob.core.windows.net/‘详细的消息'类型= Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,试图上传团块时发生消息=错误’:远程服务器返回错误:(400)Bad Request。,Source =,''Type = Microsoft.WindowsAzure.Storage.StorageException,Message =远程服务器返回错误:(400)Bad Request。,Source = Microsoft.WindowsAzure .Storage,StorageExtendedMessage =指定的阻止列表无效。 Type = System.Net.WebException,Message =远程服务器返回错误:(400)Bad Request。,Source = Microsoft.WindowsAzure.Storage
如果一次运行多个任务并将数据写入存储,这似乎是最常见的。我能做些什么来使这个过程更可靠吗?是否有可能出现错误配置?它导致切片在数据工厂失败,所以我真的很想知道我应该调查什么。
遇到此问题的示例管道:
{
"$schema": "http://datafactories.schema.management.azure.com/schemas/2015-09-01/Microsoft.DataFactory.Pipeline.json",
"name": "Pipeline",
"properties": {
"description": "Pipeline to copy Processed CSV from Data Lake to blob storage",
"activities": [
{
"type": "Copy",
"typeProperties": {
"source": {
"type": "AzureDataLakeStoreSource"
},
"sink": {
"type": "BlobSink",
"writeBatchSize": 0,
"writeBatchTimeout": "00:00:00"
}
},
"inputs": [ { "name": "DataLake" } ],
"outputs": [ { "name": "Blob" } ],
"policy": {
"concurrency": 10,
"executionPriorityOrder": "OldestFirst",
"retry": 0,
"timeout": "01:00:00"
},
"scheduler": {
"frequency": "Hour",
"interval": 1
},
"name": "CopyActivity"
}
],
"start": "2016-02-28",
"end": "2016-02-29",
"isPaused": false,
"pipelineMode": "Scheduled"
}
}
我只使用LRS标准存储,但我仍然不希望它间歇性地抛出错误。
编辑:添加链接服务json
{
"$schema": "http://datafactories.schema.management.azure.com/schemas/2015-09-01/Microsoft.DataFactory.LinkedService.json",
"name": "Ls-Staging-Storage",
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=;AccountKey="
}
}
}
答案 0 :(得分:0)
这种错误主要是由赛车问题引起的。例如。多个并发活动运行写入同一个blob文件。
您是否可以进一步检查您的管道设置是否属实?如果是这样,请避免这样的设置。