Documentation
¶
Overview ¶
* @Author: kamalyes 501893067@qq.com * @Date: 2026-04-23 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2026-04-23 00:00:00 * @FilePath: \go-toolbox\pkg\ossx\adapter\r2\r2.go * @Description: Cloudflare R2 Worker 对象存储适配器 * * 通过 Cloudflare Worker 代理访问 R2 存储 * 使用 AES-CBC-PKCS7 加密签名保证安全性 * 仅支持:预签名上传地址、上传对象(其他操作通过 Worker API 扩展) * * Copyright (c) 2026 by kamalyes, All Rights Reserved.
Index ¶
- type Adapter
- func (a *Adapter) BucketExists(ctx context.Context, bucketName string) (bool, error)
- func (a *Adapter) DeleteObject(ctx context.Context, bucketName, objectKey string) error
- func (a *Adapter) GetObject(ctx context.Context, bucketName, objectKey string) (*ossx.ObjectInfo, error)
- func (a *Adapter) GetObjectBlob(ctx context.Context, bucketName, objectKey string) ([]byte, error)
- func (a *Adapter) IsConnected() bool
- func (a *Adapter) ListObjects(ctx context.Context, bucketName, prefix string, limit int) ([]ossx.ObjectInfo, string, error)
- func (a *Adapter) PresignedDownloadURL(ctx context.Context, bucketName, objectKey string, expiry time.Duration) (*ossx.PresignedResult, error)
- func (a *Adapter) PresignedUploadURL(ctx context.Context, bucketName, objectKey string, expiry time.Duration) (*ossx.PresignedResult, error)
- func (a *Adapter) Provider() ossx.ProviderType
- func (a *Adapter) PutObject(ctx context.Context, bucketName, objectKey string, data io.Reader, size int64, ...) (*ossx.ObjectInfo, error)
- type Config
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter struct {
// contains filtered or unexported fields
}
Adapter R2 Worker 存储适配器
func (*Adapter) BucketExists ¶
BucketExists 判断存储桶是否存在(R2 Worker 不支持)
func (*Adapter) DeleteObject ¶
DeleteObject 删除对象(R2 Worker 不支持)
func (*Adapter) GetObject ¶
func (a *Adapter) GetObject(ctx context.Context, bucketName, objectKey string) (*ossx.ObjectInfo, error)
GetObject 获取对象元信息(R2 Worker 有限支持)
func (*Adapter) GetObjectBlob ¶
GetObjectBlob 获取对象二进制内容(R2 Worker 不支持)
func (*Adapter) ListObjects ¶
func (a *Adapter) ListObjects(ctx context.Context, bucketName, prefix string, limit int) ([]ossx.ObjectInfo, string, error)
ListObjects 列举对象(R2 Worker 不支持)
func (*Adapter) PresignedDownloadURL ¶
func (a *Adapter) PresignedDownloadURL(ctx context.Context, bucketName, objectKey string, expiry time.Duration) (*ossx.PresignedResult, error)
PresignedDownloadURL 生成预签名下载地址(R2 Worker 不支持)