Class AwsProperties
- java.lang.Object
- 
- org.apache.iceberg.aws.AwsProperties
 
- 
- All Implemented Interfaces:
- java.io.Serializable
 
 public class AwsProperties extends java.lang.Object implements java.io.Serializable- See Also:
- Serialized Form
 
- 
- 
Field SummaryFields Modifier and Type Field Description static java.lang.StringCLIENT_ASSUME_ROLE_ARNUsed byAssumeRoleAwsClientFactory.static java.lang.StringCLIENT_ASSUME_ROLE_EXTERNAL_IDUsed byAssumeRoleAwsClientFactory.static java.lang.StringCLIENT_ASSUME_ROLE_REGIONUsed byAssumeRoleAwsClientFactory.static java.lang.StringCLIENT_ASSUME_ROLE_TIMEOUT_SECUsed byAssumeRoleAwsClientFactory.static intCLIENT_ASSUME_ROLE_TIMEOUT_SEC_DEFAULTstatic booleanCLIENT_ENABLE_ETAG_CHECK_DEFAULTstatic java.lang.StringCLIENT_FACTORYThe implementation class ofAwsClientFactoryto customize AWS client configurations.static java.lang.StringDYNAMODB_TABLE_NAMEDynamoDB table name forDynamoDbCatalogstatic java.lang.StringDYNAMODB_TABLE_NAME_DEFAULTstatic java.lang.StringGLUE_CATALOG_IDThe ID of the Glue Data Catalog where the tables reside.static java.lang.StringGLUE_CATALOG_SKIP_ARCHIVEIf Glue should skip archiving an old table version when creating a new version in a commit.static booleanGLUE_CATALOG_SKIP_ARCHIVE_DEFAULTstatic java.lang.StringS3_CHECKSUM_ENABLEDEnables eTag checks for S3 PUT and MULTIPART upload requests.static java.lang.StringS3FILEIO_ACCESS_KEY_IDConfigure the static access key ID used to access S3FileIO.static java.lang.StringS3FILEIO_ACLUsed to configure canned access control list (ACL) for S3 client to use during write.static java.lang.StringS3FILEIO_ENDPOINTConfigure an alternative endpoint of the S3 service for S3FileIO to access.static java.lang.StringS3FILEIO_MULTIPART_SIZEThe size of a single part for multipart upload requests in bytes (default: 32MB).static intS3FILEIO_MULTIPART_SIZE_DEFAULTstatic intS3FILEIO_MULTIPART_SIZE_MINstatic java.lang.StringS3FILEIO_MULTIPART_THRESHOLD_FACTORThe threshold expressed as a factor times the multipart size at which to switch from uploading using a single put object request to uploading using multipart upload (default: 1.5).static doubleS3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULTstatic java.lang.StringS3FILEIO_MULTIPART_UPLOAD_THREADSNumber of threads to use for uploading parts to S3 (shared pool across all output streams), default toRuntime.availableProcessors()static java.lang.StringS3FILEIO_SECRET_ACCESS_KEYConfigure the static secret access key used to access S3FileIO.static java.lang.StringS3FILEIO_SESSION_TOKENConfigure the static session token used to access S3FileIO.static java.lang.StringS3FILEIO_SSE_KEYIf S3 encryption type is SSE-KMS, input is a KMS Key ID or ARN.static java.lang.StringS3FILEIO_SSE_MD5If S3 encryption type is SSE-C, input is the base-64 MD5 digest of the secret key.static java.lang.StringS3FILEIO_SSE_TYPEType of S3 Server side encryption used, default toS3FILEIO_SSE_TYPE_NONE.static java.lang.StringS3FILEIO_SSE_TYPE_CUSTOMS3 SSE-C encryption.static java.lang.StringS3FILEIO_SSE_TYPE_KMSS3 SSE-KMS encryption.static java.lang.StringS3FILEIO_SSE_TYPE_NONENo server side encryption.static java.lang.StringS3FILEIO_SSE_TYPE_S3S3 SSE-S3 encryption.static java.lang.StringS3FILEIO_STAGING_DIRECTORYLocation to put staging files for upload to S3, default to temp directory set in java.io.tmpdir.
 - 
