Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan CopyObject
dengan AWS SDK
Contoh kode berikut menunjukkan cara menggunakanCopyObject
.
Contoh tindakan adalah kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Anda dapat melihat tindakan ini dalam konteks dalam contoh kode berikut:
- Java
-
- SDKuntuk Java 2.x
-
Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara pengaturan dan menjalankannya di Repositori Contoh Kode AWS.
Salin objek dari bucket direktori ke bucket direktori.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.CopyObjectRequest;
import software.amazon.awssdk.services.s3.model.CopyObjectResponse;
import software.amazon.awssdk.services.s3.model.S3Exception;
import java.nio.file.Path;
import static com.example.s3.util.S3DirectoryBucketUtils.createDirectoryBucket;
import static com.example.s3.util.S3DirectoryBucketUtils.createS3Client;
import static com.example.s3.util.S3DirectoryBucketUtils.deleteAllObjectsInDirectoryBucket;
import static com.example.s3.util.S3DirectoryBucketUtils.deleteDirectoryBucket;
import static com.example.s3.util.S3DirectoryBucketUtils.getFilePath;
import static com.example.s3.util.S3DirectoryBucketUtils.putDirectoryBucketObject;
/**
* Copies an object from one S3 general purpose bucket to one S3 directory
* bucket.
*
* @param s3Client The S3 client used to interact with S3
* @param sourceBucket The name of the source bucket
* @param objectKey The key (name) of the object to be copied
* @param targetBucket The name of the target bucket
*/
public static void copyDirectoryBucketObject(S3Client s3Client, String sourceBucket, String objectKey,
String targetBucket) {
logger.info("Copying object: {} from bucket: {} to bucket: {}", objectKey, sourceBucket, targetBucket);
try {
// Create a CopyObjectRequest
CopyObjectRequest copyReq = CopyObjectRequest.builder()
.sourceBucket(sourceBucket)
.sourceKey(objectKey)
.destinationBucket(targetBucket)
.destinationKey(objectKey)
.build();
// Copy the object
CopyObjectResponse copyRes = s3Client.copyObject(copyReq);
logger.info("Successfully copied {} from bucket {} into bucket {}. CopyObjectResponse: {}",
objectKey, sourceBucket, targetBucket, copyRes.copyObjectResult().toString());
} catch (S3Exception e) {
logger.error("Failed to copy object: {} - Error code: {}", e.awsErrorDetails().errorMessage(),
e.awsErrorDetails().errorCode(), e);
throw e;
}
}