2017-11-26 7 views
1

SQL 데이터베이스에있는 PDF를 여러 메타 데이터와 함께 Azure BLOB로 푸시하려고합니다. 모든 것이 작동하지만 메타 데이터에 콜론 (:)이 있으면 데이터가 잘립니다. 포털을 사용하여 수동으로 :를 추가 할 수 있으므로 유효하지 않은 문자가 나타나지 않습니다.Set-AzureStorageBlobContent - 날짜가있는 메타 데이터는 콜론에서 자릅니다.

PowerShell을 통해 업로드 할 때 : 어떻게 든 탈출해야합니까? 나는 그것에 대해 아무것도 찾을 수 없습니다.

여기 내 코드 (PowerShell)입니다.

foreach ($r in $dataset.Tables[0]) { 

    $pdfProperties = @{"ContentType" = "application/pdf"} 

    $metadata = @{ 
     "invoiceid"  =$r.InvoiceId 
     "shareid"  =$r.ShareId 
     "generateddate" =$r.OccurredOn # <--- TRUNCATES AT : 
     "generatedby" =$r.Actor 
     "test"   ="10/1/2018 10:14:04 PM" # <--- TRUNCATES AT : 
    } 

    $guid = New-Guid 

    if ($r.InvoiceReceipt.Length -gt 0) { 
     $pdfFile = "C:\Temp\blobs\$guid.pdf" 
     [System.IO.File]::WriteAllBytes($pdfFile, $r.InvoiceReceipt) 
     $pdfBlobName = "$guid.pdf" 
     Set-AzureStorageBlobContent -Context $ctx -Container "invoice" -File $pdfFile -Blob $pdfBlobName -BlobType Block ` 
      -Properties $pdfProperties -Metadata $metadata 
    } 
} 

다음은 Azure 포털의 결과입니다.

enter image description here

는 모든 입력이 이해된다. 태드

답변

0

그것이 나오는 툰스 같이 데이터의 표면상의 절단 단순히 푸른 포털에 디스플레이 아티팩트이었다.

(Get-AzureStorageBlob -Blob $blob -Container $container -Context $ctx).ICloudBlob.Metadata 
:

데이터 자체는 제대로 자신에 확인 할 수 있었다 태드으로, [datetime] 인스턴스로 할당