s3client4cj 技术文档
【免费下载链接】s3-sdk AWS S3 的仓颉版客户端sdk实现 项目地址: https://gitcode.com/Cangjie-TPC/s3-sdk
1. 安装指南
1.1 环境要求
- 需要安装仓颉语言环境(Cangjie v1.0.0或以上版本)
- 需要网络访问权限以连接AWS S3服务
1.2 获取项目
通过git克隆项目仓库:
git clone https://github.com/primeton/s3client4cj.git
1.3 编译项目
在项目根目录下执行以下命令:
cjpm clean
cjpm build
2. 项目使用说明
2.1 基本配置
使用前需要配置AWS S3的访问凭证:
let s3 = S3Client.builder()
.credentials("your_aws_key_id", "your_aws_secret_key")
.region(S3Region.CN_NORTH_1) // 设置区域
.build()
2.2 功能特性
- 支持同步/异步编程接口
- 支持分段上传
- 支持自动分页
- 支持预签名URL
- 支持多种校验和算法
- 支持重试机制
3. 项目API使用文档
3.1 同步接口示例
// 创建桶
let createReq = CreateBucketRequest(bucket: "my-bucket")
let createRsp = s3.createBucket(createReq)
// 上传对象
let putReq = PutObjectRequest(bucket: "my-bucket", key: "test.txt", body: "Hello World")
let putRsp = s3.putObject(putReq)
3.2 异步接口示例
// 异步创建桶
let future = s3.createBucketAsync(CreateBucketRequest(bucket: "async-bucket"))
future.thenAsync({rsp, ex ->
if ex.isSome() {
println("Error: ${ex.unwrap()}")
} else {
println("Bucket created: ${rsp.location}")
}
})
3.3 常用API列表
操作类型 | 同步方法 | 异步方法 |
---|---|---|
创建桶 | createBucket | createBucketAsync |
列出桶 | listBuckets | listBucketsAsync |
上传对象 | putObject | putObjectAsync |
下载对象 | getObject | getObjectAsync |
删除对象 | deleteObject | deleteObjectAsync |
4. 项目安装方式
4.1 依赖管理
在项目的module.json
中添加依赖:
{
"dependencies": {
"s3client4cj": "0.5.0"
}
}
4.2 测试环境配置
- 在
test/LLT
目录下创建_config.properties
文件 - 配置测试所需的凭证信息:
accountId = your_account_id
ownerId = your_owner_id
role_arn = your_role_arn
awsKeyId = your_aws_key
awsSecretKey = your_aws_secret
4.3 运行测试
python ../testJekins/src/ci_test/ciTest build --coverage
python ../testJekins/src/ci_test/ciTest test
cjcov --root=./ -e "" --html-details -o output
注意事项
- 使用完毕后务必调用
s3.close()
释放资源 - 建议复用S3Client实例,避免频繁创建和销毁
- 生产环境建议配置重试机制和适当的超时设置
- 敏感信息如AWS凭证应妥善保管,避免硬编码在代码中
【免费下载链接】s3-sdk AWS S3 的仓颉版客户端sdk实现 项目地址: https://gitcode.com/Cangjie-TPC/s3-sdk
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考