cloud-storage-skill

Generate presigned URLs and upload or download files across S3 and OSS in Go backends.

Updated Jan 24, 2026
One-click install
npx skills add https://github.com/Penitence1992/go-zero-backend-skills --skill cloud-storage-skill
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cloud-storage-skill
Source: https://github.com/Penitence1992/go-zero-backend-skills/tree/main/skills/cloud-storage-skill
Command: npx skills add https://github.com/Penitence1992/go-zero-backend-skills --skill cloud-storage-skill

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill simplifies integrating cloud storage in Go backends by providing reusable patterns for uploading, downloading, and generating presigned URLs across S3 and OSS.

Core Features & Use Cases

  • Unified storage patterns: Go code scaffolds for AWS S3 and Alibaba Cloud OSS client usage.
  • Presigned URL generation: Demonstrates generating secure, time-limited URLs for client uploads and downloads.
  • Common scenarios: Backends enabling user file uploads, downloads, and media storage with minimal boilerplate.

Quick Start

Install Go modules, configure AWS S3 and Alibaba OSS credentials, then initialize clients and call PresignUploadUrl/GetDownloadUrl to enable client-side uploads without exposing credentials.

Frequently Asked Questions about cloud-storage-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate presigned URLs in Go for S3 and OSS uploads?

To generate presigned URLs in Go, initialize your S3 or OSS clients and call the PresignUploadUrl function to create secure, time-limited links that allow direct client-side uploads without exposing backend credentials.

What is the best way to support both AWS S3 and Alibaba Cloud OSS in a Go backend?

Supporting both AWS S3 and Alibaba Cloud OSS requires unified storage patterns that standardize client initialization and file operations, allowing your Go backend to switch between providers using reusable code scaffolds.

How do I let clients download files from S3 without exposing credentials?

To allow secure client downloads without exposing credentials, use the GetDownloadUrl function to generate time-limited presigned URLs that grant temporary read access to specific S3 or OSS objects.

Does this cloud storage integration require specific Go modules for S3 and OSS?

Yes, integrating S3 and OSS requires installing the necessary Go modules for AWS and Alibaba Cloud clients, configuring your provider credentials, and then initializing the storage clients before generating presigned URLs.

Can I use presigned URLs for cross-cloud storage lifecycle management in Go?

Presigned URLs facilitate cross-cloud storage scenarios by enabling secure uploads and downloads across S3 and OSS, which supports production backend requirements for secure file transfers and lifecycle management.

Why do I need presigned URLs for user file uploads in Go backends?

You need presigned URLs for user file uploads to provide secure, time-limited client access that bypasses proxying file data through your Go backend, minimizing boilerplate and ensuring credentials remain server-side.