s3

Пакет для взаимодействия с S3 совместимыми хранилищами


connect(address, access_key, secret_key)

Устанавливает соединение с S3 сервером

Параметры

#ТипОписание
1строкаадрес сервера
2строкаключ доступа
3строкасекретный ключ

Результат

#ТипОписание
1s3_session_uds3 сессия
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строкапуть на сервере

Результат

#ТипОписание
1id файла или 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)