Package org.apache.iceberg.aws.s3
Class S3OutputFile
- java.lang.Object
-
- org.apache.iceberg.aws.s3.S3OutputFile
-
- All Implemented Interfaces:
org.apache.iceberg.encryption.NativelyEncryptedFile,org.apache.iceberg.io.OutputFile
public class S3OutputFile extends java.lang.Object implements org.apache.iceberg.io.OutputFile, org.apache.iceberg.encryption.NativelyEncryptedFile
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.iceberg.io.PositionOutputStreamcreate()Create an output stream for the specified location if the target object does not exist in S3 at the time of invocation.org.apache.iceberg.io.PositionOutputStreamcreateOrOverwrite()booleanexists()Note: this may be stale if file was deleted since metadata is cached for size/existence checks.static S3OutputFilefromLocation(java.lang.String location, software.amazon.awssdk.services.s3.S3Client client, S3FileIOProperties s3FileIOProperties, org.apache.iceberg.metrics.MetricsContext metrics)protected software.amazon.awssdk.services.s3.model.HeadObjectResponsegetObjectMetadata()java.lang.Stringlocation()protected org.apache.iceberg.metrics.MetricsContextmetrics()org.apache.iceberg.encryption.NativeFileCryptoParametersnativeCryptoParameters()S3FileIOPropertiess3FileIOProperties()voidsetNativeCryptoParameters(org.apache.iceberg.encryption.NativeFileCryptoParameters nativeCryptoParameters)org.apache.iceberg.io.InputFiletoInputFile()java.lang.StringtoString()
-
-
-
Method Detail
-
fromLocation
public static S3OutputFile fromLocation(java.lang.String location, software.amazon.awssdk.services.s3.S3Client client, S3FileIOProperties s3FileIOProperties, org.apache.iceberg.metrics.MetricsContext metrics)
-
create
public org.apache.iceberg.io.PositionOutputStream create()
Create an output stream for the specified location if the target object does not exist in S3 at the time of invocation.- Specified by:
createin interfaceorg.apache.iceberg.io.OutputFile- Returns:
- output stream
-
createOrOverwrite
public org.apache.iceberg.io.PositionOutputStream createOrOverwrite()
- Specified by:
createOrOverwritein interfaceorg.apache.iceberg.io.OutputFile
-
toInputFile
public org.apache.iceberg.io.InputFile toInputFile()
- Specified by:
toInputFilein interfaceorg.apache.iceberg.io.OutputFile
-
nativeCryptoParameters
public org.apache.iceberg.encryption.NativeFileCryptoParameters nativeCryptoParameters()
- Specified by:
nativeCryptoParametersin interfaceorg.apache.iceberg.encryption.NativelyEncryptedFile
-
setNativeCryptoParameters
public void setNativeCryptoParameters(org.apache.iceberg.encryption.NativeFileCryptoParameters nativeCryptoParameters)
- Specified by:
setNativeCryptoParametersin interfaceorg.apache.iceberg.encryption.NativelyEncryptedFile
-
location
public java.lang.String location()
-
s3FileIOProperties
public S3FileIOProperties s3FileIOProperties()
-
metrics
protected org.apache.iceberg.metrics.MetricsContext metrics()
-
exists
public boolean exists()
Note: this may be stale if file was deleted since metadata is cached for size/existence checks.- Returns:
- flag
-
getObjectMetadata
protected software.amazon.awssdk.services.s3.model.HeadObjectResponse getObjectMetadata() throws software.amazon.awssdk.services.s3.model.S3Exception- Throws:
software.amazon.awssdk.services.s3.model.S3Exception
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-