Set-AzStorageBlobContent
將本機檔案上傳至 Azure 記憶體 Blob。
語法
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>]
Set-AzStorageBlobContent
[-File] <String>
[-Blob <String>]
-CloudBlobContainer <CloudBlobContainer>
[-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>]
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。 此命令未指定 Force 參數。 命令會提示您進行確認。 如果您確認命令,Cmdlet 會覆寫現有的 Blob。
範例 4:使用管線將檔案上傳至容器
Get-AzStorageContainer -Container "ContosoUpload*" | Set-AzStorageBlobContent -File "ContosoPlanning" -Blob "Planning2015"
此命令會使用 get-AzStorageContainer Cmdlet,以字串 ContosoUpload 開頭的容器,然後將該 Blob 傳遞至目前的 Cmdlet。 命令會將名為 ContosoPlanning 的檔案上傳為 Planning2015。
範例 5:將檔案上傳至具有元數據和 PremiumPageBlobTier 的分頁 Blob 作為 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 設定為非經常性
$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 檔案上傳至名為 contosouploads 且具有指定 Blob 屬性的容器,並將 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 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Blob
指定 Blob 的名稱。 此 Cmdlet 會將檔案上傳至此參數指定的 Azure 記憶體 Blob。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-BlobType
指定此 Cmdlet 上傳之 Blob 的類型。 此參數可接受的值為:
- 塊
- 頁
- 附加
預設值為 Block。
類型: | String |
接受的值: | Block, Page, Append |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ClientTimeoutPerRequest
指定一個服務要求的用戶端超時時間間隔,以秒為單位。 如果先前的呼叫在指定的間隔內失敗,此 Cmdlet 會重試要求。 如果此 Cmdlet 在間隔經過之前未收到成功的回應,此 Cmdlet 會傳回錯誤。
類型: | Nullable<T>[Int32] |
別名: | ClientTimeoutPerRequestInSeconds |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-CloudBlob
指定 CloudBlob 物件。 若要取得 CloudBlob 物件,請使用 Get-AzStorageBlob Cmdlet。
類型: | CloudBlob |
別名: | ICloudBlob |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-CloudBlobContainer
從 Azure 記憶體用戶端連結庫指定 CloudBlobContainer 物件。 此 Cmdlet 會將內容上傳至這個參數所指定容器中的 Blob。 若要取得 CloudBlobContainer 物件,請使用 Get-AzStorageContainer 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-AzStorageContext Cmdlet。 若要在沒有讀取許可權的情況下,使用從 SAS 令牌建立的記憶體內容,需要新增 -Force 參數,以略過檢查 Blob 是否存在。
類型: | IStorageContext |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-DefaultProfile
用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。
類型: | IAzureContextContainer |
別名: | AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-EncryptionScope
對 Blob 提出要求時要使用的加密範圍。
類型: | String |
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, P70, P80 |
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] |
別名: | ServerTimeoutPerRequestInSeconds |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-StandardBlobTier
區塊 Blob 層,有效值為經常性存取/非經常性存取/封存/冷。 請參閱 https://learn.microsoft.com/azure/storage/blobs/storage-blob-storage-tiers 中的詳細數據
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Tag
Blob 標記
類型: | Hashtable |
Position: | Named |
預設值: | None |
必要: | 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 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |