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 Generate Token Và Tạo Temp URL Upload Trên vStorage API

Hướng dẫn từng bước tạo Authentication Token và sử dụng Temporary URL để upload file lên vStorage thông qua API.


1. Tạo Authentication Token

Bước 1: Truy cập trang quản lý Service Account tại địa chỉ https://iam.console.vngcloud.vn/service-accounts để tạo một Service Account mới. Mục tiêu là lấy cặp Client IDSecret ID dùng cho project vStorage.

Màn hình tạo Service Account trên IAM console

Tại bước cấu hình quyền (permission), chọn policy vStorageAPIFullAccess:

Chọn permission vStorageAPIFullAccess

Sau khi tạo xong, lưu lại giá trị Secret ID ngay tại bước này vì hệ thống chỉ hiển thị một lần:

Màn hình lưu Secret ID

Ví dụ về cặp thông tin thu được:

  • 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: Truy cập https://www.convertstring.com/vi/EncodeDecode/Base64Encode, nhập chuỗi theo định dạng ClientID:SecretID và lấy kết quả mã hóa.

  • Cách 2 — Dùng lệnh trên Linux server:

echo -n ClientID:SecretID | base64 -w 0

Kết quả lệnh base64 trên Linux

Bước 3: Dùng giá trị Base64 vừa có để gọi API lấy Authen Token bằng lệnh curl sau:

curl --location '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 thu được ở Bước 2:

Ví dụ lệnh curl hoàn chỉnh với giá trị Base64

Kết quả trả về sẽ chứa Authen Token:

Kết quả phản hồi chứa Authen Token

Nếu dùng Postman, có thể chọn Import → Paste cURL để nhập lệnh curl trên vào trực tiếp:

Import lệnh curl vào Postman

Kết quả Authen 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 để tạo token mới.

2. Tạo Temp URL Và Upload File

Bước 4: Gọi API để lấy Temp URL upload. Thay các tham số {project_id}, {bucket_name}, và {object} (tên file đích) cho phù hợp với tài nguyên của bạn. Trường timeExpire xác định thời gian hiệu lực của URL tính bằng giây:

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

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

Ví dụ Temp URL nhận được từ API:

https://rover123.han02.vstorage.vngcloud.vn/kaisa?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20251218T031455Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=YLTQLAA3OTE3YOLTW4YM%2F20251218%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=725bbee815515f25d78a08ff4dc7d7822cdb3faa5d2b0800d6adb8ee8c307db1

Bước 5: Dùng Temp URL vừa lấy để upload file. Phương thức là PUT. Có thể dùng curl hoặc Postman.

Dùng curl:

curl --location --request PUT \
'https://rover123.han02.vstorage.vngcloud.vn/kaisa?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20251218T031455Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=YLTQLAA3OTE3YOLTW4YM%2F20251218%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=725bbee815515f25d78a08ff4dc7d7822cdb3faa5d2b0800d6adb8ee8c307db1' \
--header 'Content-Type: image/jpeg' \
--data-binary 'kaisa.jpg'

Dùng Postman — cấu hình method PUT, dán Temp URL vào ô địa chỉ, đính kèm file trong phần body:

Cấu hình upload file bằng Temp URL trong Postman

Khi nhấn Send, phản hồi trả về HTTP 200 nghĩa là upload thành công. File sẽ xuất hiện trên portal vStorage:

File đã upload thành công hiển thị trên portal

✅ Hoàn tất: File đã được upload thành công lên bucket vStorage thông qua Temp URL.
💡 Mẹo: Giá trị timeExpire trong Bước 4 có thể điều chỉnh tùy nhu cầu. Nếu cần upload file lớn hoặc kết nối chậm, hãy tăng thời hạn để tránh URL hết hạn giữa chừng.

Tài liệu tham khảo

    • Related Articles

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

      Help 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ý ...
    • Hướng dẫn generate Token để tạo Temp URL upload file trong vStorage API

      Help Center Upload File lên vStorage sử dụng Temporary URL Hướng dẫn xác thực với VNG Cloud IAM và tải tệp lên vStorage thông qua Temporary URL mà không cần xác thực trực tiếp mỗi lần gọi API. 1. Tạo Authentication Token Trước khi gọi bất kỳ API nào ...
    • 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 ...
    • Get Access Token cho API vServer sử dụng tool Postman

      Help Center Hướng dẫn lấy Access Token để gọi vServer API Mô tả cách tạo Service Account và lấy Access Token thông qua Postman, phục vụ việc xác thực các request tới vServer API. 1. Tổng quan Mọi request gửi tới vServer API ...
    • Hướng dẫn setup HA nginx đơn giản bằng keepalived sử dụng VIP

      Help Center Cấu hình High Availability với VIP, NGINX và Keepalived trên VNG Cloud Hướng dẫn triển khai cụm HA sử dụng Virtual IP Address kết hợp NGINX và keepalived trên nền tảng VNG Cloud, đảm bảo dịch vụ tiếp tục hoạt động khi một node gặp sự cố. ...