@apicity/s3

中文文档
0.26.0发布于 2026/11/05MITTypeScriptES Module近 30 天下载 3573

S3-compatible object storage provider.

原始使用文档
文档目录7 节
  1. Installation
  2. Quick Start
  3. API Reference
  4. buckets
  5. objectLambda
  6. objects
  7. License

@apicity/s3

npm dependencies TypeScript docs

S3-compatible object storage provider.

Runtime dependencies:

  • zod@^4.6.6 — request schemas attached to every POST endpoint as .schema

Installation

npm install @apicity/s3
# or
pnpm add @apicity/s3

Quick Start

import { createS3 } from "@apicity/s3";

const s3 = createS3({
  accessKeyId: process.env.S3_ACCESS_KEY_ID!,
  secretAccessKey: process.env.S3_SECRET_ACCESS_KEY!,
  region: process.env.S3_REGION ?? "us-east-1",
  endpoint: process.env.S3_ENDPOINT,
});

API Reference

112 endpoints across 3 groups. Each method mirrors an upstream URL path.

buckets

PUT s3.buckets.create

PUT https://s3.us-east-1.amazonaws.com/{bucket}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.create({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

POST s3.buckets.createMetadataConfiguration

POST https://s3.us-east-1.amazonaws.com/{bucket}?metadataConfiguration

Cost tier: prohibitive

Upstream docs ↗

const res = await s3.buckets.createMetadataConfiguration({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

POST s3.buckets.createMetadataTableConfiguration

POST https://s3.us-east-1.amazonaws.com/{bucket}?metadataTable

Cost tier: prohibitive

Upstream docs ↗

const res = await s3.buckets.createMetadataTableConfiguration({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.createSession

GET https://s3express-{param}.{param}.amazonaws.com/{bucket}?session

Cost tier: prohibitive

Upstream docs ↗

const res = await s3.buckets.createSession({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.del

DELETE https://s3.us-east-1.amazonaws.com/{bucket}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.del({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delAnalytics

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?analytics{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delAnalytics({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delCors

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?cors

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delCors({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delEncryption

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?encryption

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delEncryption({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delIntelligentTiering

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?intelligent-tiering{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delIntelligentTiering({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delInventory

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?inventory{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delInventory({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delLifecycle

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?lifecycle

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delLifecycle({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delMetadataConfiguration

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?metadataConfiguration

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delMetadataConfiguration({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delMetadataTableConfiguration

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?metadataTable

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delMetadataTableConfiguration({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delMetrics

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?metrics{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delMetrics({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delOwnershipControls

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?ownershipControls

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delOwnershipControls({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delPolicy

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?policy

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delPolicy({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delPublicAccessBlock

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?publicAccessBlock

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delPublicAccessBlock({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delReplication

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?replication

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delReplication({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delTagging

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?tagging

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delTagging({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.buckets.delWebsite

DELETE https://s3.us-east-1.amazonaws.com/{bucket}?website

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.delWebsite({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getAbac

GET https://s3.us-east-1.amazonaws.com/{bucket}?abac

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getAbac({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getAccelerateConfiguration

GET https://s3.us-east-1.amazonaws.com/{bucket}?accelerate

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getAccelerateConfiguration({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getAcl

GET https://s3.us-east-1.amazonaws.com/{bucket}?acl

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getAcl({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getAnalytics

GET https://s3.us-east-1.amazonaws.com/{bucket}?analytics{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getAnalytics({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getCors

GET https://s3.us-east-1.amazonaws.com/{bucket}?cors

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getCors({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getEncryption

GET https://s3.us-east-1.amazonaws.com/{bucket}?encryption

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getEncryption({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getIntelligentTiering

GET https://s3.us-east-1.amazonaws.com/{bucket}?intelligent-tiering{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getIntelligentTiering({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getInventory

GET https://s3.us-east-1.amazonaws.com/{bucket}?inventory{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getInventory({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getLifecycle

GET https://s3.us-east-1.amazonaws.com/{bucket}?lifecycle

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getLifecycle({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getLifecycleLegacy

GET https://s3.us-east-1.amazonaws.com/{bucket}?lifecycle

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getLifecycleLegacy({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getLogging

GET https://s3.us-east-1.amazonaws.com/{bucket}?logging

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getLogging({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getMetadataConfiguration

GET https://s3.us-east-1.amazonaws.com/{bucket}?metadataConfiguration

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getMetadataConfiguration({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getMetadataTableConfiguration

GET https://s3.us-east-1.amazonaws.com/{bucket}?metadataTable

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getMetadataTableConfiguration({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getMetrics

GET https://s3.us-east-1.amazonaws.com/{bucket}?metrics{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getMetrics({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getNotification

GET https://s3.us-east-1.amazonaws.com/{bucket}?notification

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getNotification({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getNotificationLegacy

GET https://s3.us-east-1.amazonaws.com/{bucket}?notification

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getNotificationLegacy({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getObjectLockConfiguration

GET https://s3.us-east-1.amazonaws.com/{bucket}?object-lock

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getObjectLockConfiguration({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getOwnershipControls

GET https://s3.us-east-1.amazonaws.com/{bucket}?ownershipControls

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getOwnershipControls({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getPolicy

GET https://s3.us-east-1.amazonaws.com/{bucket}?policy

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getPolicy({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getPolicyStatus

GET https://s3.us-east-1.amazonaws.com/{bucket}?policyStatus

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getPolicyStatus({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getPublicAccessBlock

GET https://s3.us-east-1.amazonaws.com/{bucket}?publicAccessBlock

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getPublicAccessBlock({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getReplication

GET https://s3.us-east-1.amazonaws.com/{bucket}?replication

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getReplication({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getRequestPayment

GET https://s3.us-east-1.amazonaws.com/{bucket}?requestPayment

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getRequestPayment({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getTagging

GET https://s3.us-east-1.amazonaws.com/{bucket}?tagging

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getTagging({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getVersioning

GET https://s3.us-east-1.amazonaws.com/{bucket}?versioning

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getVersioning({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.getWebsite

GET https://s3.us-east-1.amazonaws.com/{bucket}?website

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.getWebsite({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

HEAD s3.buckets.head

HEAD https://s3.us-east-1.amazonaws.com/{bucket}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.head({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.list

GET https://s3.us-east-1.amazonaws.com/

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.list({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.listAnalytics

GET https://s3.us-east-1.amazonaws.com/{bucket}?analytics{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.listAnalytics({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.listDirectory

GET https://s3express-control.{param}.amazonaws.com/{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.listDirectory({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.listIntelligentTiering

GET https://s3.us-east-1.amazonaws.com/{bucket}?intelligent-tiering{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.listIntelligentTiering({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.listInventory

GET https://s3.us-east-1.amazonaws.com/{bucket}?inventory{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.listInventory({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.listMetrics

GET https://s3.us-east-1.amazonaws.com/{bucket}?metrics{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.listMetrics({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.buckets.location

GET https://s3.us-east-1.amazonaws.com/{bucket}?location

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.location({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putAbac

PUT https://s3.us-east-1.amazonaws.com/{bucket}?abac

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putAbac({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putAccelerateConfiguration

PUT https://s3.us-east-1.amazonaws.com/{bucket}?accelerate

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putAccelerateConfiguration({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putAcl

PUT https://s3.us-east-1.amazonaws.com/{bucket}?acl

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putAcl({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putAnalytics

PUT https://s3.us-east-1.amazonaws.com/{bucket}?analytics{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putAnalytics({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putCors

PUT https://s3.us-east-1.amazonaws.com/{bucket}?cors

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putCors({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putEncryption

PUT https://s3.us-east-1.amazonaws.com/{bucket}?encryption

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putEncryption({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putIntelligentTiering

PUT https://s3.us-east-1.amazonaws.com/{bucket}?intelligent-tiering{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putIntelligentTiering({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putInventory

PUT https://s3.us-east-1.amazonaws.com/{bucket}?inventory{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putInventory({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putLifecycle

PUT https://s3.us-east-1.amazonaws.com/{bucket}?lifecycle

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putLifecycle({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putLifecycleLegacy

PUT https://s3.us-east-1.amazonaws.com/{bucket}?lifecycle

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putLifecycleLegacy({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putLogging

PUT https://s3.us-east-1.amazonaws.com/{bucket}?logging

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putLogging({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putMetrics

PUT https://s3.us-east-1.amazonaws.com/{bucket}?metrics{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putMetrics({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putNotification

PUT https://s3.us-east-1.amazonaws.com/{bucket}?notification

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putNotification({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putNotificationLegacy

PUT https://s3.us-east-1.amazonaws.com/{bucket}?notification

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putNotificationLegacy({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putObjectLockConfiguration

PUT https://s3.us-east-1.amazonaws.com/{bucket}?object-lock

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putObjectLockConfiguration({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putOwnershipControls

PUT https://s3.us-east-1.amazonaws.com/{bucket}?ownershipControls

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putOwnershipControls({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putPolicy

PUT https://s3.us-east-1.amazonaws.com/{bucket}?policy

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putPolicy({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putPublicAccessBlock

PUT https://s3.us-east-1.amazonaws.com/{bucket}?publicAccessBlock

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putPublicAccessBlock({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putReplication

PUT https://s3.us-east-1.amazonaws.com/{bucket}?replication

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putReplication({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putRequestPayment

PUT https://s3.us-east-1.amazonaws.com/{bucket}?requestPayment

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putRequestPayment({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putTagging

PUT https://s3.us-east-1.amazonaws.com/{bucket}?tagging

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putTagging({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putVersioning

PUT https://s3.us-east-1.amazonaws.com/{bucket}?versioning

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putVersioning({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.putWebsite

PUT https://s3.us-east-1.amazonaws.com/{bucket}?website

Cost tier: cheap

Upstream docs ↗

const res = await s3.buckets.putWebsite({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.updateMetadataInventoryTable

PUT https://s3.us-east-1.amazonaws.com/{bucket}?metadataInventoryTable

Cost tier: prohibitive

Upstream docs ↗

const res = await s3.buckets.updateMetadataInventoryTable({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.buckets.updateMetadataJournalTable

PUT https://s3.us-east-1.amazonaws.com/{bucket}?metadataJournalTable

Cost tier: prohibitive

Upstream docs ↗

const res = await s3.buckets.updateMetadataJournalTable({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

objectLambda

POST s3.objectLambda.writeGetObjectResponse

POST https://{param}.s3-object-lambda.{param}.amazonaws.com/WriteGetObjectResponse

Cost tier: prohibitive

Upstream docs ↗

const res = await s3.objectLambda.writeGetObjectResponse({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

objects

DELETE s3.objects.abortMultipartUpload

DELETE https://s3.us-east-1.amazonaws.com/{bucket}/{key}{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.abortMultipartUpload({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

POST s3.objects.completeMultipartUpload

POST https://s3.us-east-1.amazonaws.com/{bucket}/{key}{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.completeMultipartUpload({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.objects.copy

PUT https://s3.us-east-1.amazonaws.com/{bucket}/{key}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.copy({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

POST s3.objects.createMultipartUpload

POST https://s3.us-east-1.amazonaws.com/{bucket}/{key}?uploads

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.createMultipartUpload({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.objects.del

DELETE https://s3.us-east-1.amazonaws.com/{bucket}/{key}{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.del({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

POST s3.objects.delMany

POST https://s3.us-east-1.amazonaws.com/{bucket}?delete

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.delMany({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

DELETE s3.objects.delTagging

DELETE https://s3.us-east-1.amazonaws.com/{bucket}/{key}?tagging{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.delTagging({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.get

GET https://s3.us-east-1.amazonaws.com/{bucket}/{key}{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.get({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.getAcl

GET https://s3.us-east-1.amazonaws.com/{bucket}/{key}?acl{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.getAcl({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.getAttributes

GET https://s3.us-east-1.amazonaws.com/{bucket}/{key}?attributes{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.getAttributes({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.getLegalHold

GET https://s3.us-east-1.amazonaws.com/{bucket}/{key}?legal-hold{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.getLegalHold({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.getRetention

GET https://s3.us-east-1.amazonaws.com/{bucket}/{key}?retention{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.getRetention({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.getStream

GET https://s3.us-east-1.amazonaws.com/{bucket}/{key}{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.getStream({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.getTagging

GET https://s3.us-east-1.amazonaws.com/{bucket}/{key}?tagging{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.getTagging({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.getTorrent

GET https://s3.us-east-1.amazonaws.com/{bucket}/{key}?torrent{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.getTorrent({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

HEAD s3.objects.head

HEAD https://s3.us-east-1.amazonaws.com/{bucket}/{key}{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.head({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.list

GET https://s3.us-east-1.amazonaws.com/{bucket}?list-type=2{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.list({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.listLegacy

GET https://s3.us-east-1.amazonaws.com/{bucket}{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.listLegacy({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.listMultipartUploads

GET https://s3.us-east-1.amazonaws.com/{bucket}?uploads{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.listMultipartUploads({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.listParts

GET https://s3.us-east-1.amazonaws.com/{bucket}/{key}{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.listParts({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

GET s3.objects.listVersions

GET https://s3.us-east-1.amazonaws.com/{bucket}?versions{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.listVersions({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.objects.put

PUT https://s3.us-east-1.amazonaws.com/{bucket}/{key}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.put({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.objects.putAcl

PUT https://s3.us-east-1.amazonaws.com/{bucket}/{key}?acl{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.putAcl({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.objects.putLegalHold

PUT https://s3.us-east-1.amazonaws.com/{bucket}/{key}?legal-hold{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.putLegalHold({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.objects.putRetention

PUT https://s3.us-east-1.amazonaws.com/{bucket}/{key}?retention{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.putRetention({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.objects.putTagging

PUT https://s3.us-east-1.amazonaws.com/{bucket}/{key}?tagging{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.putTagging({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.objects.rename

PUT https://s3express-{param}.{param}.amazonaws.com/{bucket}/{key}?renameObject

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.rename({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

POST s3.objects.restore

POST https://s3.us-east-1.amazonaws.com/{bucket}/{key}?restore{query}

Cost tier: prohibitive

Upstream docs ↗

const res = await s3.objects.restore({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

POST s3.objects.selectContent

POST https://s3.us-east-1.amazonaws.com/{bucket}/{key}?select&select-type=2

Cost tier: prohibitive

Upstream docs ↗

const res = await s3.objects.selectContent({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.objects.updateEncryption

PUT https://s3.us-east-1.amazonaws.com/{bucket}/{key}?encryption{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.updateEncryption({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.objects.uploadPart

PUT https://s3.us-east-1.amazonaws.com/{bucket}/{key}{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.uploadPart({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

PUT s3.objects.uploadPartCopy

PUT https://s3.us-east-1.amazonaws.com/{bucket}/{key}{query}

Cost tier: cheap

Upstream docs ↗

const res = await s3.objects.uploadPartCopy({ /* ... */ });

Source: packages/provider/s3/src/s3.ts

Part of the apicity monorepo.

License

MIT — see LICENSE.

版本与发布记录

@apicity/s3 共发布 70 个版本,首次发布于 2026/06/09;过去 12 个月发布了 70 个版本。

版本发布日期距今
0.26.0latest2026/11/051 天前
0.25.02026/11/033 天前
0.24.12026/11/024 天前
0.24.02026/11/014 天前
0.23.12026/11/015 天前
0.23.02026/11/015 天前

关于 @apicity/s3 的常见问题

@apicity/s3 是什么?

S3-compatible object storage provider.

如何安装 @apicity/s3?

在项目目录运行 npm install @apicity/s3,或使用 pnpm add / yarn add / bun add。

@apicity/s3 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@apicity/s3 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@apicity/s3 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@apicity/s3 可以商用吗?

@apicity/s3 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@apicity/s3 的下载量有多少?

根据 npm 官方下载统计,@apicity/s3 在 2026/10/06 – 2026/11/04 这 30 天内被下载 3,573 次,日均约 119 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@apicity/s3 还在维护吗?

最新版本 0.26.0 发布于 2026/11/05(1 天前);至今共发布 70 个版本,其中过去 12 个月发布了 70 个;首次发布于 2026/06/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。