s3client4cj 技术文档

s3client4cj 技术文档

【免费下载链接】s3-sdk AWS S3 的仓颉版客户端sdk实现 【免费下载链接】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 依赖配置

项目需要以下配置才能正常运行:

  1. test/LLT 目录下创建 _config.properties 文件,内容格式如下:
accountId = xxx
ownerId = xxx
role_arn = xxx
authKey = xxx
securityKey = xxx
  1. 需要预先创建以下测试用Bucket:
  • cj-test10 (需启用版本控制)
  • cj-test11 (需启用ACL和版本控制)
  • cj-async-test1
  • cj-test3 (需启用ACL、版本控制和对象锁定)

2. 项目使用说明

2.1 基本使用流程

  1. 创建S3Client实例
  2. 构建请求对象
  3. 执行操作(同步/异步)
  4. 处理响应结果
  5. 关闭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()S3RegionCN_NORTH_1服务区域
端点endpoint()String自定义服务端点
HTTP客户端httpClient()S3HttpClientDefaultS3HttpClientHTTP客户端实现
签名方式signer()S3SignerS3Signer.v4()签名算法
路径样式forcePathStyle()Boolfalse强制使用路径样式
重试策略retryer()S3RetryerS3Retryer.zero()请求重试策略
错误日志loggingErrorResponse()Booltrue记录错误响应
尾校验和trailingChecksum()Boolfalse使用尾校验和

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 直接使用

  1. 下载项目源码
  2. 配置仓颉环境
  3. 执行编译命令
  4. 将生成的库文件引入您的项目

4.2 集成到现有项目

  1. 将s3client4cj作为子模块添加到您的项目中
  2. 在项目配置文件中添加依赖
  3. 按照上述使用说明调用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实现 【免费下载链接】s3-sdk 项目地址: https://gitcode.com/Cangjie-TPC/s3-sdk

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值