0

BLOB 저장소가있는 데이터 팩토리를 사용하고 있습니다.Azure 데이터 팩토리 - BLOB 저장소에 쓸 때 간헐적 인 400 오류가 발생했습니다.

가끔씩 다음 오류가 간헐적으로 발생합니다. 이는 다른 파이프 라인/데이터 소스에서 발생할 수 있습니다. 그러나 어떤 작업이 실패하든 관계없이 항상 동일한 오류가 발생합니다 - 400 지정된 블록 목록이 유효하지 않습니다.

Copy activity encountered a user error at Sink side: ErrorCode=UserErrorBlobUploadFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Error occurred when trying to upload blob ' https://blob.core.windows.net/ ', detailed message: The remote server returned an error: (400) Bad Request.,Source=,''Type=Microsoft.WindowsAzure.Storage.StorageException,Message=The remote server returned an error: (400) Bad Request.,Source=Microsoft.WindowsAzure.Storage,StorageExtendedMessage=The specified block list is invalid. Type=System.Net.WebException,Message=The remote server returned an error: (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

Blob 출력 JSON을 공유 할 수 있습니까? – yonisha

+0

@yonisha done. 상당히 도움이 될 것 같지 않아요. –

+0

배포 할 서비스의 각 영역은 어느 영역입니까? –

답변

0

이러한 오류가 주로 경주 문제로 인해 발생 링크 추가. 예 : 여러 동시 활동이 동일한 BLOB 파일에 기록됩니다.

추가로 파이프 라인 설정을 확인할 수 있습니까? 그렇다면 그러한 설정을 피하십시오.

관련 문제