Chuyển tới nội dung chính

Kết nối bằng S3 client

S3 client giúp quản lý bucket và file từ dòng lệnh hoặc ứng dụng desktop mà không cần viết code. Dùng S3 client để truyền dữ liệu hàng loạt, chạy script và xử lý file lớn hơn giới hạn 100 GB của Portal.

mẹo

Để gọi FPT Object Storage từ ứng dụng, xem Tham chiếu SDK. Với S3 Browser trên Windows, xem Sử dụng S3 Browser.

S3CMD​

S3CMD là công cụ dòng lệnh cho Linux, Unix và macOS, dùng để tạo bucket và upload, download, sắp xếp file.

Cài đặt S3CMD​

CentOS/RHEL: s3cmd có sẵn trong repository EPEL.

sudo yum install -y epel-release
sudo yum install -y s3cmd

Ubuntu/Debian:

sudo apt-get install s3cmd

macOS:

brew install s3cmd

Với các hệ điều hành khác, xem trang tải S3CMD.

Cấu hình S3CMD​

Trước khi bắt đầu, chuẩn bị Access Key, Secret Key, Endpoint và Region từ FPT Unify Portal. Xem Quản lý Access Key.

  1. Chạy lệnh sau để mở trình hướng dẫn cấu hình:

    s3cmd --configure
  2. Nhập các thông tin sau khi được hỏi:

    PromptGiá trị
    Access KeyAccess Key lấy từ FPT Unify Portal.
    Secret KeySecret Key lấy từ FPT Unify Portal.
    Default RegionRegion của bucket, như hiển thị trên FPT Unify Portal.
    S3 EndpointEndpoint lấy từ FPT Unify Portal, bỏ https://, ví dụ s3-hcm04.fptcloud.com.
    DNS-style bucket+hostname:port template for accessing a bucket%(bucket)s.s3-hcm04.fptcloud.com để truy cập kiểu virtual-hosted style, hoặc s3-hcm04.fptcloud.com để truy cập kiểu path-style. Không giữ giá trị mặc định của Amazon.
    Encryption passwordĐể trống.
    Path to GPG programNhấn Enter để giữ giá trị mặc định.
    Use HTTPS protocolYes.
    HTTP Proxy server nameĐể trống.
    ghi chú

    FPT Object Storage hỗ trợ cả kiểu truy cập virtual-hosted style (bucket-name.s3-hcm04.fptcloud.com) và path-style (s3-hcm04.fptcloud.com/bucket-name). Chọn một trong hai.

  3. Khi được hỏi Test access with supplied credentials? [Y/n], nhập Y. S3CMD kết nối tới FPT Object Storage và báo thông tin xác thực có hợp lệ hay không.

  4. Khi được hỏi Save settings? [y/N], nhập y. S3CMD lưu cấu hình vào ~/.s3cfg.

    cảnh báo

    Câu trả lời mặc định là N. Nếu nhấn Enter mà không nhập y, cấu hình sẽ không được lưu.

Bạn cũng có thể tạo hoặc sửa trực tiếp file ~/.s3cfg thay vì chạy trình hướng dẫn. Ví dụ sau dùng kiểu truy cập virtual-hosted style:

[default]
access_key = YOUR_ACCESS_KEY
secret_key = YOUR_SECRET_KEY
bucket_location = YOUR_REGION
host_base = s3-hcm04.fptcloud.com
host_bucket = %(bucket)s.s3-hcm04.fptcloud.com
use_https = True
signature_v2 = False

Với kiểu truy cập path-style, đặt host_bucket bằng đúng giá trị của host_base, ví dụ host_bucket = s3-hcm04.fptcloud.com.

Kiểm tra kết nối​

s3cmd ls

Nếu danh sách bucket hiển thị, S3CMD đã kết nối tới FPT Object Storage.

Cyberduck​

Cyberduck là ứng dụng desktop miễn phí cho macOS và Windows, dùng để upload, download và quản lý file qua giao diện đồ họa.

Cài đặt Cyberduck​

Tải phiên bản phù hợp với thiết bị từ trang tải Cyberduck, rồi chạy trình cài đặt.

Kết nối Cyberduck​

  1. Mở Cyberduck và nhấn Open Connection, hoặc chọn File → Open Connection.
  2. Trong hộp thoại Open Connection, nhập các thông tin sau:
    • Protocol: Amazon S3
    • Server: endpoint bỏ https://, ví dụ s3-hcm04.fptcloud.com
    • Port: 443
    • Access Key ID: Access Key
    • Secret Access Key: Secret Key
  3. Nhấn Connect. Danh sách bucket hiển thị trong cửa sổ Cyberduck.

AWS CLI​

AWS CLI là công cụ dòng lệnh chính thức cho S3, chạy trên Linux, macOS và Windows.

Cài đặt AWS CLI​

Linux:

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

Windows: chạy lệnh sau trong Command Prompt hoặc PowerShell, rồi làm theo trình cài đặt.

msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi

Với macOS và các tùy chọn khác, xem hướng dẫn cài đặt AWS CLI.

