upload(localPath, remotePath, options) Operation client đọc asset marketing local và gửi PutObject khi đã duyệt.
- Nghiên cứu:
- Config + path
- Review:
- Secret exposure
- Xác thực:
- Upload result
Tóm tắt nhanh / Lệnh
Bộ Marketing
/ak:storage
Trợ lý object storage tương thích S3 cho asset marketing trên Cloudflare R2, AWS S3, MinIO, Backblaze B2 và DigitalOcean Spaces.
Xác định thao tác
Kiểm tra config
Kiểm tra SDK
Chọn provider
Nguyên tắc 01
Asset marketing có thể dùng mọi backend tương thích S3 nếu endpoint, bucket, key và region được cấu hình.
Nguyên tắc 02
Skill trả URL public dễ chia sẻ khi có S3_PUBLIC_URL hoặc URL từ provider.
Nguyên tắc 03
Fallback là hành vi có chủ đích: storage chưa cấu hình không được làm hỏng workflow asset local.
Nguyên tắc 04
Credential không bao giờ được hiển thị; dùng access token giới hạn quyền theo bucket.
Các nhánh chính từ đầu vào đến kết quả, bám theo cách command chạy khi dùng thật.
Khởi động
Đầu vào, phạm vi, route
Xử lý
Agent / skill thực thi
Kiểm chứng
Gate, review, xác thực
Đóng
Báo cáo, bàn giao, artifact
upload(localPath, remotePath, options) Operation client đọc asset marketing local và gửi PutObject khi đã duyệt.
download(remotePath, localPath) Operation client tạo thư mục cha và ghi byte đã download.
list(prefix, maxKeys) Operation client gửi ListObjectsV2 cho prefix có giới hạn.
remove(remotePath) Operation client xóa đúng một key đã được duyệt.
exists(remotePath) Operation client gửi HeadObject và trả kết quả tồn tại.
getPublicUrl(remotePath) Operation client dựng URL mà không gửi request tới provider.
sync(localFolder, remotePrefix, options) Operation client scan folder local; dry run preview mapping file-sang-object mà không upload.
Ví dụ gọi command theo từng flag, subcommand, mode hoặc route dùng được trong workflow thực tế.
/ak:storage "Tải lên assets/images/launch-hero.png tới campaign/launch/hero.png chỉ sau khi được phê duyệt; trả về URL nếu đã cấu hình" /ak:storage "Tải xuống designs/pricing-deck.html tới assets/slides/pricing-deck.html sau khi xác nhận khóa" /ak:storage "Liệt kê các khóa từ xa đã được phê duyệt dưới designs/ mà không xóa hoặc tải lên bất kỳ thứ gì" /ak:storage "Xóa chính xác khóa đã được phê duyệt drafts/old-banner.png và không xóa đối tượng nào khác" /ak:storage "Kiểm tra xem campaign/launch/hero.png có tồn tại bằng HeadObject và không tải xuống" /ak:storage "Dùng getPublicUrl cho designs/pricing-deck.html mà không gửi yêu cầu tới nhà cung cấp" /ak:storage "Xem trước đồng bộ assets/slides/ tới slides/ ở chế độ dry run; hiển thị mọi khóa đối tượng và chờ trước khi tải lên"