功能名称 | 描述 | 示例代码 |
服务端加密 | 提供了上传对象时开启服务端加密的功能 |
// 初始化 TransferConfig,这里使用默认配置,如果需要定制,请参考 SDK 接口文档// 默认对大于或等于2M的文件自动进行分块上传,分块大小为1M,可以通过如下代码修改分块阈值TransferConfig transferConfig = new TransferConfig.Builder() // 设置启用分块上传的最小对象大小 默认为2M .setDivisionForUpload(2097152) // 设置分块上传时的分块大小 默认为1M .setSliceSizeForUpload(1048576) // 设置是否强制使用简单上传, 禁止分块上传 .setForceSimpleUpload(false) .build();// 初始化 TransferManagerTransferManager transferManager = new TransferManager(cosXmlService,transferConfig);
PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, cosPath, srcPath);// 设置使用 COS 托管加密密钥的服务端加密(SSE-COS)保护数据putObjectRequest.setCOSServerSideEncryption();// 上传文件COSXMLUploadTask cosxmlUploadTask = transferManager.upload(putObjectRequest, uploadId);
// 服务端加密密钥String customKey = "用户主密钥 CMK";String encryptContext = "加密上下文";PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, cosPath, srcPath);// 设置使用客户提供的用户主密钥的服务端加密 (SSE-KMS)保护数据try {putObjectRequest.setCOSServerSideEncryptionWithKMS(customKey, encryptContext);} catch (CosXmlClientException e) {e.printStackTrace();}// 上传文件COSXMLUploadTask cosxmlUploadTask = transferManager.upload(putObjectRequest, uploadId);
// 服务端加密密钥String customKey = "服务端加密密钥";PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, cosPath, srcPath);// 设置使用客户提供的加密密钥的服务端加密 (SSE-C)保护数据try {putObjectRequest.setCOSServerSideEncryptionWithCustomerKey(customKey);} catch (CosXmlClientException e) {e.printStackTrace();}// 上传文件COSXMLUploadTask cosxmlUploadTask = transferManager.upload(putObjectRequest, uploadId);
文档反馈