【问题标题】:Azure data factory - intermittent 400 errors when writing to blob storageAzure 数据工厂 - 写入 Blob 存储时出现间歇性 400 错误
【发布时间】:2017-09-18 16:45:59
【问题描述】:

我正在使用带有 blob 存储的数据工厂。

我有时会间歇性地收到以下错误 - 这可能发生在不同的管道/数据源上。但是,无论哪个任务失败,我总是得到相同的错误 - 400 The specified block list is invalid.

复制活动在接收器端遇到用户错误:ErrorCode=UserErrorBlobUploadFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Error occurred when trying to upload blob 'https://blob.core.windows.net/',详细消息:远程服务器返回错误:(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="
    }
  }
}

【问题讨论】:

  • 你能分享你的 Blob 输出 JSON 吗?
  • @yonisha 完成。我不确定它会有多大帮助,因为它看起来相当简单。
  • 您的每个服务部署到哪些区域?

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


【解决方案1】:

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

您能否进一步检查您的管道设置是否是这种情况?如果是,请避免这样的设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 2019-10-13
    • 2020-12-22
    • 2018-01-30
    • 2021-10-08
    相关资源
    最近更新 更多