共用方式為


Set-AzureStorageBlobContent

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

警告

自 2024 年 2 月 29 日起,AzureRM PowerShell 模組已正式淘汰。 建議使用者從 AzureRM 遷移至 Az PowerShell 模組,以確保持續支援和更新。

雖然 AzureRM 模組可能仍可運作,但不再維護或支援它,但會根據用戶的判斷權和風險放置任何繼續使用。 如需轉換至 Az 模組的指引,請參閱我們的 移轉資源

語法

Set-AzureStorageBlobContent
   [-File] <String>
   [-Container] <String>
   [-Blob <String>]
   [-BlobType <String>]
   [-Properties <Hashtable>]
   [-Metadata <Hashtable>]
   [-PremiumPageBlobTier <PremiumPageBlobTier>]
   [-Force]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureStorageBlobContent
   [-File] <String>
   [-Blob <String>]
   -CloudBlobContainer <CloudBlobContainer>
   [-BlobType <String>]
   [-Properties <Hashtable>]
   [-Metadata <Hashtable>]
   [-PremiumPageBlobTier <PremiumPageBlobTier>]
   [-Force]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureStorageBlobContent
   [-File] <String>
   -CloudBlob <CloudBlob>
   [-BlobType <String>]
   [-Properties <Hashtable>]
   [-Metadata <Hashtable>]
   [-PremiumPageBlobTier <PremiumPageBlobTier>]
   [-Force]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

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

範例

範例 1:上傳具名檔案

PS C:\>Set-AzureStorageBlobContent -Container "ContosoUpload" -File ".\PlanningData" -Blob "Planning2015"

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

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

PS C:\>Get-ChildItem -File -Recurse | Set-AzureStorageBlobContent -Container "ContosoUploads"

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

範例 3:覆寫現有的 Blob

PS C:\>Get-AzureStorageBlob -Container "ContosoUploads" -Blob "Planning2015" | Set-AzureStorageBlobContent -File "ContosoPlanning"

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

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

PS C:\>Get-AzureStorageContainer -Container "ContosoUpload*" | Set-AzureStorageBlobContent -File "ContosoPlanning" -Blob "Planning2015"

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

範例 5:將檔案上傳至具有元數據的分頁 Blob,並將 進階版 PageBlobTier 上傳為 P10

PS C:\>$Metadata = @{"key" = "value"; "name" = "test"}
PS C:\> Set-AzureStorageBlobContent -File "ContosoPlanning" -Container "ContosoUploads" -Metadata $Metadata -BlobType Page -PremiumPageBlobTier P10

第一個命令會建立包含 Blob 元數據的哈希表,並將該哈希表儲存在$Metadata變數中。 第二個命令會將名為 ContosoPlanning 的檔案上傳至名為 ContosoUploads 的容器。 Blob 包含儲存在 $Metadata 中的元數據,並將 進階版 PageBlobTier 設定為 P10。

範例 6:將檔案上傳至具有指定 Blob 屬性的 Blob

PS C:\> Set-AzureStorageBlobContent -File "ContosoPlanning" -Container "ContosoUploads" -Properties @{"ContentType" = "image/jpeg"; "ContentMD5" = "i727sP7HigloQDsqadNLHw=="}

此命令會將名為 ContosoPlanning 的檔案上傳至具有指定 Blob 屬性的 ContosoUploads 容器。

參數

-Blob

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

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-BlobType

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

  • 封鎖
  • Page 預設值為 Block。
類型:String
接受的值:Block, Page, Append
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ClientTimeoutPerRequest

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

類型:Nullable<T>[Int32]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-CloudBlob

指定 CloudBlob 物件。 若要取得 CloudBlob 物件,請使用 Get-Azure 儲存體 Blob Cmdlet。

類型:CloudBlob
別名:ICloudBlob
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-CloudBlobContainer

從 Azure 儲存體 客戶端連結庫指定 CloudBlobContainer 物件。 此 Cmdlet 會將內容上傳至這個參數所指定容器中的 Blob。 若要取得 CloudBlobContainer 物件,請使用 Get-Azure 儲存體 Container Cmdlet。

類型:CloudBlobContainer
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-ConcurrentTaskCount

指定並行網路呼叫上限。 您可以藉由指定並行網路呼叫數目上限,使用此參數來限制並行 CPU 和頻寬使用量的並行存取。 指定的值是絕對計數,不會乘以核心計數。 此參數可協助減少低頻寬環境中的網路連線問題,例如每秒 100 千位。 預設值為 10。

類型:Nullable<T>[Int32]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Confirm

執行 Cmdlet 之前先提示您確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-Container

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

類型:String
Position:1
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Context

指定 Azure 記憶體內容。 若要取得記憶體內容,請使用 New-Azure 儲存體 Context Cmdlet。 若要在沒有讀取許可權的情況下使用從 SAS 令牌建立的記憶體內容,需要新增 -Force 參數來略過檢查 Blob 是否存在。

類型:IStorageContext
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-DefaultProfile

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

類型:IAzureContextContainer
別名:AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-File

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

類型:String
別名:FullName
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Force

指出此 Cmdlet 會覆寫現有的 Blob,而不會提示您進行確認。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Metadata

指定上傳之 Blob 的元數據。

類型:Hashtable
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-PremiumPageBlobTier

分頁 Blob 層

類型:PremiumPageBlobTier
接受的值:Unknown, P4, P6, P10, P20, P30, P40, P50, P60
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Properties

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

類型:Hashtable
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ServerTimeoutPerRequest

指定要求的服務端超時時間間隔,以秒為單位。 如果指定的間隔在服務處理要求之前經過,則記憶體服務會傳回錯誤。

類型:Nullable<T>[Int32]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

類型:SwitchParameter
別名:wi
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

String

CloudBlobContainer

CloudBlob

IStorageContext

輸出

AzureStorageBlob