Class 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.PositionOutputStream create()
      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.PositionOutputStream createOrOverwrite()  
      boolean exists()
      Note: this may be stale if file was deleted since metadata is cached for size/existence checks.
      static S3OutputFile fromLocation​(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.HeadObjectResponse getObjectMetadata()  
      java.lang.String location()  
      protected org.apache.iceberg.metrics.MetricsContext metrics()  
      org.apache.iceberg.encryption.NativeFileCryptoParameters nativeCryptoParameters()  
      S3FileIOProperties s3FileIOProperties()  
      void setNativeCryptoParameters​(org.apache.iceberg.encryption.NativeFileCryptoParameters nativeCryptoParameters)  
      org.apache.iceberg.io.InputFile toInputFile()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.apache.iceberg.io.OutputFile

        location
    • 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:
        create in interface org.apache.iceberg.io.OutputFile
        Returns:
        output stream
      • createOrOverwrite

        public org.apache.iceberg.io.PositionOutputStream createOrOverwrite()
        Specified by:
        createOrOverwrite in interface org.apache.iceberg.io.OutputFile
      • toInputFile

        public org.apache.iceberg.io.InputFile toInputFile()
        Specified by:
        toInputFile in interface org.apache.iceberg.io.OutputFile
      • nativeCryptoParameters

        public org.apache.iceberg.encryption.NativeFileCryptoParameters nativeCryptoParameters()
        Specified by:
        nativeCryptoParameters in interface org.apache.iceberg.encryption.NativelyEncryptedFile
      • setNativeCryptoParameters

        public void setNativeCryptoParameters​(org.apache.iceberg.encryption.NativeFileCryptoParameters nativeCryptoParameters)
        Specified by:
        setNativeCryptoParameters in interface org.apache.iceberg.encryption.NativelyEncryptedFile
      • location

        public java.lang.String location()
      • 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:
        toString in class java.lang.Object