第 5 版 (V5) AWS Tools for PowerShell 已發行!
如需有關中斷變更和遷移應用程式的資訊,請參閱遷移主題。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon S3 做為 PowerShell 磁碟機
適用於:5.0.288 AWS.Tools.S3 及更新版本。S3 磁碟機提供者及其 cmdlet 隨附於 AWS.Tools.S3模組,在 Windows PowerShell 5.1 和 PowerShell 7+ (Windows、Linux、macOS) 上執行。
S3 PowerShell 磁碟機可讓您將 Amazon S3 儲存體掛載為磁碟機,並使用它的方式與使用本機磁碟的方式相同。掛載磁碟機之後,供應商會將儲存貯體和字首顯示為資料夾,並將物件顯示為檔案。常見的導覽命令可直接針對 S3 運作,包括 Set-Location、Get-ChildItem、Set-Content、 Get-Content和 Remove-Item。
本主題涵蓋安裝、掛載、導覽、傳輸內容和卸載,以及 S3 磁碟機的登入資料、區域和安全行為。
路徑分隔符號因平台而異
本主題中的範例使用 /做為路徑分隔符號,磁碟機在每個平台上接受此分隔符號。在 Windows 上,磁碟機也接受 \,因此 S3:\amzn-s3-demo-bucket\reports和 在該處S3:/amzn-s3-demo-bucket/reports相當。僅在 Linux 和 macOS 上/是分隔符號,因此請在多個平台上執行的指令碼中使用該格式。磁碟機交還的路徑,例如 PSPath,使用作業系統的原生分隔符號:\Windows /和 Linux 和 macOS。
先決條件
-
AWS.Tools.S3模組 5.0.288 或更新版本。直接從 PowerShell Gallery 安裝它 (這也會提取其AWS.Tools.Common相依性):Install-Module -Name AWS.Tools.S3 -MinimumVersion 5.0.288或者,如果您使用
AWS.Tools.Installer模組管理模組化工具,請先安裝該工具,然後使用Install-AWSToolsModule:Install-Module -Name AWS.Tools.Installer # provides Install-AWSToolsModule Install-AWSToolsModule AWS.Tools.S3磁碟機提供者及其 cmdlet 會在 內運送
AWS.Tools.S3。不需要額外安裝。 -
AWS 登入資料的設定方式與任何 S3 cmdlet 相同 (具名設定檔、環境變數、IAM 角色或 SSO)。如需詳細資訊,請參閱開始使用 AWS Tools for PowerShell。
匯入模組會註冊名為 的 PowerShell 供應商AWS.S3。您可以確認它是否可用:
Get-PSProvider AWS.S3
掛載磁碟機
使用 Mount-S3PSDrive建立磁碟機。-Name 參數會成為每個路徑中的磁碟機名稱 (例如, -Name S3 為您提供類似 的路徑S3:/amzn-s3-demo-bucket/reports/index.txt)。
# Mount an S3: drive using a named profile and Region Mount-S3PSDrive -Name S3 -ProfileName my-profile -Region us-east-1 # List buckets Get-ChildItem S3:/
輸出範例:
Type LastModified Size Name ---- ------------ ---- ---- Bucket 2026-06-02 09:14:03 amzn-s3-demo-app-logs Bucket 2026-01-08 16:47:51 amzn-s3-demo-reports
如果您已使用 Set-AWSCredential和 設定工作階段預設值Set-DefaultAWSRegion,則可以在沒有其他參數的情況下掛載 :
Set-AWSCredential -ProfileName my-profile Set-DefaultAWSRegion us-west-2 Mount-S3PSDrive -Name S3
Mount-S3PSDrive 是 PowerShell 內建 上的薄包裝函式New-PSDrive。如果您願意,可以直接建立磁碟機並傳遞相同的登入資料和區域參數:
New-PSDrive -Name S3 -PSProvider AWS.S3 -Root '' -Scope Global -ProfileName my-profile -Region us-east-1
直接使用 New-PSDrive
New-PSDrive 直接使用-Scope Global時傳遞。如果沒有它,磁碟機會在目前範圍內建立,並在該範圍結束時消失 (例如,建立它的指令碼或函數傳回時)。 -Scope Global會為您Mount-S3PSDrive設定 。
根據預設, 不會Mount-S3PSDrive產生輸出。-PassThru 如果您想要傳回PSDriveInfo物件,請新增 。
登入資料參數名稱
登入資料參數名為 -AWSCredential,而非 -Credential。 New-PSDrive已-Credential將 定義為PSCredential不同類型的 ,因此 S3 磁碟機會使用不同的名稱來避免碰撞。
如何解決登入資料和區域
S3 磁碟機會驗證並選取與 S3 cmdlet 完全相同的區域:先明確參數,然後工作階段預設由 Set-AWSCredential和 設定Set-DefaultAWSRegion,然後是 SDK 預設鏈結的設定檔、環境和執行個體中繼資料來源。如需完整的解析度順序,請參閱 使用 AWS 登入資料和 指定 AWS 的區域 AWS Tools for PowerShell。
如果沒有提供區域,則磁碟機會回復為 us-east-1。您使用 掛載的區域只是起始區域:單一磁碟機可以跨區域到達儲存貯體 (請參閱 從單一磁碟機跨區域存取儲存貯體)。
錯誤描述檔或缺少儲存貯體或字首會在 失敗Mount-S3PSDrive。在您存取 物件之前,可能不會出現某些許可錯誤。
像本機磁碟機一樣導覽 Amazon S3
掛載磁碟機之後,請使用常見的 PowerShell 磁碟機命令進行導覽。S3 沒有真正的資料夾,但提供者會將字首顯示為資料夾,以便您以相同的方式導覽它們。
# Change into a bucket, then a prefix Set-Location S3:/amzn-s3-demo-reports/2026 # List the current location Get-ChildItem
輸出範例:
Type LastModified Size Name ---- ------------ ---- ---- Folder q1 Folder q2 Object 2026-03-31 18:02:11 48210 summary.txt
# List a path without changing location Get-ChildItem S3:/amzn-s3-demo-bucket/reports/2026
標籤完成適用於儲存貯體、字首和物件,因此您可以完成路徑,而無需輸入完整名稱。
Get-ChildItem 會將每個項目傳回為公開 Name、Size、 Type和 LastModified 屬性的物件。這些屬性可讓 將管道直接列出至 Where-Object和 等命令Sort-Object。 Type是 Bucket、 Folder或 之一Object。資料夾和儲存貯體不帶任何大小。
# List the 10 largest objects with the prefix "2026" Get-ChildItem S3:/amzn-s3-demo-app-logs/2026 -Recurse | Where-Object Type -eq 'Object' | Sort-Object Size -Descending | Select-Object -First 10 Name, Size, LastModified
其他導覽命令也適用於磁碟機:
# Retrieve the single item at an exact path (no children) Get-Item S3:/amzn-s3-demo-bucket/reports/index.txt # Test whether a path exists and whether it is a folder or an object Test-Path S3:/amzn-s3-demo-bucket/reports # -> True Test-Path S3:/amzn-s3-demo-bucket/reports -PathType Container # -> True (a prefix) Test-Path S3:/amzn-s3-demo-bucket/reports/index.txt -PathType Leaf # -> True (an object)
命令別名因作業系統而異
這是 PowerShell 行為,而不是磁碟機。在 Windows 上,Unix 樣式的別名 ls、 rm和 cat對應至 PowerShell cmdlet,因此 ls S3:/amzn-s3-demo-bucket可運作。在 Linux 和 macOS 上,PowerShell 會將這些名稱繫結至無法辨識 S3 路徑的原生工具 (/bin/ls、/bin/rm、/bin/cat)。因此, 會ls S3:/amzn-s3-demo-bucket執行系統ls並失敗。對於在每個平台上執行的指令碼,請使用完整的 cmdlet 名稱:Get-ChildItem、 Remove-Item和 Get-Content。(cd 和 dir 在所有平台上使用別名,因此這些會在任何地方運作。)
使用 時-Recurse,項目的 Name 是相對於字首的索引鍵 (因此可以包含 /),相同的分葉名稱可以顯示在不同的字首下。當您需要明確識別列出的項目時 (例如,若要將其往前輸送),請使用其 PSPath而非 Name。
使用 -AsByteStream on Windows PowerShell 5.1 管道列出的物件
在 Windows PowerShell 5.1 上Get-ChildItem插入 Get-Content -AsByteStream可能會失敗。引擎可能會在知道管道輸入是 S3 路徑-AsByteStream之前繫結,且 5.1 中的 FileSystem 提供者沒有此類參數 (請參閱 讀取本機檔案位元組因版本而異)。PSPath 以明確的方式閱讀每個項目,這適用於這兩個版本:
# Read each listed object by explicit PSPath Get-ChildItem S3:/amzn-s3-demo-bucket/prefix | ForEach-Object { Get-Content -LiteralPath $_.PSPath -AsByteStream -Raw }
在 PowerShell 7+ 上,直接管道可運作,但對於在兩個版本上執行的指令碼,每個項目表單是安全的預設值。
清單可安全中斷
當每個結果頁面從 S3 到達且安全地中斷 Ctrl+C 時列出串流。 具有大量物件的字首會立即開始產生輸出,而不是等待完整清單完成。
金鑰中的萬用字元
S3 金鑰可以合法包含 PowerShell 萬用字元 ([、]、*、?)。若要以實際方式處理這類金鑰,請使用 -LiteralPath(由 Get-Item、Set-Content、 Get-Content和 支援Remove-Item),如同您在檔案系統提供者上執行的操作:
Get-Content -LiteralPath 'S3:/amzn-s3-demo-bucket/data[2026].csv' -Raw
您無法讀取的測試路徑和物件
Test-Path 會傳回您無法讀取$true的路徑。它會確認路徑解析;它不會確認您具有讀取或寫入路徑的許可。
從 S3 讀取物件
Get-Content 會下載 物件。根據預設,它會逐行傳回文字。新增 -Raw 以將整個物件傳回為單一字串。Get-Content 和 -AsByteStream 都Set-Content支援-Encoding文字和二進位內容。
# Read an object line by line Get-Content S3:/amzn-s3-demo-reports/2026/summary.txt # Read the whole object as one string Get-Content S3:/amzn-s3-demo-reports/2026/summary.txt -Raw
對於非文字物件,請使用 -AsByteStream 取得原始位元組。在 S3 路徑上,這適用於 PowerShell 7+ 和 Windows PowerShell 5.1,因為 S3 提供者提供 參數。只有本機檔案會因版本而有所不同 (請參閱 讀取本機檔案位元組因版本而異)。若要控制文字解碼,-Encoding請使用任何標準 PowerShell 編碼名稱 UTF8BOM(UTF8、ASCII、、 等) 來新增 Unicode。Get-Content 和 上的預設值都是沒有 BOM 的 UTF-8Set-Content。
# Read raw bytes Get-Content S3:/amzn-s3-demo-bucket/images/logo.png -AsByteStream -Raw # Decode as a specific text encoding Get-Content S3:/amzn-s3-demo-bucket/data/report.csv -Encoding UTF8
Get-Content 也接受-PartSize設定 S3 最小值為 5 MiB 到最大值為 5 GiB 之間的分段下載部分大小,以位元組為單位。它在 -PartSize上鏡像Set-Content,這會設定上傳組件大小 (請參閱 上傳非常大的物件)。
將原始位元組讀取至變數
如果您將物件的位元組載入變數 (以雜湊、測量或傳遞至另一個 API),請先扁平化-AsByteStream結果。否則.Length和位元組比較會產生不正確的結果:
$bytes = [byte[]]((Get-Content S3:/amzn-s3-demo-bucket/images/logo.png -AsByteStream -Raw) | ForEach-Object { $_ })
對檔案或其他命令 (例如 Set-Content -AsByteStream,如 ) 的管道在 S3 和本機磁碟之間複製物件不需要扁平化。
將物件寫入 S3
Set-Content 會上傳 (並覆寫) 物件。
# Write text Set-Content S3:/amzn-s3-demo-reports/2026/notes.txt -Value 'Draft complete' # Write several lines Set-Content S3:/amzn-s3-demo-bucket/notes/list.txt -Value @('alpha', 'beta', 'gamma') # Write raw bytes Set-Content S3:/amzn-s3-demo-bucket/images/logo.png -AsByteStream -Value $bytes
上傳有下列選項:
| 參數 | 用途 |
|---|---|
|
on-the-wire位元組的文字編碼 (預設 UTF-8,無 BOM)。 |
|
在每個文字值之後省略結尾的新行。 |
|
此物件的儲存類別 (例如 |
|
此上傳的分段大小,以位元組為單位 (介於 S3 最小值 5 MiB 與最大值 5 GiB 之間)。請參閱 上傳非常大的物件。 |
您可以隨時使用 Ctrl+C 取消上傳。 在上傳完成之前,不會遞交任何內容,因此取消不會保留半寫入物件來取代舊物件。
文字上傳使用 LF 行結尾
文字上傳使用 LF 行結尾,因此在 Windows、Linux 或 macOS 上寫入的物件為位元組相同。當您需要完全控制位元組時,請使用 -AsByteStream。
上傳非常大的物件
每次透過磁碟機上傳都是分段上傳,而 S3 會將分段上傳限制為 10,000 個組件。預設部分大小為 5 MiB,以大約 48 GiB 為上限,超過上限的上傳會用盡部分且失敗。若要上傳更大的內容,請提高 ,-PartSize使其至少為 object size / 10,000:
# Upload a ~200 GiB object with 64 MiB parts (200 GiB / 10,000 = 21 MiB, so 64 MiB is plenty) # PowerShell 7+ Get-Content ./huge.bin -AsByteStream -ReadCount 8MB | Set-Content S3:/amzn-s3-demo-bucket/archive/huge.bin -AsByteStream -PartSize 64MB # Windows PowerShell 5.1 (local read uses -Encoding Byte; the S3 write keeps -AsByteStream -PartSize) Get-Content ./huge.bin -Encoding Byte -ReadCount 8MB | Set-Content S3:/amzn-s3-demo-bucket/archive/huge.bin -AsByteStream -PartSize 64MB
-PartSize 和 -StorageClass是 S3 目的地參數。使用它們搭配明確的 S3 目的地路徑 (如上述範例所示),而非管道繫結目的地物件。
-PartSize 接受介於 S3 最小值 5 MiB 與最大值 5 GiB 之間的值。在最大 5 GiB 的情況下,10,000 個組件涵蓋 S3 支援的最大物件 (5 TiB)。
選擇部分大小
較大的部分大小也表示大型上傳的往返次數較少,但每個傳輸中的部分都保留在記憶體中,因此非常大型的組件使用更多的記憶體。5 MiB 到數百 MiB 是合理的範圍。只有在物件大小需要時才會提高。
在 S3 和本機磁碟之間複製物件
Copy-Item 不支援使用 在 S3 內複製 (請參閱 支援和不支援的操作)。若要在本機磁碟和 S3 之間移動資料,請透過 Get-Content和 輸送內容Set-Content。
對於二進位資料,請完全讀取和寫入位元組。S3 路徑在兩個 PowerShell 版本-AsByteStream上使用 ;只有本機端不同,如中所述讀取本機檔案位元組因版本而異。
# Upload a local file (PowerShell 7+; on Windows PowerShell 5.1 the local read uses -Encoding Byte) Get-Content ./report.csv -AsByteStream -ReadCount 8MB | Set-Content S3:/amzn-s3-demo-bucket/data/report.csv -AsByteStream # Download to a local file (on Windows PowerShell 5.1 the local write uses -Encoding Byte) Get-Content S3:/amzn-s3-demo-bucket/data/report.csv -AsByteStream | Set-Content ./report.csv -AsByteStream
針對二進位資料使用兩端的位元組模式
複製二進位資料時,讀取和寫入兩端的位元組。在文字模式中,內容會解碼並重新編碼。每行都會標準化或附加新行,這會損毀非文字資料。讀取和寫入的位元組模式只會複製位元組。對於文字檔案,一般Get-Content | Set-Content會運作,但有一個例外:文字模式會Set-Content附加結尾換行 (LF) 並標準化行尾,因此複本與來源的byte-for-byte不相同。當您需要確切的複本時,-AsByteStream請在兩端使用 。
讀取本機檔案位元組因版本而異
針對本機檔案使用 PowerShell 的內建 FileSystem 提供者,且該提供者在 Windows PowerShell 5.1 -AsByteStream 中沒有 (送達 PowerShell 6)。請改用 -Encoding Byte 。這是 5.1 的限制,而不是 S3 磁碟機控制的內容;S3 路徑-AsByteStream採用兩種版本。
| 版本 | 讀取本機檔案位元組 | 寫入本機檔案位元組 |
|---|---|---|
PowerShell 7+ |
|
|
Windows PowerShell 5.1 |
|
|
對於伺服器端 S3-to-S3複本,請使用 Copy-S3Object cmdlet。
刪除物件和字首
Remove-Item 會刪除單一物件。刪除字首 (包含內容的資料夾) 需要 -Recurse,這會批次移除其下的所有項目。
# Delete a single object Remove-Item S3:/amzn-s3-demo-bucket/notes/todo.txt # Delete a prefix and everything under it Remove-Item S3:/amzn-s3-demo-bucket/old-logs -Recurse
Remove-Item 提示是否取決於您的目標:
-
沒有 的單一物件
-Recurse:無提示。物件已刪除。 -
字首,帶有
-Recurse:無提示。字首下的所有內容都會刪除。 -
非空白字首,不含
-Recurse:PowerShell 會提示確認。這是檔案系統提供者的 container-has-children 行為。如果您確認,刪除會遞迴;如果您拒絕,則不會刪除任何內容。在非互動式主機中,該提示區塊。傳遞-Recurse繼續而不提示。
使用原生 PowerShell 切換來預覽或鎖定刪除:
# Preview without deleting Remove-Item S3:/amzn-s3-demo-bucket/old-logs -Recurse -WhatIf # Ask for confirmation Remove-Item S3:/amzn-s3-demo-bucket/notes/todo.txt -Confirm
啟用版本控制的儲存貯體會保留非最新版本
在已啟用 Amazon S3 版本控制的儲存貯體上, 會Remove-Item執行標準刪除。它會新增刪除標記並隱藏目前版本,但不會移除保留並繼續產生儲存成本的非目前版本。若要永久移除版本,請使用 S3 cmdlet (例如具有版本 ID 的 Remove-S3Object) 或 Amazon S3 生命週期規則。
Remove-Item -Recurse 刪除而不提示
Remove-Item -Recurse 會在沒有提示的情況下刪除字首下的每個物件,與 相同rm -r。在沒有版本控制的儲存貯體上,遞迴刪除是永久的。在已啟用版本控制的儲存貯體上,它會新增刪除標記,如上述備註所述。如果您不確定要移除什麼,-WhatIf請先使用 。
您無法透過磁碟機刪除整個儲存貯體,因為儲存貯體生命週期操作超出範圍。請改用 Remove-S3Bucket。
將磁碟機範圍調整為一個儲存貯體或字首
使用 掛載,-Root將磁碟機限制在儲存貯體,或儲存貯體中的字首。然後,磁碟機的根是該位置,而導覽會限制在它的下方。
# Mount rooted at a bucket: the drive root lists the bucket's top-level entries Mount-S3PSDrive -Name Data -Root amzn-s3-demo-bucket -ProfileName my-profile -Region us-east-1 Get-ChildItem Data:/ # top-level keys in amzn-s3-demo-bucket Get-Content Data:/reports/index.txt # -> amzn-s3-demo-bucket/reports/index.txt # Mount rooted at a bucket + prefix Mount-S3PSDrive -Name Reports -Root amzn-s3-demo-reports/2026 -ProfileName my-profile -Region us-east-1 Get-ChildItem Reports:/ # contents of amzn-s3-demo-reports/2026/
根必須已存在。不存在的儲存貯體或字首會失敗掛載。由於相對路徑無法爬過根目錄 (.. 被引擎封鎖),因此範圍掛載可讓您集中檢視一個專案的資料。
從單一磁碟機跨區域存取儲存貯體
單一掛載的磁碟機可以跨區域到達儲存貯體。第一次接觸儲存貯體時,供應商會查詢其區域,並自動將後續呼叫路由至正確的端點。每個區域不需要個別的磁碟機。
# Mounted in us-east-1, but this bucket is in us-west-2 and commands work without extra configuration Mount-S3PSDrive -Name S3 -ProfileName my-profile -Region us-east-1 Get-ChildItem S3:/amzn-s3-demo-west-bucket Get-Content S3:/amzn-s3-demo-west-bucket/data/report.csv -Raw
設定預設儲存類別
使用 在掛載時間設定全磁碟機的預設儲存體方案-StorageClass。每次透過該磁碟機上傳都會使用指定的類別,除非特定 以自己的 Set-Content覆寫它-StorageClass。
# Set all uploads to default to STANDARD_IA Mount-S3PSDrive -Name Archive -ProfileName my-profile -Region us-east-1 -StorageClass STANDARD_IA Set-Content Archive:/amzn-s3-demo-bucket/cold/data.txt -Value '...' # STANDARD_IA Set-Content Archive:/amzn-s3-demo-bucket/hot/data.txt -Value '...' -StorageClass STANDARD # overrides to STANDARD
卸載磁碟機
使用 Dismount-S3PSDrive( 上的包裝函式Remove-PSDrive) 移除磁碟機。先變更為另一個位置,因為 PowerShell 不會移除目前位置的磁碟機。
Set-Location $HOME # or C:\ on Windows Dismount-S3PSDrive -Name S3
支援和不支援的操作
使用 磁碟機瀏覽和移動物件內容。儲存貯體生命週期和伺服器端複製操作會保留專用 S3 cmdlet。
支援
-
導覽和清單:
Set-Location、Get-ChildItem(包括-Recurse)Get-Item、、Test-Path、 tab-completion -
內容:
Get-Content(下載)、Set-Content(上傳) -
刪除:
Remove-Item(單一物件;字首與-Recurse) -
將列出的項目移植到
Get-Content和Remove-Item
不支援
| 命令 | 為什麼 / 要使用什麼 |
|---|---|
|
S3-to-S3複本不會透過磁碟機公開。針對伺服器端複本使用 Copy-S3Object。對於local-to-S3 S3-to-local傳輸,管道 |
|
S3 沒有重新命名。使用 cmdlet 執行複製 + 刪除。 |
|
S3 沒有真正的資料夾。當您在物件下寫入物件時,會出現字首。 |
|
物件是由 完整寫入 |
|
磁碟機不會實作 PowerShell 屬性界面,因此這些命令會失敗,並出現 PowerShell 引擎自己的interface-not-supported錯誤,而非磁碟機的訊息。 |
建立或刪除儲存貯體 |
使用 New-S3Bucket / Remove-S3Bucket。 |
不支援的命令失敗,其中的訊息會命名命令並指向替代 - 例如,「S3 磁碟機不支援複製項目。使用 Copy-S3Object 或管道 Get-Content 來設定內容。」 這些*-ItemProperty命令是例外狀況,如上表所述。
命令參考
如需 Mount-S3PSDrive 和 Dismount-S3PSDrive 的完整參數清單,請參閱 AWS Tools for PowerShell Cmdlet 參考。
在 S3 路徑上,磁碟機也會將動態參數新增至 Set-Content ,Get-Content且這些 cmdlet 的 PowerShell 文件不會涵蓋:
| 命令 | Parameters |
|---|---|
|
|
|
|
疑難排解
「無法卸載磁碟機,因為它正在使用中。」
S3 磁碟機是目前的位置。變更為另一個磁碟機上的位置,例如 $HOME,然後Dismount-S3PSDrive再次執行。
掛載失敗並顯示「找不到根或無法連線」。
中的儲存貯體或字首-Root不存在。檢查名稱 (以及 區域,如果儲存貯體位於您的登入資料不預設的儲存貯體中)。登入資料失敗會產生不同的錯誤,而不是此「無法連線」訊息。在您存取物件之前,根目錄上的許可錯誤可能不會出現,因此成功掛載並不保證您可以讀取其中的每個路徑。
刪除非空白字首會在指令碼中懸置。
當您刪除沒有 的非空白字首時,就會發生這種情況-Recurse。PowerShell 引擎會引發確認提示,因為字首有子系 (檔案系統提供者的 container-has-children 行為)。非互動式主機無法回答提示,因此命令會封鎖。
傳遞 -Recurse 以刪除字首的內容而不提示,或以互動方式確認以繼續。 (-Force 不會由磁碟機的刪除路徑查閱,因此不會在此產生任何影響。)
「我剛在磁碟機外部變更的物件仍會顯示舊清單。」
清單會短暫快取 (大約一秒鐘),以保持快速導覽。透過磁碟機所做的變更會立即顯示。由其他工具所做的變更會在短快取過期後顯示。
「金鑰包含反斜線。」
磁碟機是否可以定址包含反斜線的金鑰取決於作業系統,因為磁碟機接受平台的原生路徑分隔符號:
-
Windows -
\是路徑分隔符號,因此磁碟機會將其讀取為一個,並將其標準化為/。無法透過磁碟機處理包含常值反斜線的金鑰。請改用 S3 cmdlet,例如 Get-S3Object 或 Read-S3Object。 -
Linux 和 macOS - 只有
/路徑分隔符號。反斜線是金鑰中的一般字元,因此磁碟機會正常處理這些金鑰。