Для репликации объектов S3 вы можете использовать различные методы в зависимости от ваших конкретных требований и используемого языка программирования. Вот несколько примеров использования разных языков:
-
Python с Boto3:
import boto3 def replicate_s3_object(source_bucket, source_key, destination_bucket, destination_key): s3_client = boto3.client('s3') copy_source = {'Bucket': source_bucket, 'Key': source_key} s3_client.copy_object(CopySource=copy_source, Bucket=destination_bucket, Key=destination_key) # Usage replicate_s3_object('source-bucket', 'source-object-key', 'destination-bucket', 'destination-object-key') -
Node.js с AWS SDK:
const AWS = require('aws-sdk'); const replicateS3Object = async (sourceBucket, sourceKey, destinationBucket, destinationKey) => { const s3 = new AWS.S3(); const copyParams = { CopySource: `/${sourceBucket}/${sourceKey}`, Bucket: destinationBucket, Key: destinationKey }; await s3.copyObject(copyParams).promise(); }; // Usage replicateS3Object('source-bucket', 'source-object-key', 'destination-bucket', 'destination-object-key'); -
Java с AWS SDK:
import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.CopyObjectRequest; public class S3Replication { public static void replicateS3Object( String sourceBucket, String sourceKey, String destinationBucket, String destinationKey) { S3Client s3Client = S3Client.create(); CopyObjectRequest copyRequest = CopyObjectRequest.builder() .copySource(sourceBucket + "/" + sourceKey) .destinationBucket(destinationBucket) .destinationKey(destinationKey) .build(); s3Client.copyObject(copyRequest); } public static void main(String[] args) { replicateS3Object("source-bucket", "source-object-key", "destination-bucket", "destination-object-key"); } }
Эти примеры демонстрируют, как реплицировать объекты S3 с помощью AWS SDK на Python, Node.js и Java. Не забудьте заменить source-bucket, source-object-key, destination-bucketи destination-object-keyс соответствующими значениями для вашего сценария.