Class S3StorageObject
java.lang.Object
org.elasticsearch.xpack.esql.datasource.s3.S3StorageObject
- All Implemented Interfaces:
StorageObject
StorageObject implementation for S3 using AWS SDK v2.
Supports full and range reads, metadata retrieval, and optional native async via S3AsyncClient.
-
Field Summary
Fields inherited from interface org.elasticsearch.xpack.esql.datasources.spi.StorageObject
TRANSFER_BUFFER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionS3StorageObject(software.amazon.awssdk.services.s3.S3Client s3Client, String bucket, String key, StoragePath path) S3StorageObject(software.amazon.awssdk.services.s3.S3Client s3Client, String bucket, String key, StoragePath path, long length) S3StorageObject(software.amazon.awssdk.services.s3.S3Client s3Client, String bucket, String key, StoragePath path, long length, Instant lastModified) S3StorageObject(software.amazon.awssdk.services.s3.S3Client s3Client, software.amazon.awssdk.services.s3.S3AsyncClient s3AsyncClient, String bucket, String key, StoragePath path) S3StorageObject(software.amazon.awssdk.services.s3.S3Client s3Client, software.amazon.awssdk.services.s3.S3AsyncClient s3AsyncClient, String bucket, String key, StoragePath path, long length) S3StorageObject(software.amazon.awssdk.services.s3.S3Client s3Client, software.amazon.awssdk.services.s3.S3AsyncClient s3AsyncClient, String bucket, String key, StoragePath path, long length, Instant lastModified) -
Method Summary
Modifier and TypeMethodDescriptionbucket()booleanexists()key()longlength()newStream(long position, long length) path()voidreadBytesAsync(long position, long length, Executor executor, ActionListener<ByteBuffer> listener) booleantoString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.elasticsearch.xpack.esql.datasources.spi.StorageObject
readBytes, readBytesAsync
-
Constructor Details
-
S3StorageObject
public S3StorageObject(software.amazon.awssdk.services.s3.S3Client s3Client, String bucket, String key, StoragePath path) -
S3StorageObject
public S3StorageObject(software.amazon.awssdk.services.s3.S3Client s3Client, software.amazon.awssdk.services.s3.S3AsyncClient s3AsyncClient, String bucket, String key, StoragePath path) -
S3StorageObject
public S3StorageObject(software.amazon.awssdk.services.s3.S3Client s3Client, String bucket, String key, StoragePath path, long length) -
S3StorageObject
public S3StorageObject(software.amazon.awssdk.services.s3.S3Client s3Client, software.amazon.awssdk.services.s3.S3AsyncClient s3AsyncClient, String bucket, String key, StoragePath path, long length) -
S3StorageObject
public S3StorageObject(software.amazon.awssdk.services.s3.S3Client s3Client, String bucket, String key, StoragePath path, long length, Instant lastModified) -
S3StorageObject
public S3StorageObject(software.amazon.awssdk.services.s3.S3Client s3Client, software.amazon.awssdk.services.s3.S3AsyncClient s3AsyncClient, String bucket, String key, StoragePath path, long length, Instant lastModified)
-
-
Method Details
-
newStream
- Specified by:
newStreamin interfaceStorageObject- Throws:
IOException
-
newStream
- Specified by:
newStreamin interfaceStorageObject- Throws:
IOException
-
length
- Specified by:
lengthin interfaceStorageObject- Throws:
IOException
-
lastModified
- Specified by:
lastModifiedin interfaceStorageObject- Throws:
IOException
-
exists
- Specified by:
existsin interfaceStorageObject- Throws:
IOException
-
path
- Specified by:
pathin interfaceStorageObject
-
bucket
-
key
-
readBytesAsync
public void readBytesAsync(long position, long length, Executor executor, ActionListener<ByteBuffer> listener) - Specified by:
readBytesAsyncin interfaceStorageObject
-
supportsNativeAsync
public boolean supportsNativeAsync()- Specified by:
supportsNativeAsyncin interfaceStorageObject
-
toString
-