storage-adapters

Provide a unified file operation API across S3, GCS, R2, Azure, and Local storage.

6|3|Updated Apr 8, 2022
One-click install
npx skills add https://github.com/Rytass/Utils --skill storage-adapters
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: storage-adapters
Source: https://github.com/Rytass/Utils/tree/main/.claude/skills/storage-adapters
Command: npx skills add https://github.com/Rytass/Utils --skill storage-adapters

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

The Storage Adapters Skill provides a single, consistent guide for integrating AWS S3, Google Cloud Storage, Cloudflare R2, Azure Blob, and Local storage adapters, enabling seamless file upload, download, and archiving workflows.

Core Features & Use Cases

  • Unified API across multiple providers (write, batchWrite, read, remove, isExists) to simplify code and enable easy provider swaps.
  • Support for presigned URLs (where supported) for secure temporary access and NestJS integration patterns.
  • Batch operations and optional file-converter support to optimize pipelines and enforce consistent naming schemes.

Quick Start

Install the base storages package and the adapter you need (for example, @rytass/storages and @rytass/storages-adapter-s3). Then instantiate a storage service with credentials and perform a write, read, or URL operation according to your app's needs.

Frequently Asked Questions about storage-adapters

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

FAQPage Schema
How do I use a unified API for file storage across S3, GCS, R2, and Azure?

A unified storage adapter API standardizes file operations like write, read, and remove across S3, GCS, R2, Azure, and Local. It simplifies your code by providing a consistent interface, allowing you to swap providers without rewriting application logic.

How do I generate presigned URLs for files in a NestJS application?

You can generate presigned URLs for secure temporary access within a NestJS application by using the storage adapters. This provides secure file download links without exposing your underlying storage credentials directly to the client.

Can I swap cloud storage providers without changing my Node app's file operation logic?

Yes, swapping cloud storage providers is possible without changing file operation logic by using a unified storage interface. Because adapters share standard methods like write, batchWrite, and read, switching from S3 to Azure requires minimal configuration changes.

What is the best way to handle batch file uploads to cloud storage in Node?

The best way to handle batch file uploads is using the batchWrite method available in the storage adapters. This allows you to process multiple files simultaneously, optimizing upload pipelines and enforcing consistent naming schemes across providers.

Does the storage adapter support hash-based filenames and file converters?

Yes, the storage adapter supports optional file converters and hash-based filenames across all providers. This feature helps optimize processing pipelines and enforce consistent naming schemes when writing files to S3, GCS, R2, Azure, or Local storage.