Sha256: a6a60f00efbdc526370d447a447c07756674012d2b74911ce3f998ab7879f8d1

Contents?: true

Size: 1.19 KB

Versions: 2

Compression:

Stored size: 1.19 KB

Contents

package org.embulk.input.s3.explorer;

import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.model.GetObjectMetadataRequest;
import com.amazonaws.services.s3.model.ObjectMetadata;
import org.embulk.input.s3.DefaultRetryable;
import org.embulk.input.s3.FileList;
import org.embulk.spi.util.RetryExecutor;

public class S3SingleFileExplorer extends S3FileExplorer
{
    private final String path;

    public S3SingleFileExplorer(final String bucket, final AmazonS3 client, final RetryExecutor retryExecutor, final String path)
    {
        super(bucket, client, retryExecutor);
        this.path = path;
    }

    @Override
    public void addToBuilder(final FileList.Builder builder)
    {
        final GetObjectMetadataRequest objectMetadataRequest = new GetObjectMetadataRequest(bucketName, path);

        final ObjectMetadata objectMetadata = new DefaultRetryable<ObjectMetadata>("Looking up for a single object") {
            @Override
            public ObjectMetadata call()
            {
                return s3Client.getObjectMetadata(objectMetadataRequest);
            }
        }.executeWith(retryExecutor);

        builder.add(path, objectMetadata.getContentLength());
    }
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
embulk-input-s3-0.3.5 src/main/java/org/embulk/input/s3/explorer/S3SingleFileExplorer.java
embulk-input-s3-0.3.4 src/main/java/org/embulk/input/s3/explorer/S3SingleFileExplorer.java