Как загружать и синхронизировать файлы в AWS S3 из Windows Powershell
Powershell — полезный инструмент для автоматизации в Windows. AWS предоставляет инструменты CLI для Powershell, включая полный интерфейс для их Simple Storage Service. Если вы хотите автоматизировать отправку файлов в корзины S3, это довольно просто.
Настройка интерфейса командной строки Powershell
Во-первых, вам нужно установить общий пакет AWS.Tools, который управляет всеми модулями для различных сервисов. Скажите «да» на подсказки, если вы получаете ненадежное предупреждение:
Install-Module -Name AWS.Tools.Installer
Затем вы можете установить специальный модуль S3:
Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3 -CleanUp
Вам нужно будет связать свою учетную запись с инструментами. Существует несколько методов обработки учетных данных — вы можете указать их для каждой команды, для каждого сеанса или для всех сеансов. Если это скрипт, работающий на вашем собственном компьютере, вы, вероятно, захотите просто установить учетные данные своей учетной записи один раз, используя хранилище учетных данных по умолчанию:
Set-AWSCredential ` -AccessKey AKIA0123456787EXAMPLE ` -SecretKey wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY ` -StoreAs default
Обратите внимание, что для этого вам следует создать пользователя IAM, а не использовать учетную запись root.
Загрузка файлов
После привязки загрузка файлов очень проста. Чтобы выполнить загрузку в корень сегмента, укажите для командлета имя сегмента и путь к файлу:
Write-S3Object -BucketName bucket -File file.txt
Чтобы загрузить в определенное место, вам нужно дать ему строковый ключ, обязательно указав имя файла вручную:
Write-S3Object -BucketName bucket -Key "subfolder/File.txt" -File file.txt
А чтобы синхронизировать всю папку, используйте параметр -Folder
. При желании вы можете загрузить папку в подкаталог, указав префикс для каждого элемента:
Write-S3Object -BucketName bucket -Folder .Scripts -KeyPrefix Scripts
Для получения дополнительной документации по другим командлетам, связанным с S3, вы можете прочитать справочник по модулю.