Constructor SummaryConstructors Constructor Description AwsProperties()AwsProperties(java.util.Map<java.lang.String,java.lang.String> properties)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringdynamoDbTableName()java.lang.StringglueCatalogId()booleanglueCatalogSkipArchive()booleanisS3ChecksumEnabled()software.amazon.awssdk.services.s3.model.ObjectCannedACLs3FileIoAcl()ints3FileIoMultiPartSize()doubles3FileIOMultipartThresholdFactor()ints3FileIoMultipartUploadThreads()java.lang.Strings3FileIoSseKey()java.lang.Strings3FileIoSseMd5()java.lang.Strings3FileIoSseType()java.lang.Strings3fileIoStagingDirectory()voidsetDynamoDbTableName(java.lang.String name)voidsetGlueCatalogId(java.lang.String id)voidsetGlueCatalogSkipArchive(boolean skipArchive)voidsetS3ChecksumEnabled(boolean eTagCheckEnabled)voidsetS3FileIoAcl(software.amazon.awssdk.services.s3.model.ObjectCannedACL acl)voidsetS3FileIoMultiPartSize(int size)voidsetS3FileIoMultipartThresholdFactor(double factor)voidsetS3FileIoMultipartUploadThreads(int threads)voidsetS3FileIoSseKey(java.lang.String sseKey)voidsetS3FileIoSseMd5(java.lang.String sseMd5)voidsetS3FileIoSseType(java.lang.String sseType)voidsetS3fileIoStagingDirectory(java.lang.String directory)
 
- 
- 
- 
Field Detail- 
S3FILEIO_SSE_TYPEpublic static final java.lang.String S3FILEIO_SSE_TYPE Type of S3 Server side encryption used, default toS3FILEIO_SSE_TYPE_NONE.For more details: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html - See Also:
- Constant Field Values
 
 - 
S3FILEIO_SSE_TYPE_NONEpublic static final java.lang.String S3FILEIO_SSE_TYPE_NONE No server side encryption.- See Also:
- Constant Field Values
 
 - 
S3FILEIO_SSE_TYPE_KMSpublic static final java.lang.String S3FILEIO_SSE_TYPE_KMS S3 SSE-KMS encryption.For more details: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html - See Also:
- Constant Field Values
 
 - 
S3FILEIO_SSE_TYPE_S3public static final java.lang.String S3FILEIO_SSE_TYPE_S3 S3 SSE-S3 encryption.For more details: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html - See Also:
- Constant Field Values
 
 - 
S3FILEIO_SSE_TYPE_CUSTOMpublic static final java.lang.String S3FILEIO_SSE_TYPE_CUSTOM S3 SSE-C encryption.For more details: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html - See Also:
- Constant Field Values
 
 - 
S3FILEIO_SSE_KEYpublic static final java.lang.String S3FILEIO_SSE_KEY If S3 encryption type is SSE-KMS, input is a KMS Key ID or ARN. In case this property is not set, default key "aws/s3" is used. If encryption type is SSE-C, input is a custom base-64 AES256 symmetric key.- See Also:
- Constant Field Values
 
 - 
S3FILEIO_SSE_MD5public static final java.lang.String S3FILEIO_SSE_MD5 If S3 encryption type is SSE-C, input is the base-64 MD5 digest of the secret key. This MD5 must be explicitly passed in by the caller to ensure key integrity.- See Also:
- Constant Field Values
 
 - 
GLUE_CATALOG_IDpublic static final java.lang.String GLUE_CATALOG_ID The ID of the Glue Data Catalog where the tables reside. If none is provided, Glue automatically uses the caller's AWS account ID by default.For more details, see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-databases.html - See Also:
- Constant Field Values
 
 - 
GLUE_CATALOG_SKIP_ARCHIVEpublic static final java.lang.String GLUE_CATALOG_SKIP_ARCHIVE If Glue should skip archiving an old table version when creating a new version in a commit. By default Glue archives all old table versions after an UpdateTable call, but Glue has a default max number of archived table versions (can be increased). So for streaming use case with lots of commits, it is recommended to set this value to true.- See Also:
- Constant Field Values
 
 - 
GLUE_CATALOG_SKIP_ARCHIVE_DEFAULTpublic static final boolean GLUE_CATALOG_SKIP_ARCHIVE_DEFAULT - See Also:
- Constant Field Values
 
 - 
S3FILEIO_MULTIPART_UPLOAD_THREADSpublic static final java.lang.String S3FILEIO_MULTIPART_UPLOAD_THREADS Number of threads to use for uploading parts to S3 (shared pool across all output streams), default toRuntime.availableProcessors()- See Also:
- Constant Field Values
 
 - 
