s3
Пакет для взаимодействия с S3 совместимыми хранилищами
connect(address, access_key, secret_key)
Устанавливает соединение с S3 сервером
Параметры
# | Тип | Описание |
---|---|---|
1 | строка | адрес сервера |
2 | строка | ключ доступа |
3 | строка | секретный ключ |
Результат
# | Тип | Описание |
---|---|---|
1 | s3_session_ud | s3 сессия |
2 | строка | ошибка или nil |
Работа с S3 сессией (s3_client_ud)
- list_buckets
- list_objects
- put_object
- get_object
- download_to_storage
- remove_object
- remove_bucket
- create_bucket
download_object(bucket, key, local_path)
Скачивает объект из S3 хранилища и сохраняет файл локально. Удобно использовать для больших файлов, чтобы держать данные в памяти и записывать файл вручную.
Параметры
# | Тип | Описание |
---|---|---|
1 | строка | бакет |
2 | строка | путь на сервере |
3 | строка | локальный путь |
Результат
# | Тип | Описание |
---|---|---|
1 | ошибка или nil |
Пример
local s3 = require "s3"
local cli, err = s3.connect("mys3host:443", "...", "...")
if err then error(err) end
err = cli:download_object("mybucket", "images/vikingo.jpg", [[C:\Users\user\Desktop\vikingo.jpg]])
if err then error(err) end
print("object downloaded")
download_to_storage(bucket, key)
Скачивает объект из S3 хранилища и сохраняет файл в хранилище Engine.
Параметры
# | Тип | Описание |
---|---|---|
1 | строка | бакет |
2 | строка | путь на сервере |
Результат
# | Тип | Описание |
---|---|---|
1 | id файла или nil | |
2 | ошибка или nil |
Пример
local s3 = require "s3"
local sess, err = s3.connect("s3.host:443", "...", "...")
if err then error(err) end
id, err = sess:download_to_storage("mybucket", "backups/new/bigfile.zip")
if err then error(err) end
print("object saved", id)