Cấu hình AWS CLI​

  1. Chạy lệnh sau:

    aws configure
  2. Nhập các thông tin sau khi được hỏi:

    PromptGiá trị
    AWS Access Key IDAccess Key.
    AWS Secret Access KeySecret Key.
    Default region nameRegion của bucket, như hiển thị trên FPT Unify Portal.
    Default output formatjson
  3. Thiết lập endpoint. aws configure không hỏi endpoint, nên mặc định AWS CLI gửi request tới Amazon S3. Với AWS CLI 2.13 trở lên, lưu endpoint một lần:

    aws configure set endpoint_url https://s3-hcm04.fptcloud.com

    Với các phiên bản cũ hơn, thêm --endpoint-url https://s3-hcm04.fptcloud.com vào mỗi lệnh.

Kiểm tra kết nối​

aws s3 ls

Nếu danh sách bucket hiển thị, AWS CLI đã kết nối tới FPT Object Storage. Nếu chưa lưu endpoint, chạy aws s3 ls --endpoint-url https://s3-hcm04.fptcloud.com.

WinSCP​

WinSCP là ứng dụng Windows miễn phí để truyền file qua SFTP, SCP, FTP và Amazon S3, hỗ trợ kéo thả.

Cài đặt WinSCP​

Tải WinSCP từ trang tải WinSCP, rồi chạy trình cài đặt.

Kết nối WinSCP​

  1. Mở WinSCP và nhấn New Session.
  2. Trong cửa sổ Login, nhập các thông tin sau:
    • File protocol: Amazon S3
    • Host name: endpoint bỏ https://, ví dụ s3-hcm04.fptcloud.com
    • Port number: 443
    • Access key ID: Access Key
    • Secret access key: Secret Key
  3. Nhấn Save để lưu phiên, rồi nhấn Login. Danh sách bucket hiển thị trong cửa sổ WinSCP, và bạn có thể kéo thả file để upload hoặc download.

s3sync​

s3sync là công cụ dòng lệnh mã nguồn mở để đồng bộ một chiều tốc độ cao giữa thư mục local và bucket, hoặc giữa hai bucket. s3sync chạy trên Linux, macOS, FreeBSD và OpenBSD.

Cài đặt s3sync​

Tải bản build phù hợp với hệ thống từ s3sync releases, rồi giải nén.

Tùy chọn thường dùng​

Tùy chọnMô tả
--sk, --ss, --se, --srAccess Key, Secret Key, endpoint và Region của nguồn.
--tk, --ts, --te, --trAccess Key, Secret Key, endpoint và Region của đích.
-wSố worker chạy song song.
--sync-progressHiển thị tiến độ đồng bộ.
--s3-aclACL cho object được upload, ví dụ private hoặc public-read.
--disable-http2Tắt HTTP/2 cho client.
--ratelimit-objectsSố object tối đa mỗi giây.
--ratelimit-bandwidthBăng thông tối đa, tính bằng byte mỗi giây. Chấp nhận hậu tố K, M, G.

--sr là bắt buộc khi nguồn là bucket Amazon S3 ngoài us-east-1.

Ví dụ​

Thay YOUR_ACCESS_KEY, YOUR_SECRET_KEY, endpoint, tên bucket và đường dẫn local bằng giá trị thực tế.

Upload thư mục local lên bucket:

./s3sync --tk YOUR_ACCESS_KEY --ts YOUR_SECRET_KEY --te https://s3-hcm04.fptcloud.com -w 64 fs:///path/to/local/folder/ s3://target-bucket/ --sync-progress --s3-acl private

Download bucket về thư mục local:

./s3sync --sk YOUR_ACCESS_KEY --ss YOUR_SECRET_KEY --se https://s3-hcm04.fptcloud.com -w 64 s3://source-bucket/ fs:///path/to/local/folder/ --sync-progress --disable-http2

Sao chép bucket sang bucket khác ở Region khác:

./s3sync --sk YOUR_SOURCE_ACCESS_KEY --ss YOUR_SOURCE_SECRET_KEY --se https://s3-hcm04.fptcloud.com --tk YOUR_TARGET_ACCESS_KEY --ts YOUR_TARGET_SECRET_KEY --te https://s3-hfx03.fptcloud.com -w 64 s3://source-bucket/ s3://target-bucket/ --sync-progress --s3-acl private --disable-http2

Sao chép bucket Amazon S3 sang FPT Object Storage. Bỏ --se để nguồn là Amazon S3, và đặt --sr là Region AWS của bucket nguồn, ví dụ ap-southeast-1:

./s3sync --sk YOUR_AWS_ACCESS_KEY --ss YOUR_AWS_SECRET_KEY --sr YOUR_AWS_REGION --tk YOUR_FPT_ACCESS_KEY --ts YOUR_FPT_SECRET_KEY --te https://s3-hcm04.fptcloud.com -w 64 s3://aws-source-bucket/ s3://fpt-target-bucket/ --sync-progress --s3-acl private --disable-http2
cảnh báo

--s3-acl public-read khiến mọi object được upload đều có thể đọc công khai trên Internet. Chỉ dùng cho dữ liệu cần công khai.