Class RESTSigV4AuthSession

java.lang.Object
org.apache.iceberg.aws.RESTSigV4AuthSession
All Implemented Interfaces:
AutoCloseable, org.apache.iceberg.rest.auth.AuthSession

public class RESTSigV4AuthSession extends Object implements org.apache.iceberg.rest.auth.AuthSession
An AuthSession that signs requests with SigV4.

The request is first authenticated by the delegate AuthSession, then signed with SigV4. In case of conflicting headers, the Authorization header set by delegate AuthSession will be relocated, then included in the canonical headers to sign.

See Signing AWS API requests for details about the SigV4 protocol.

  • Field Summary

    Fields inherited from interface org.apache.iceberg.rest.auth.AuthSession

    EMPTY
  • Constructor Summary

    Constructors
    Constructor
    Description
    RESTSigV4AuthSession(software.amazon.awssdk.auth.signer.Aws4Signer aws4Signer, org.apache.iceberg.rest.auth.AuthSession delegateAuthSession, AwsProperties awsProperties)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.iceberg.rest.HTTPRequest
    authenticate(org.apache.iceberg.rest.HTTPRequest request)
     
    void
     
    org.apache.iceberg.rest.auth.AuthSession
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RESTSigV4AuthSession

      public RESTSigV4AuthSession(software.amazon.awssdk.auth.signer.Aws4Signer aws4Signer, org.apache.iceberg.rest.auth.AuthSession delegateAuthSession, AwsProperties awsProperties)
  • Method Details

    • delegate

      public org.apache.iceberg.rest.auth.AuthSession delegate()
    • authenticate

      public org.apache.iceberg.rest.HTTPRequest authenticate(org.apache.iceberg.rest.HTTPRequest request)
      Specified by:
      authenticate in interface org.apache.iceberg.rest.auth.AuthSession
    • close

      public void close()
      Specified by:
      close in interface org.apache.iceberg.rest.auth.AuthSession
      Specified by:
      close in interface AutoCloseable