共用方式為


Set-AzStorageBlobContent

將本機檔案上傳至 Azure 儲存體 Blob。

語法

SendManual (預設值)

Set-AzStorageBlobContent
    [-File] <String>
    [-Container] <String>
    [-Blob <String>]
    [-BlobType <String>]
    [-Properties <Hashtable>]
    [-Metadata <Hashtable>]
    [-Tag <Hashtable>]
    [-PremiumPageBlobTier <PremiumPageBlobTier>]
    [-StandardBlobTier <String>]
    [-EncryptionScope <String>]
    [-Force]
    [-AsJob]
    [-TagCondition <String>]
    [-Context <IStorageContext>]
    [-ServerTimeoutPerRequest <Int32>]
    [-ClientTimeoutPerRequest <Int32>]
    [-DefaultProfile <IAzureContextContainer>]
    [-ConcurrentTaskCount <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ContainerPipeline

Set-AzStorageBlobContent
    [-File] <String>
    -CloudBlobContainer <CloudBlobContainer>
    [-Blob <String>]
    [-BlobType <String>]
    [-Properties <Hashtable>]
    [-Metadata <Hashtable>]
    [-Tag <Hashtable>]
    [-PremiumPageBlobTier <PremiumPageBlobTier>]
    [-StandardBlobTier <String>]
    [-EncryptionScope <String>]
    [-Force]
    [-AsJob]
    [-TagCondition <String>]
    [-Context <IStorageContext>]
    [-ServerTimeoutPerRequest <Int32>]
    [-ClientTimeoutPerRequest <Int32>]
    [-DefaultProfile <IAzureContextContainer>]
    [-ConcurrentTaskCount <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

BlobPipeline

Set-AzStorageBlobContent
    [-File] <String>
    -CloudBlob <CloudBlob>
    [-BlobType <String>]
    [-Properties <Hashtable>]
    [-Metadata <Hashtable>]
    [-Tag <Hashtable>]
    [-PremiumPageBlobTier <PremiumPageBlobTier>]
    [-StandardBlobTier <String>]
    [-EncryptionScope <String>]
    [-Force]
    [-AsJob]
    [-TagCondition <String>]
    [-Context <IStorageContext>]
    [-ServerTimeoutPerRequest <Int32>]
    [-ClientTimeoutPerRequest <Int32>]
    [-DefaultProfile <IAzureContextContainer>]
    [-ConcurrentTaskCount <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Set-AzStorageBlobContent Cmdlet 會將本機檔案上傳至 Azure 儲存體 Blob。

範例

範例 1:上傳具名檔案

Set-AzStorageBlobContent -Container "ContosoUpload" -File ".\PlanningData" -Blob "Planning2015"

此命令會將名為 PlanningData 的檔案上傳至名為 Planning2015 的 Blob。

範例 2:上傳目前資料夾下的所有檔案

Get-ChildItem -File -Recurse | Set-AzStorageBlobContent -Container "ContosoUploads"

此命令會使用核心 Windows PowerShell Cmdlet Get-ChildItem 來取得目前資料夾和子資料夾中的所有檔案,然後使用管線運算子將它們傳遞至目前的 Cmdlet。 Set-AzStorageBlobContent Cmdlet 會將檔案上傳至名為 ContosoUploads 的容器。

範例 3:覆寫現有的 Blob

Get-AzStorageBlob -Container "ContosoUploads" -Blob "Planning2015" | Set-AzStorageBlobContent -File "ContosoPlanning"

此命令會使用 Get-AzStorageBlob Cmdlet 在 ContosoUploads 容器中取得名為 Planning2015 的 Blob,然後將該 Blob 傳遞至目前的 Cmdlet。 此命令會將名為 ContosoPlanning 的檔案上傳為 Planning2015。 此指令不會指定 「強制」 參數。 命令會提示您進行確認。 如果您確認命令,Cmdlet 會覆寫現有的 Blob。

範例 4:使用管線將檔案上傳至容器

Get-AzStorageContainer -Container "ContosoUpload*" | Set-AzStorageBlobContent -File "ContosoPlanning" -Blob "Planning2015"

此命令會使用 Get-AzStorageContainer Cmdlet 取得以字串 ContosoUpload 開頭的容器,然後將該 Blob 傳遞至目前的 Cmdlet。 此命令會將名為 ContosoPlanning 的檔案上傳為 Planning2015。

範例 5:將檔案上傳至頁面 Blob,其中繼資料和 PremiumPageBlobTier 作為 P10

$Metadata = @{"key" = "value"; "name" = "test"}
Set-AzStorageBlobContent -File "ContosoPlanning" -Container "ContosoUploads" -Metadata $Metadata -BlobType Page -PremiumPageBlobTier P10

第一個命令會建立包含 Blob 中繼資料的雜湊表,並將該雜湊表儲存在 $Metadata 變數中。 第二個命令會將名為 ContosoPlanning 的檔案上傳至名為 ContosoUploads 的容器。 Blob 包含儲存在 $Metadata 中的中繼資料,並將 PremiumPageBlobTier 作為 P10。

範例 6:將檔案上傳至具有指定 Blob 屬性的 Blob,並將 StandardBlobTier 設定為 Cool

$filepath = "c:\temp\index.html"
Set-AzStorageBlobContent -File $filepath -Container "contosouploads" -Properties @{"ContentType" = [System.Web.MimeMapping]::GetMimeMapping($filepath); "ContentMD5" = "i727sP7HigloQDsqadNLHw=="} -StandardBlobTier Cool
AccountName: storageaccountname, ContainerName: contosouploads

Name                 BlobType  Length          ContentType                    LastModified         AccessTier SnapshotTime                 IsDeleted  VersionId
----                 --------  ------          -----------                    ------------         ---------- ------------                 ---------  ---------
index.html           BlockBlob 403116          text/html                      2020-09-22 08:06:53Z Cool                                    False

此命令會將檔案 c:\temp\index.html 上傳至具有指定 Blob 屬性的名為 contosouploads 的容器,並將 StandardBlobTier 設定為 Cool。 此命令會取得 [System.Web.MimeMapping]::GetMimeMapping() API 設定為 Blob 屬性的 ContentType 值。

範例 7:將檔案上傳至具有加密範圍的 Blob

$blob = Set-AzStorageBlobContent  -File "mylocalfile" -Container "mycontainer" -Blob "myblob"  -EncryptionScope "myencryptscope"

$blob.BlobProperties.EncryptionScope
myencryptscope

此命令會將檔案上傳至具有加密範圍的 Blob。

參數

-AsJob

在背景中執行 cmdlet。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Blob

指定 Blob 的名稱。 此 Cmdlet 會將檔案上傳至此參數指定的 Azure 儲存體 Blob。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

SendManual
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ContainerPipeline
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-BlobType

指定此 Cmdlet 上傳之 Blob 的類型。 此參數可接受的值為:

  • 封鎖
  • 頁面
  • Append

預設值為 Block。

參數屬性

類型:String
預設值:None
接受的值:Block, Page, Append
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ClientTimeoutPerRequest

指定一個服務要求的用戶端逾時間隔 (以秒為單位)。 如果上一個呼叫在指定的間隔內失敗,則此 Cmdlet 會重試要求。 如果此 Cmdlet 在間隔經過之前未收到成功的回應,則此 Cmdlet 會傳回錯誤。

參數屬性

類型:

Nullable<T>[Int32]

預設值:None
支援萬用字元:False
不要顯示:False
別名:ClientTimeoutPerRequestInSeconds

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-CloudBlob

指定 CloudBlob 物件。 若要取得 CloudBlob 物件,請使用 Get-AzStorageBlob Cmdlet。

參數屬性

類型:Microsoft.Azure.Storage.Blob.CloudBlob
預設值:None
支援萬用字元:False
不要顯示:False
別名:ICloudBlob

參數集

BlobPipeline
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-CloudBlobContainer

指定來自 Azure 儲存體用戶端程式庫的 CloudBlobContainer 物件。 此 Cmdlet 會將內容上傳至此參數指定的容器中的 Blob。 若要取得 CloudBlobContainer 物件,請使用 Get-AzStorageContainer Cmdlet。

參數屬性

類型:Microsoft.Azure.Storage.Blob.CloudBlobContainer
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ContainerPipeline
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-ConcurrentTaskCount

指定並行網路呼叫數上限。 您可以使用此參數來限制並行,以指定並行網路呼叫數目上限,以節流本機 CPU 和頻寬使用量。 指定的值是絕對計數,不會乘以核心計數。 此參數有助於減少低頻寬環境下的網路連線問題,例如每秒 100 KB。 預設值為 10。

參數屬性

類型:

Nullable<T>[Int32]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:參見

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Container

指定容器的名稱。 此 Cmdlet 會將檔案上傳至此參數指定的容器中的 Blob。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

SendManual
Position:1
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Context

指定 Azure 儲存體內容。 若要取得儲存體內容,請使用 New-AzStorageContext Cmdlet。 若要使用從 SAS 權杖建立的儲存體內容,而不需要讀取許可權,必須新增 -Force 參數,以略過檢查 Blob 的存在。

參數屬性

類型:IStorageContext
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-DefaultProfile

用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。

參數屬性

類型:IAzureContextContainer
預設值:None
支援萬用字元:False
不要顯示:False
別名:AzureRmContext, AzureCredential

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-EncryptionScope

向 Blob 提出要求時要使用的加密範圍。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-File

指定要上傳為 Blob 內容的檔案本機檔案路徑。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False
別名:全名

參數集

SendManual
Position:0
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Force

表示此 Cmdlet 會覆寫現有的 Blob,而不會提示您確認。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Metadata

指定上傳 Blob 的中繼資料。

參數屬性

類型:Hashtable
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-PremiumPageBlobTier

分頁 Blob 層

參數屬性

類型:Microsoft.Azure.Storage.Blob.PremiumPageBlobTier
預設值:None
接受的值:Unknown, P4, P6, P10, P20, P30, P40, P50, P60, P70, P80
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Properties

指定上傳 Blob 的屬性。 支援的屬性包括:CacheControl、ContentDisposition、ContentEncoding、ContentLanguage、ContentMD5、ContentType。

參數屬性

類型:Hashtable
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ServerTimeoutPerRequest

指定要求的服務端逾時間隔 (以秒為單位)。 如果在服務處理要求之前經過指定的間隔,儲存體服務會傳回錯誤。

參數屬性

類型:

Nullable<T>[Int32]

預設值:None
支援萬用字元:False
不要顯示:False
別名:ServerTimeoutPerRequestInSeconds

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-StandardBlobTier

區塊 Blob 層,有效值為 Hot/Cool/Archive/Cold。 查看詳細信息 https://learn.microsoft.com/azure/storage/blobs/storage-blob-storage-tiers

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Tag

Blob 標籤

參數屬性

類型:Hashtable
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-TagCondition

選用標籤運算式陳述式,用於檢查匹配條件。 當 Blob 標籤不符合指定的運算式時,Blob 要求將會失敗。 詳情請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations#tags-conditional-operations

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 指令未執行。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:威斯康辛

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters

輸入

String

Microsoft.Azure.Storage.Blob.CloudBlobContainer

Microsoft.Azure.Storage.Blob.CloudBlob

IStorageContext

輸出

AzureStorageBlob