s3client4cj 技术文档
【免费下载链接】s3-sdk AWS S3 的仓颉版客户端sdk实现 项目地址: https://gitcode.com/Cangjie-TPC/s3-sdk
1. 安装指南
1.1 系统要求
- 支持 Windows/Linux 操作系统
- 需要安装仓颉语言运行环境 (Cangjie v1.0.0 或更高版本)
1.2 编译安装
# 清理项目
cjpm clean
# 构建项目
cjpm build
1.3 依赖配置
项目需要以下配置才能正常运行:
- 在
test/LLT目录下创建_config.properties文件,内容格式如下:
accountId = xxx
ownerId = xxx
role_arn = xxx
authKey = xxx
securityKey = xxx
- 需要预先创建以下测试用Bucket:
- cj-test10 (需启用版本控制)
- cj-test11 (需启用ACL和版本控制)
- cj-async-test1
- cj-test3 (需启用ACL、版本控制和对象锁定)
2. 项目使用说明
2.1 基本使用流程
- 创建S3Client实例
- 构建请求对象
- 执行操作(同步/异步)
- 处理响应结果
- 关闭S3Client
2.2 核心功能示例
2.2.1 创建S3Client
import s3client.*
main() {
let s3 = S3Client.builder()
.credentials("your_auth_key", "your_security_key")
.region(S3Region.CN_NORTH_1)
.build()
// 执行操作...
s3.close() // 必须关闭连接
}
2.2.2 创建Bucket(同步)
let createReq = CreateBucketRequest(bucket: "my-bucket")
let createRsp = s3.createBucket(createReq)
println(createRsp)
2.2.3 创建Bucket(异步)
let createReq = CreateBucketRequest(bucket: "my-async-bucket")
let future = s3.createBucketAsync(createReq)
future.thenAsync({rsp, ex =>
if ex.isSome() {
println("Error: ${ex.get()}")
} else {
println("Success: ${rsp}")
}
})
3. 项目API使用文档
3.1 S3Client配置选项
| 配置项 | 方法 | 参数类型 | 默认值 | 说明 |
|---|---|---|---|---|
| 凭证 | credentials() | String, String | 无 | 访问密钥和秘密密钥 |
| 区域 | region() | S3Region | CN_NORTH_1 | 服务区域 |
| 端点 | endpoint() | String | 无 | 自定义服务端点 |
| HTTP客户端 | httpClient() | S3HttpClient | DefaultS3HttpClient | HTTP客户端实现 |
| 签名方式 | signer() | S3Signer | S3Signer.v4() | 签名算法 |
| 路径样式 | forcePathStyle() | Bool | false | 强制使用路径样式 |
| 重试策略 | retryer() | S3Retryer | S3Retryer.zero() | 请求重试策略 |
| 错误日志 | loggingErrorResponse() | Bool | true | 记录错误响应 |
| 尾校验和 | trailingChecksum() | Bool | false | 使用尾校验和 |
3.2 主要API接口
3.2.1 Bucket操作
- 创建Bucket:
createBucket(CreateBucketRequest): CreateBucketResponse - 列出Bucket:
listBuckets(ListBucketsRequest): ListBucketsResponse - 删除Bucket:
deleteBucket(DeleteBucketRequest): DeleteBucketResponse - 获取Bucket信息:
headBucket(HeadBucketRequest): HeadBucketResponse
3.2.2 Object操作
- 上传对象:
putObject(PutObjectRequest): PutObjectResponse - 获取对象:
getObject(GetObjectRequest): GetObjectResponse - 删除对象:
deleteObject(DeleteObjectRequest): DeleteObjectResponse - 列出对象:
listObjects(ListObjectsRequest): ListObjectsResponse
3.2.3 分段上传
- 初始化分段上传:
createMultipartUpload(CreateMultipartUploadRequest): CreateMultipartUploadResponse - 上传分段:
uploadPart(UploadPartRequest): UploadPartResponse - 完成分段上传:
completeMultipartUpload(CompleteMultipartUploadRequest): CompleteMultipartUploadResponse - 终止分段上传:
abortMultipartUpload(AbortMultipartUploadRequest): AbortMultipartUploadResponse
4. 项目安装方式
4.1 直接使用
- 下载项目源码
- 配置仓颉环境
- 执行编译命令
- 将生成的库文件引入您的项目
4.2 集成到现有项目
- 将s3client4cj作为子模块添加到您的项目中
- 在项目配置文件中添加依赖
- 按照上述使用说明调用API
4.3 测试覆盖率检查
# 清理环境
rm -fr build .cache module-lock.json html_output tmp anyxml_log ci_test test_temp output
cjpm clean
# 执行测试
python ../testJekins/src/ci_test/ciTest build --coverage
python ../testJekins/src/ci_test/ciTest test
# 生成覆盖率报告
cjcov --root=./ -e "" --html-details -o output
注意:使用前请确保已正确配置AWS S3访问凭证和必要的测试环境。
【免费下载链接】s3-sdk AWS S3 的仓颉版客户端sdk实现 项目地址: https://gitcode.com/Cangjie-TPC/s3-sdk
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



