Syntax highlighting of
devops/s3
= Simple Storage Service (S3) =
<<TableOfContents()>>
== Minio ==
[[https://min.io/]]
[[https://min.io/docs/minio/linux/reference/minio-mc.html]]
[[https://docs.min.io/docs/minio-quickstart-guide.html|Quickstart Guide|class=" moin-https"]]
[[https://docs.min.io/docs/setup-nginx-proxy-with-minio.html|Set up Nginx proxy with MinIO Server|class=" moin-https"]] (USE 9001 in PROXY!)
=== Run ===
{{{#!highlight bash
docker volume create minio_data
docker run -d \
-p 127.0.0.1:9000:9000 \
-p 127.0.0.1:9001:9001 \
--name minio \
--restart unless-stopped \
-v minio_data:/data \
-e "MINIO_ROOT_USER=user" \
-e "MINIO_ROOT_PASSWORD=supersecret" \
quay.io/minio/minio server /data --console-address ":9001"
}}}
{{{
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::blob3", "arn:aws:s3:::blob3/*" ] } ] }
}}}
== s3cmd ==
[[https://s3tools.org/s3cmd|S3 Tools - s3cmd]]
{{{#!highlight bash
sudo apt install s3cmd
# --- создать файл конфигурации (~/.s3cfg) в интерактивном режиме
s3cmd --configure
# --- выгрузить файл в корзину
s3cmd put </path/to/file> s3://bucket_name
# --- задать http заголовки файлам в s3
s3cmd modify --add-header=x-amz-meta-patient:petrov \
--add-header=x-amz-meta-status:ok \
s3://hospital/image01.dat \
s3://hospital/image02.dat
# --- отобразить информацию о файлах
s3cmd info s3://hospital/image01.dat s3://hospital/image02.dat
# --- синхронизировать файлы в корзине и в локальной директории
s3cmd sync s3://<имя бакета> <путь к локальной папке на компьютере>/
# --- выполнить команду с указанием файла конфигурации
s3cmd -c /path/to/config/file put </path/to/file> s3://bucket_name
# --- удалить файлы в корзине
s3cmd del s3://YOURBUCKET
# --- удалить все файлы и директории рекурсивно
s3cmd del s3://YOURBUCKET --recursive
# --- удалить все файлы и директории с заданным префиксом
s3cmd del s3://YOURBUCKET/YOURPREFIX --recursive
}}}
Файл конфигурации ''~/.s3cfg''
{{{
[default]
access_key = "access_key"
secret_key = "secret_key"
bucket_location = ru-1
host_base = endpoint_url
host_bucket = endpoint_url
use_https = True
}}}