簡體   English   中英

powershell 上傳blob到azure blob存儲集內容類型

[英]powershell upload blob to azure blob storage set content type

我正在調用 ReST api 並使用以下 powershell 將 JSON 有效負載上傳到 azure blob 存儲。

波什:

        $Params = @{"URI" = 'https://myapiexample.com/api/data/'}
         
        $Result = Invoke-RestMethod @Params | ConvertTo-Json
        
        $context=New-AzStorageContext -StorageAccountName "mystorage" -StorageAccountKey ""
        
        $container=Get-AzStorageContainer -Name "input" -Context $context
        
        $content = [system.Text.Encoding]::UTF8.GetBytes($Result)
        $blobpath = "azblob/mydata.json"
        
        $container.CloudBlobContainer.GetBlockBlobReference($blobpath).UploadFromByteArray($content,0,$content.Length)
    
    $container.CloudBlobContainer.GetBlockBlobReference($blobpath).Properties.ContentType = "application/json"

$container.CloudBlobContainer.GetBlockBlobReference($blobpath).SetProperties()

我注意到當 blob 存儲在 azure blob 存儲中時,內容類型是 application/octet-stream 而我希望它是 application/json。 我使用的代碼沒有按預期工作。

從我這邊復制后,我可以使用Set-AzStorageBlobContent來滿足您的要求。 下面是為我工作的完整代碼,用於設置 blob 的內容類型。

$url = "<YOUR_URL>"
$dest = "samplex.json"
Invoke-WebRequest -Uri $url -OutFile $dest
$context = New-AzStorageContext -StorageAccountName "<YOUR_ACCOUNT_NAME>" -StorageAccountKey "<YOUR_ACCOUNT_KEY>"
Set-AzStorageBlobContent -Context $context -Container "containers" -Blob "mydata.json" -File $dest -Properties @{"ContentType" = "application/json"};

結果:

在此處輸入圖像描述

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM