Hướng dẫn sử dụng vstorage api HAN02 lấy tempURL để upload file

Hướng dẫn sử dụng vstorage api HAN02 lấy tempURL để upload file

GreenNodeHelp Center

Hướng dẫn tạo Token và upload file qua Temp URL trên vStorage API HAN01

Mô tả các bước xác thực bằng Service Account và sử dụng Temp URL để upload object lên vStorage tại region HAN01.


1. Tạo Authen Token

Bước 1: Truy cập trang quản lý Service Account tại https://iam.console.vngcloud.vn/service-accounts để tạo một Service Account mới. Sau khi tạo, hệ thống cấp cho bạn một cặp Client IDSecret ID gắn với project vStorage.

Trang tạo Service Account trên IAM Console

Ở bước gán quyền, chọn policy vStorageAPIFullAccess:

Chọn permission vStorageAPIFullAccess

Lưu lại giá trị Secret ID ngay khi được hiển thị — hệ thống chỉ hiển thị một lần:

Màn hình lưu Secret ID

⚠ Lưu ý: Ví dụ: Client ID: ec2d4f62-6580-406e-95e3-b17xxxxxxx — Secret ID: eac20c8b-df1c-480e-bc01-38fxxxxxxx

Bước 2: Mã hóa cặp ClientID:SecretID sang định dạng Base64. Có hai cách thực hiện:

Cách 1: Dùng công cụ web tại https://www.convertstring.com/vi/EncodeDecode/Base64Encode — dán chuỗi ClientID:SecretID vào ô nhập và lấy kết quả.

Cách 2: Chạy lệnh trực tiếp trên máy chủ Linux:

echo -n ClientID:SecretID | base64 -w 0

Kết quả mã hóa Base64 trên Linux

Bước 3: Dùng chuỗi Base64 vừa tạo để gọi API lấy Authen Token:

curl --location \
  --url 'https://iamapis.vngcloud.vn/accounts-api/v1/auth/token' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Basic <Base64(ClientID:SecretID)>' \
  --data '{"grantType": "client_credentials"}'

Thay <Base64(ClientID:SecretID)> bằng chuỗi mã hóa Base64 thu được ở Bước 2.

Lệnh curl đầy đủ với giá trị Base64 đã điền

Kết quả trả về chứa trường access_token — đây chính là Authen Token cần dùng cho các bước tiếp theo:

Response chứa access_token

Nếu dùng Postman, chọn Import → dán lệnh curl trên vào:

Import curl vào Postman

Kết quả token trong Postman

⚠ Lưu ý: Token có thời hạn 1800 giây (30 phút). Sau khi hết hạn, cần lặp lại Bước 3 để lấy token mới.

2. Lấy Temp URL và upload file

Bước 4: Gọi API để tạo Temp URL cho object cần upload. Thay các placeholder {project_id}, {bucket_name}, {object_name} bằng thông tin thực tế. Tham số timeExpire là thời gian hiệu lực của URL tính bằng giây (ví dụ: 3600 = 1 giờ):

curl --request POST \
  --url 'https://han02-api.vstorage.vngcloud.vn/api/v1/ceph/projects/{project_id}/buckets/{bucket_name}/objects/{object_name}/upload_tempurls' \
  --header 'Authorization: Bearer <Token>' \
  --header 'accept: */*' \
  --header 'content-type: application/json' \
  --data '{"timeExpire": 3600}'

Kết quả API trả về Temp URL

API trả về một URL có chứa các tham số chữ ký AWS4 dạng:

https://{bucket}.han02.vstorage.vngcloud.vn/{object}?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=...&X-Amz-Expires=3600&X-Amz-Signature=...

Bước 5: Dùng Temp URL để upload file. Phương thức bắt buộc là PUT.

Dùng curl:

curl --location --request PUT '<Temp_URL>' \
  --header 'Content-Type: image/jpeg' \
  --data-binary '@kaisa.jpg'

Dùng Postman: tạo request PUT, dán Temp URL vào ô URL, thiết lập Body → binary, chọn file cần upload:

Cấu hình PUT request trong Postman

Nhấn Send. Khi nhận được HTTP status 200, file đã được upload thành công. Kiểm tra trên portal vStorage để xác nhận object xuất hiện trong bucket:

File upload thành công trên portal vStorage

✅ Hoàn tất: Upload hoàn tất. Object đã có mặt trong bucket đích trên vStorage HAN01.
💡 Mẹo: Temp URL chỉ dùng được một lần trong khoảng thời gian timeExpire. Nếu cần upload lại hoặc upload file khác, lặp lại Bước 4 để tạo URL mới.

Tài liệu tham khảo

    • Related Articles

    • Hướng dẫn sử dụng Storage Gateway

      Help Center Hướng Dẫn Cấu Hình và Sử Dụng Storage Gateway VNG Cloud Hướng dẫn từng bước để truy cập, cấu hình Credential, tạo user, tạo file share và kết nối client NFS/SMB với Storage Gateway. 1. Truy Cập Storage Gateway Bước 1: Sau khi khởi tạo ...
    • Hướng dẫn generate Token để tạo Temp URL upload file trong vStorage API

      Generate Authen Token: - Truy cập https://iam.console.vngcloud.vn/service-accounts để tạo Service Account để lấy cặp ClientID và SecretID cho project vStorage Client ID: ec2d4f62-6580-406e-95e3-b17xxxxxxx Secret ID: 4ec7b98b-df1c-480e-bc01-38fxxxxxxx ...
    • Get Access Token cho API vServer sử dụng tool Postman

      Giới thiệu tổng quan: Khi sử dụng API vServer (https://vserver-api-docs.vngcloud.vn/service-docs/vserver.html) , trong mọi request đều yêu cầu Access Token nên dưới đây sẽ là hướng dẫn cụ thể Bước 1: Đầu tiên để get được Access Token thì cần có ...
    • Hướng dẫn sử dụng NFS làm Persistent Storage cho cluster VKS

      Hướng dẫn sử dụng NFS làm Persistent Storage cho cluster VKS Do Persistent Volume hiện tại trên chỉ hỗ trợ mode ReadWriteOnce(RWO), không hỗ trợ ReadWriteMany(RWX) nên trong bài viết này VNG Cloud hướng dẫn Quý Khách sử dụng NFS Server hoặc vStorage ...
    • Hướng dẫn setup HA nginx đơn giản bằng keepalived sử dụng VIP

      VNG CLOUD đang cung cấp 1 dịch vụ cho phép người dùng khởi tạo Virtual IP Address (VIP) phục vụ cho nhu cầu High Avaibility (HA) của hệ thống. Hiện tại VIP là 1 private IP, chưa có Public VIP. 1.Khởi tạo VIP trên Portal VNG Cloud Sau khi khởi tạo VIP ...