阿仁's Blog

使用 PowerShell 上傳檔案至 AWS S3

| Comments

要用 PowerShell 上傳檔案至 AWS S3,
首先要先安裝 AWS Tools for PowerShell SDK。

安裝完之後,在 PowerShell 中載入 AWS PowerShell 模組。

//載入 AWS PowerShell 模組
Import-Module "C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell\AWSPowerShell.psd1"

PS: 首次載入時,會需要輸入AccessKey & SecretKey。

接者直接看 Code 吧!

//載入 AWS PowerShell 模組
Import-Module "C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell\AWSPowerShell.psd1"

//測試是否可正常存取 MyBucket,回傳 true|false。
Test-S3Bucket -BucketName 'MyBucket'

//上傳 D:\local_test.zip 檔案至 S3 'MyBucket',並將檔案放置在 folder 底下,檔案名稱為 test.zip
Write-S3Object -BucketName 'MyBucket' -Key 'folder/test.zip' -File 'D:\local_test.zip' -EndpointUrl 'HTTPS://s3-ap-southeast-1.amazonaws.com'

//將 S3 上 MyBucket 裡的,folder 底下的 test.zip 檔案刪除。
Remove-S3Object -BucketName 'MyBucket' -Key 'folder/test.zip' -EndpointUrl 'HTTPS://s3-ap-southeast-1.amazonaws.com'

幾個須注意的地方
1. -EndpointUrl 這個如果不知道的話,可以到 AWS DOC 上查。
2. 如果想要移除 S3 上的 folder 的話。將 folder 中的檔案都刪除後,folder 就會自動消失了。
3. 在 S3 中沒有提供 Rename Object 的功能。要 Rename 的話,要先複製之後,在刪除即可。

Reference

https://docs.aws.amazon.com/powershell/latest/userguide/pstools-welcome.html
https://aws.amazon.com/tw/powershell/
https://docs.aws.amazon.com/powershell/latest/reference/Index.html

Comments

comments powered by Disqus