public class GeneratePresignedUrlRequest extends AmazonWebServiceRequest implements SSECustomerKeyProvider, Serializable
Contains options to generate a pre-signed URL for an Amazon S3 resource.
Pre-signed URLs allow clients to form a URL for an Amazon S3 resource and sign it with the current Amazon Web Services security credentials. A pre-signed URL may be passed around for other users to access the resource without providing them access to an account's Amazon Web Services security credentials.
NOOP
Constructor and Description |
---|
GeneratePresignedUrlRequest(String bucketName,
String key)
Creates a new request for generating a pre-signed URL that can be used as
part of an HTTP GET request to access the Amazon S3 object stored under
the specified key in the specified bucket.
|
GeneratePresignedUrlRequest(String bucketName,
String key,
HttpMethod method)
Creates a new request for generating a pre-signed URL that can be used as
part of an HTTP request to access the specified Amazon S3 resource.
|
Modifier and Type | Method and Description |
---|---|
void |
addRequestParameter(String key,
String value)
Adds an additional request parameter to be included in the pre-signed
URL.
|
String |
getBucketName()
Returns the name of the bucket involved in this request.
|
String |
getContentMd5()
Gets the expected content-md5 header of the request.
|
String |
getContentType()
Gets the expected content-type of the request.
|
Date |
getExpiration()
The expiration date at which point the new pre-signed URL will no longer
be accepted by Amazon S3.
|
String |
getKey()
Returns the key of the object involved in this request.
|
String |
getKmsCmkId()
Returns the KMS customer key id used for server side encryption; or null
if there is none.
|
HttpMethod |
getMethod()
The HTTP method (GET, PUT, DELETE, HEAD) to be used in this request.
|
Map<String,String> |
getRequestParameters()
Returns the complete map of additional request parameters to be included
in the pre-signed URL.
|
ResponseHeaderOverrides |
getResponseHeaders()
Returns the headers to be overridden in the service response.
|
String |
getSSEAlgorithm()
Returns the SSE algorithm used for SSE (with server side key); or null if
SSE (with server side key) is not in use.
|
SSECustomerKey |
getSSECustomerKey()
Returns the optional customer-provided server-side encryption key to use
to encrypt the uploaded object.
|
String |
getVersionId()
Returns the version ID of the object, only present if versioning has
been enabled for the bucket.
|
boolean |
isZeroByteContent()
Returns true if zero byte content is to be used for generating pre-signed
URL; false otherwise.
|
void |
rejectIllegalArguments()
Rejects any illegal input (as attributes of this request) by the user.
|
void |
setBucketName(String bucketName)
Sets the name of the bucket involved in this request.
|
void |
setContentMd5(String contentMd5)
Sets the expected content-md5 header of the request.
|
void |
setContentType(String contentType)
Sets the expected content-type of the request.
|
void |
setExpiration(Date expiration)
Sets the expiration date at which point the new pre-signed URL will no
longer be accepted by Amazon S3.
|
void |
setKey(String key)
Sets the key of the object involved in this request.
|
void |
setKmsCmkId(String kmsCmkId)
Sets the KMS customer key id used for server side encryption.
|
void |
setMethod(HttpMethod method)
Sets the HTTP method (GET, PUT, DELETE, HEAD) to be used in this request.
|
void |
setResponseHeaders(ResponseHeaderOverrides responseHeaders)
Sets the headers to be overridden in the service response.
|
void |
setSSEAlgorithm(SSEAlgorithm sseAlgorithm)
Sets the SSE algorithm for server side encryption.
|
void |
setSSEAlgorithm(String sseAlgorithm)
Sets the SSE algorithm for server side encryption.
|
void |
setSSECustomerKey(SSECustomerKey sseCustomerKey)
Sets the customer-provided server-side encryption key to use as part of
the generated pre-signed URL.
|
void |
setSSECustomerKeyAlgorithm(SSEAlgorithm sseAlgorithm)
Sets the use of SSE-C (Server Side Encryption with Customer Key) using
the given encryption algorithm.
|
void |
setVersionId(String versionId)
Sets the version ID of the object, only present if versioning has
been enabled for the bucket.
|
void |
setZeroByteContent(boolean zeroByteContent)
Sets if zero byte content is to be used for generating pre-signed URL.
|
GeneratePresignedUrlRequest |
withBucketName(String bucketName)
Sets the name of the bucket involved in this request, and returns this
request object to enable additional method calls to be chained together.
|
GeneratePresignedUrlRequest |
withContentMd5(String contentMd5)
Sets the expected content-md5 header of the request and returns this
object, for method chaining.
|
GeneratePresignedUrlRequest |
withContentType(String contentType)
Sets the expected content-type of the request and returns
this object, for method chaining.
|
GeneratePresignedUrlRequest |
withExpiration(Date expiration)
Sets the expiration date at which point the new pre-signed URL will no
longer be accepted by Amazon S3, and returns this request object to
enable additional method calls to be chained together.
|
GeneratePresignedUrlRequest |
withKey(String key)
Sets the key of the object involved in this request, and returns this
request object to enable additional method calls to be chained together.
|
GeneratePresignedUrlRequest |
withKmsCmkId(String kmsCmkId)
Fluent API for
setKmsCmkId(String) |
GeneratePresignedUrlRequest |
withMethod(HttpMethod method)
Sets the HTTP method (GET, PUT, DELETE, HEAD) to be used in this request,
and returns this request object to enable additional method calls to be
chained together.
|
GeneratePresignedUrlRequest |
withResponseHeaders(ResponseHeaderOverrides responseHeaders)
Sets the headers to be overridden in the service response and returns
this object, for method chaining.
|
GeneratePresignedUrlRequest |
withSSEAlgorithm(SSEAlgorithm sseAlgorithm)
Fluent API for
setSSEAlgorithm(SSEAlgorithm) |
GeneratePresignedUrlRequest |
withSSEAlgorithm(String sseAlgorithm)
Fluent API for
setSSEAlgorithm(String) |
GeneratePresignedUrlRequest |
withSSECustomerKey(SSECustomerKey sseKey)
Sets the customer-provided server-side encryption key to use as part of
the generated pre-signed URL, and returns the updated request object so
that additional method calls can be chained together.
|
GeneratePresignedUrlRequest |
withSSECustomerKeyAlgorithm(SSEAlgorithm algorithm)
Fluent method for
setSSECustomerKeyAlgorithm(SSEAlgorithm) . |
GeneratePresignedUrlRequest |
withVersionId(String versionId)
Sets the version ID of the object, only present if versioning has
been enabled for the bucket.
|
GeneratePresignedUrlRequest |
withZeroByteContent(boolean zeroByteContent)
Fluent method for
setZeroByteContent(boolean) . |
addHandlerContext, clone, getCloneRoot, getCloneSource, getCustomQueryParameters, getCustomRequestHeaders, getGeneralProgressListener, getHandlerContext, getReadLimit, getRequestClientOptions, getRequestCredentials, getRequestCredentialsProvider, getRequestMetricCollector, getSdkClientExecutionTimeout, getSdkRequestTimeout, putCustomQueryParameter, putCustomRequestHeader, setGeneralProgressListener, setRequestCredentials, setRequestCredentialsProvider, setRequestMetricCollector, setSdkClientExecutionTimeout, setSdkRequestTimeout, withGeneralProgressListener, withRequestCredentialsProvider, withRequestMetricCollector, withSdkClientExecutionTimeout, withSdkRequestTimeout
public GeneratePresignedUrlRequest(String bucketName, String key)
bucketName
- The name of the bucket containing the desired Amazon S3
object.key
- The key under which the desired Amazon S3 object is stored.public GeneratePresignedUrlRequest(String bucketName, String key, HttpMethod method)
Creates a new request for generating a pre-signed URL that can be used as part of an HTTP request to access the specified Amazon S3 resource.
When specifying an HTTP method, you must send the pre-signed URL with the same HTTP method in order to successfully use the pre-signed URL.
bucketName
- The name of the Amazon S3 bucket involved in the operation.key
- The key of the Amazon S3 object involved in the operation.method
- The HTTP method (GET, PUT, DELETE, HEAD) to be used in the
request when the pre-signed URL is used.public String getKmsCmkId()
public void setKmsCmkId(String kmsCmkId)
Note S3 does not require HTTP header “x-amz-server-side-encryption-aws-kms-key-id” to be always present (a default key ID will be used if this header is not present).
It is also possible to set the header to “alias/aws/s3” to refer to the default KMS CMK ID.
public GeneratePresignedUrlRequest withKmsCmkId(String kmsCmkId)
setKmsCmkId(String)
public String getSSEAlgorithm()
public void setSSEAlgorithm(String sseAlgorithm)
currently
- supported values: "AES256" or "aws:kms".public GeneratePresignedUrlRequest withSSEAlgorithm(String sseAlgorithm)
setSSEAlgorithm(String)
public void setSSEAlgorithm(SSEAlgorithm sseAlgorithm)
currently
- supported values: "AES256" or "aws:kms".public GeneratePresignedUrlRequest withSSEAlgorithm(SSEAlgorithm sseAlgorithm)
setSSEAlgorithm(SSEAlgorithm)
public HttpMethod getMethod()
public void setMethod(HttpMethod method)
method
- The HTTP method (GET, PUT, DELETE, HEAD) to be used in this
request.public GeneratePresignedUrlRequest withMethod(HttpMethod method)
The same HTTP method must be used in the request when the pre-signed URL is used.
method
- The HTTP method (GET, PUT, DELETE, HEAD) to be used in this
request.public String getBucketName()
public void setBucketName(String bucketName)
bucketName
- the name of the bucket involved in this request.public GeneratePresignedUrlRequest withBucketName(String bucketName)
bucketName
- the name of the bucket involved in this request.public String getKey()
public void setKey(String key)
key
- the key of the object involved in this request.public GeneratePresignedUrlRequest withKey(String key)
key
- the key of the object involved in this request.public String getVersionId()
public void setVersionId(String versionId)
versionId
- The version ID of the object, only present if versioning
has been enabled for the bucket.public GeneratePresignedUrlRequest withVersionId(String versionId)
GeneratePresignedUrlRequest
object for method chanining.versionId
- The version ID of the object, only present if versioning
has been enabled for the bucket.public Date getExpiration()
public void setExpiration(Date expiration)
expiration
- The expiration date at which point the new pre-signed URL will
no longer be accepted by Amazon S3.public GeneratePresignedUrlRequest withExpiration(Date expiration)
If not specified, a default value will be supplied.
expiration
- The expiration date at which point the new pre-signed URL will
no longer be accepted by Amazon S3.public void addRequestParameter(String key, String value)
key
- The name of the request parameter, as it appears in the URL's
query string (e.g. versionId).value
- The (optional) value of the request parameter being added.public Map<String,String> getRequestParameters()
public ResponseHeaderOverrides getResponseHeaders()
public void setResponseHeaders(ResponseHeaderOverrides responseHeaders)
responseHeaders
- The headers to be overridden in the service response.public GeneratePresignedUrlRequest withResponseHeaders(ResponseHeaderOverrides responseHeaders)
responseHeaders
- The headers to be overridden in the service response.GeneratePresignedUrlRequest
for method chaining.public String getContentType()
public void setContentType(String contentType)
contentType
- The expected content-typepublic GeneratePresignedUrlRequest withContentType(String contentType)
contentType
- The expected content-typeGeneratePresignedUrlRequest
for method chaining.public String getContentMd5()
public void setContentMd5(String contentMd5)
contentMd5
- The expected content-md5 header value.public GeneratePresignedUrlRequest withContentMd5(String contentMd5)
contentMd5
- The expected content-md5 header value.GeneratePresignedUrlRequest
for method chaining.public SSECustomerKey getSSECustomerKey()
SSECustomerKeyProvider
getSSECustomerKey
in interface SSECustomerKeyProvider
public void setSSECustomerKey(SSECustomerKey sseCustomerKey)
sseCustomerKey
- The customer-provided server-side encryption key to use as
part of the generated pre-signed URL.public GeneratePresignedUrlRequest withSSECustomerKey(SSECustomerKey sseKey)
sseKey
- The customer-provided server-side encryption key to use as
part of the generated pre-signed URL.public void setSSECustomerKeyAlgorithm(SSEAlgorithm sseAlgorithm)
sseAlgorithm
- The server-side encryption algorithm to use with this
customer-provided server-side encryption key; or null if SSE-C
is disabled. "AES256" is currently the only
supported SSE-C encryption algorithm.public GeneratePresignedUrlRequest withSSECustomerKeyAlgorithm(SSEAlgorithm algorithm)
setSSECustomerKeyAlgorithm(SSEAlgorithm)
.public boolean isZeroByteContent()
public void setZeroByteContent(boolean zeroByteContent)
public GeneratePresignedUrlRequest withZeroByteContent(boolean zeroByteContent)
setZeroByteContent(boolean)
.public void rejectIllegalArguments()
IllegalArgumentException
- if there is illegal input from the user.