S3FILEIO_MULTIPART_SIZEpublic static final java.lang.String S3FILEIO_MULTIPART_SIZE The size of a single part for multipart upload requests in bytes (default: 32MB). based on S3 requirement, the part size must be at least 5MB. Too ensure performance of the reader and writer, the part size must be less than 2GB.For more details, see https://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html - See Also:
- Constant Field Values
 
 - 
S3FILEIO_MULTIPART_SIZE_DEFAULTpublic static final int S3FILEIO_MULTIPART_SIZE_DEFAULT - See Also:
- Constant Field Values
 
 - 
S3FILEIO_MULTIPART_SIZE_MINpublic static final int S3FILEIO_MULTIPART_SIZE_MIN - See Also:
- Constant Field Values
 
 - 
S3FILEIO_MULTIPART_THRESHOLD_FACTORpublic static final java.lang.String S3FILEIO_MULTIPART_THRESHOLD_FACTOR The threshold expressed as a factor times the multipart size at which to switch from uploading using a single put object request to uploading using multipart upload (default: 1.5).- See Also:
- Constant Field Values
 
 - 
S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULTpublic static final double S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT - See Also:
- Constant Field Values
 
 - 
S3FILEIO_STAGING_DIRECTORYpublic static final java.lang.String S3FILEIO_STAGING_DIRECTORY Location to put staging files for upload to S3, default to temp directory set in java.io.tmpdir.- See Also:
- Constant Field Values
 
 - 
S3FILEIO_ACLpublic static final java.lang.String S3FILEIO_ACL Used to configure canned access control list (ACL) for S3 client to use during write. If not set, ACL will not be set for requests.The input must be one of ObjectCannedACL, such as 'public-read-write' For more details: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html- See Also:
- Constant Field Values
 
 - 
S3FILEIO_ENDPOINTpublic static final java.lang.String S3FILEIO_ENDPOINT Configure an alternative endpoint of the S3 service for S3FileIO to access.This could be used to use S3FileIO with any s3-compatible object storage service that has a different endpoint, or access a private S3 endpoint in a virtual private cloud. - See Also:
- Constant Field Values
 
 - 
S3FILEIO_ACCESS_KEY_IDpublic static final java.lang.String S3FILEIO_ACCESS_KEY_ID Configure the static access key ID used to access S3FileIO.When set, the default client factory will use the basic or session credentials provided instead of reading the default credential chain to create S3 access credentials. If S3FILEIO_SESSION_TOKENis set, session credential is used, otherwise basic credential is used.- See Also:
- Constant Field Values
 
 - 
S3FILEIO_SECRET_ACCESS_KEYpublic static final java.lang.String S3FILEIO_SECRET_ACCESS_KEY Configure the static secret access key used to access S3FileIO.When set, the default client factory will use the basic or session credentials provided instead of reading the default credential chain to create S3 access credentials. If S3FILEIO_SESSION_TOKENis set, session credential is used, otherwise basic credential is used.- See Also:
- Constant Field Values
 
 - 
S3FILEIO_SESSION_TOKENpublic static final java.lang.String S3FILEIO_SESSION_TOKEN Configure the static session token used to access S3FileIO.When set, the default client factory will use the session credentials provided instead of reading the default credential chain to create S3 access credentials. - See Also:
- Constant Field Values
 
 - 
DYNAMODB_TABLE_NAMEpublic static final java.lang.String DYNAMODB_TABLE_NAME DynamoDB table name forDynamoDbCatalog- See Also:
- Constant Field Values
 
 - 
DYNAMODB_TABLE_NAME_DEFAULTpublic static final java.lang.String DYNAMODB_TABLE_NAME_DEFAULT - See Also:
- Constant Field Values
 
 - 
CLIENT_FACTORYpublic static final java.lang.String CLIENT_FACTORY The implementation class ofAwsClientFactoryto customize AWS client configurations. If set, all AWS clients will be initialized by the specified factory. If not set,AwsClientFactories.defaultFactory()is used as default factory.- See Also:
- Constant Field Values
 
 - 
CLIENT_ASSUME_ROLE_ARNpublic static final java.lang.String CLIENT_ASSUME_ROLE_ARN Used byAssumeRoleAwsClientFactory. If set, all AWS clients will assume a role of the given ARN, instead of using the default credential chain.- See Also:
- Constant Field Values
 
 - 
