Поиск по сайту:

Как загружать и синхронизировать файлы в 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, вы можете прочитать справочник по модулю.