Репликация объектов S3: примеры кода на Python, Node.js и Java

Для репликации объектов S3 вы можете использовать различные методы в зависимости от ваших конкретных требований и используемого языка программирования. Вот несколько примеров использования разных языков:

  1. 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')
  2. 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');
  3. 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с соответствующими значениями для вашего сценария.