CLIENT_ASSUME_ROLE_TIMEOUT_SECpublic static final java.lang.String CLIENT_ASSUME_ROLE_TIMEOUT_SEC Used byAssumeRoleAwsClientFactory. The timeout of the assume role session in seconds, default to 1 hour. At the end of the timeout, a new set of role session credentials will be fetched through a STS client.- See Also:
- Constant Field Values
 
 - 
CLIENT_ASSUME_ROLE_TIMEOUT_SEC_DEFAULTpublic static final int CLIENT_ASSUME_ROLE_TIMEOUT_SEC_DEFAULT - See Also:
- Constant Field Values
 
 - 
CLIENT_ASSUME_ROLE_EXTERNAL_IDpublic static final java.lang.String CLIENT_ASSUME_ROLE_EXTERNAL_ID Used byAssumeRoleAwsClientFactory. Optional external ID used to assume an IAM role.For more details, see https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html - See Also:
- Constant Field Values
 
 - 
CLIENT_ASSUME_ROLE_REGIONpublic static final java.lang.String CLIENT_ASSUME_ROLE_REGION Used byAssumeRoleAwsClientFactory. If set, all AWS clients except STS client will use the given region instead of the default region chain.The value must be one of Region, such as 'us-east-1'. For more details, see https://docs.aws.amazon.com/general/latest/gr/rande.html- See Also:
- Constant Field Values
 
 - 
S3_CHECKSUM_ENABLEDpublic static final java.lang.String S3_CHECKSUM_ENABLED Enables eTag checks for S3 PUT and MULTIPART upload requests.- See Also:
- Constant Field Values
 
 - 
CLIENT_ENABLE_ETAG_CHECK_DEFAULTpublic static final boolean CLIENT_ENABLE_ETAG_CHECK_DEFAULT - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
s3FileIoSseTypepublic java.lang.String s3FileIoSseType() 
 - 
setS3FileIoSseTypepublic void setS3FileIoSseType(java.lang.String sseType) 
 - 
s3FileIoSseKeypublic java.lang.String s3FileIoSseKey() 
 - 
setS3FileIoSseKeypublic void setS3FileIoSseKey(java.lang.String sseKey) 
 - 
s3FileIoSseMd5public java.lang.String s3FileIoSseMd5() 
 - 
setS3FileIoSseMd5public void setS3FileIoSseMd5(java.lang.String sseMd5) 
 - 
glueCatalogIdpublic java.lang.String glueCatalogId() 
 - 
setGlueCatalogIdpublic void setGlueCatalogId(java.lang.String id) 
 - 
glueCatalogSkipArchivepublic boolean glueCatalogSkipArchive() 
 - 
setGlueCatalogSkipArchivepublic void setGlueCatalogSkipArchive(boolean skipArchive) 
 - 
s3FileIoMultipartUploadThreadspublic int s3FileIoMultipartUploadThreads() 
 - 
setS3FileIoMultipartUploadThreadspublic void setS3FileIoMultipartUploadThreads(int threads) 
 - 
s3FileIoMultiPartSizepublic int s3FileIoMultiPartSize() 
 - 
setS3FileIoMultiPartSizepublic void setS3FileIoMultiPartSize(int size) 
 - 
s3FileIOMultipartThresholdFactorpublic double s3FileIOMultipartThresholdFactor() 
 - 
setS3FileIoMultipartThresholdFactorpublic void setS3FileIoMultipartThresholdFactor(double factor) 
 - 
s3fileIoStagingDirectorypublic java.lang.String s3fileIoStagingDirectory() 
 - 
setS3fileIoStagingDirectorypublic void setS3fileIoStagingDirectory(java.lang.String directory) 
 - 
s3FileIoAclpublic software.amazon.awssdk.services.s3.model.ObjectCannedACL s3FileIoAcl() 
 - 
setS3FileIoAclpublic void setS3FileIoAcl(software.amazon.awssdk.services.s3.model.ObjectCannedACL acl) 
 - 
dynamoDbTableNamepublic java.lang.String dynamoDbTableName() 
 - 
setDynamoDbTableNamepublic void setDynamoDbTableName(java.lang.String name) 
 - 
isS3ChecksumEnabledpublic boolean isS3ChecksumEnabled() 
 - 
setS3ChecksumEnabledpublic void setS3ChecksumEnabled(boolean eTagCheckEnabled) 
 
- 
 
-