Azure数据工厂 - 写入blob存储时间歇性400错误

时间:2017-04-21 15:40:16

标签: azure azure-storage azure-storage-blobs azure-data-factory

我正在使用数据工厂和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="
    }
  }
}

1 个答案:

答案 0 :(得分:0)

这种错误主要是由赛车问题引起的。例如。多个并发活动运行写入同一个blob文件。

您是否可以进一步检查您的管道设置是否属实?如果是这样,请避免这样的设置。