Package org.apache.iceberg.aws
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
ConstructorsConstructorDescriptionRESTSigV4AuthSession(software.amazon.awssdk.auth.signer.Aws4Signer aws4Signer, org.apache.iceberg.rest.auth.AuthSession delegateAuthSession, AwsProperties awsProperties) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.iceberg.rest.HTTPRequestauthenticate(org.apache.iceberg.rest.HTTPRequest request) voidclose()org.apache.iceberg.rest.auth.AuthSessiondelegate()
-
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:
authenticatein interfaceorg.apache.iceberg.rest.auth.AuthSession
-
close
public void close()- Specified by:
closein interfaceorg.apache.iceberg.rest.auth.AuthSession- Specified by:
closein interfaceAutoCloseable
-