簡體   English   中英

設置流中的塊Blob內容

[英]Set Block Blob Content From Stream

Set-AzStorageBlobContent將文件位置上傳到雲。 有什么方法可以將System.IO.Stream傳遞到PowerShell中的塊Blob?

我想出了辦法。 這很簡單,感謝https://microsoft.github.io/AzureTipsAndTricks/blog/tip76.html

In能夠直接將zip文件的內容提取到Azure存儲塊blob中,而不必在本地提取文件。 可以增強以下示例,以遞歸方式上載zip文件中的所有條目。

Import-Module -Name Az
$ZipArchive = [System.IO.Compression.ZipFile]::OpenRead("C:\...\temp.zip");
$ZipEntry = $ZipArchive.Entries[0]
$DeflateStream = $ZipEntry.Open();
$storageAccountName= 'storageAccountName' 
$containerName= 'containerName'
Get-AzSubscription | Select-Object -First 1 | Set-AzContext 
$StorageAccount = Get-AzStorageAccount -ResourceGroupName ResourceGroupName  | Where-Object{$_.StorageAccountName -match $storageAccountName}
$StorageContext = New-AzStorageContext -StorageAccountName $StorageAccount.StorageAccountName -StorageAccountKey (Get-AzStorageAccountKey -ResourceGroupName $StorageAccount.ResourceGroupName -Name $StorageAccount.StorageAccountName | select -First 1 ).Value
$Container = Get-AzStorageContainer -Name $containerName -Context $StorageContext
$BlockBlob = $Container.CloudBlobContainer.GetBlockBlobReference("Temp/temp.pdf")
$BlockBlob.UploadFromStream($DeflateStream);

暫無
暫無

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

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