Package io.deephaven.extensions.s3
Class DeephavenAwsClientFactory
java.lang.Object
io.deephaven.extensions.s3.DeephavenAwsClientFactory
- All Implemented Interfaces:
Serializable
,org.apache.iceberg.aws.AwsClientFactory
,org.apache.iceberg.aws.s3.S3FileIOAwsClientFactory
public final class DeephavenAwsClientFactory
extends Object
implements org.apache.iceberg.aws.AwsClientFactory, org.apache.iceberg.aws.s3.S3FileIOAwsClientFactory
An
AwsClientFactory
and S3FileIOAwsClientFactory
implementation that assumes ownership of AWS client
creation as configured via S3Instructions
.- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Runnable
addToProperties
(S3Instructions instructions, Map<String, String> propertiesOut) AddsDeephavenAwsClientFactory
topropertiesOut
with the keys "client.factory" and "s3.client-factory-impl"; it is an error if either of these properties is already set.software.amazon.awssdk.services.dynamodb.DynamoDbClient
dynamo()
static Optional<S3Instructions>
getInstructions
(Map<String, String> properties) Get theS3Instructions
as set in the correspondingaddToProperties(S3Instructions, Map)
if the properties were built with that.software.amazon.awssdk.services.glue.GlueClient
glue()
void
initialize
(Map<String, String> properties) software.amazon.awssdk.services.kms.KmsClient
kms()
software.amazon.awssdk.services.s3.S3Client
s3()
-
Constructor Details
-
DeephavenAwsClientFactory
public DeephavenAwsClientFactory()
-
-
Method Details
-
addToProperties
public static Runnable addToProperties(S3Instructions instructions, Map<String, String> propertiesOut) AddsDeephavenAwsClientFactory
topropertiesOut
with the keys "client.factory" and "s3.client-factory-impl"; it is an error if either of these properties is already set. After the correspondingCatalog
is no longer in use, the caller should invoke the returnedRunnable
to clean up.- Parameters:
instructions
- the instructionspropertiesOut
- the properties- Returns:
- the runnable to be invoked after initialization
-
getInstructions
Get theS3Instructions
as set in the correspondingaddToProperties(S3Instructions, Map)
if the properties were built with that. If the properties were built withaddToProperties(S3Instructions, Map)
, but theRunnable
was already invoked for cleanup, anIllegalStateException
will be thrown.- Parameters:
properties
- the properties- Returns:
- the instructions
-
initialize
- Specified by:
initialize
in interfaceorg.apache.iceberg.aws.AwsClientFactory
- Specified by:
initialize
in interfaceorg.apache.iceberg.aws.s3.S3FileIOAwsClientFactory
-
s3
public software.amazon.awssdk.services.s3.S3Client s3()- Specified by:
s3
in interfaceorg.apache.iceberg.aws.AwsClientFactory
- Specified by:
s3
in interfaceorg.apache.iceberg.aws.s3.S3FileIOAwsClientFactory
-
glue
public software.amazon.awssdk.services.glue.GlueClient glue()- Specified by:
glue
in interfaceorg.apache.iceberg.aws.AwsClientFactory
-
kms
public software.amazon.awssdk.services.kms.KmsClient kms()- Specified by:
kms
in interfaceorg.apache.iceberg.aws.AwsClientFactory
-
dynamo
public software.amazon.awssdk.services.dynamodb.DynamoDbClient dynamo()- Specified by:
dynamo
in interfaceorg.apache.iceberg.aws.AwsClientFactory
-