Amazon S3 - Get presigned URL
Declaration
<AMAWSS3 ACTIVITY="list_versions" PROVIDER="session_based" SESSION="text" BUCKETNAME="text" RESULTDATASET="text" PREFIX="text" MARKER="text" MAXKEYS="number" DELIMITER="text" VERSIONMARKER="text" NEXTMARKER="text" NEXTVERSIONID="text"><HEADER NAME="text" VALUE="text" /></AMAWSS3>
Description
Gets the pre-signed URL of a given S3 object and populates a variable
with the results. A signed URL is a URL which is valid for a specific
time period. Its purpose is to share the pages that have time sensitive
information, or when you want to share a file with someone without making
it available to everyone on the net. Such information becomes invalid
once the specified time period has passed.
IMPORTANT: The AWS S3 activities
are performed using Amazon's Simple Storage Service engine, therefore,
launching and operating Amazon S3 through Automate requires a
valid Access Key ID and Secret Access Key.
Practical usage
Used to retrieve the URL assigned to an S3 object in order to make a
file available publicly. You
do not have to set ACL permissions for anyone in order to share a file
using signed URL.
Parameters
Connection
Connection |
--- |
--- |
--- |
--- |
Indicates
where AWS user credentials and preferences should originate from.
This is a design mode parameter used only during task construction
and configuration, thus, comprises no markup. The available options
are:- Host (default)- Specifies
that user credentials and advanced preferences are configured
individually for this activity. This option is normally chosen
if only a single activity is required to complete an operation.
- Session - Specifies that
user credentials and advanced preferences are obtained
from a pre-configured session created in an earlier step with the use of the Amazon S3
- Create session activity. This option is normally chosen
if a combination of related activities are required to complete
an operation. Linking several activities to a single session
eliminates redundancy. Additionally, a single task supports
construction and simultaneous execution of multiple sessions, improving
efficiency.
|
Connection - Session
Session |
Text |
Yes,
if Connection is set to Session |
EC2Session1 |
SESSION="S3Session1"
|
The
name of an existing session to attach this activity to. This parameter
is active only if the Connection
parameter is set to Session.
The default session name is S3Session1. |
Connection - Host > Credentials
Access key |
Text |
Yes,
if Connection is set to Host |
(Empty) |
ACCESSKEY="022QF06E7MXBSH9DHM02"
|
A
20-character alphanumeric string that uniquely identifies the
owner of the AWS service account, similar to a username. This
key along with a corresponding secret access key forms a secure
information set that AWS uses to confirm a valid user's identity.
This parameter is active only if the
Connection parameter is set to Host. |
Secret access key |
Text |
Yes,
if Connection is set to Host |
(Empty) |
SECRETKEY="text (encrypted)"
|
A
40-character string that serves the role as password to access
the AWS service account. This along with an associated access
key forms a secure information set that EC2 uses to confirm a
valid user's identity. This parameter is active only if the Connection parameter is set
to Host. |
Connection - Host > Advanced
Protocol |
Text
(options) |
No |
HTTP |
PROTOCOL="HTTPS"
|
The
protocol required. The available options are: |
User
agent |
Text |
No |
Automate |
USERAGENT="Automate"
|
The
name of the client or application initiating requests to AWS,
which in this case, is Automate. This parameter's default value
is Automate. |
Service URL |
Text |
No |
(Empty) |
SERVICEURL="https://s3.eu-west-1.amazonaws.com"
|
The
URL that provides the service endpoint. To make the service call
to a different region, you can pass the region-specific endpoint
URL. For example, entering https://s3.us-west-1.amazonaws.com
points to US West (Northern California) region. A complete list
of S3 regions, along with associated endpoints and valid protocols
can be found below under Amazon S3 regions and endpoints . |
Maximum number of retries on error |
Number |
No |
(Empty) |
MAXERRORRETRY="4"
|
The
total amount of times this activity should retry its request to
the server before returning an error. Network components can generate
errors anytime in the life of a request, thus, implementing retries
can increase reliability. |
Proxy host |
Text |
No |
(Empty) |
PROXYHOST="proxy.host.com"
|
The
hostname (for example, server.domain.com) or IP address (for example, 192.168.0.100)
of the proxy server to use when connecting to AWS. |
Proxy port |
Number |
No |
(Empty) |
PROXYPORT="1028"
|
The
port that should be used to connect to the proxy server. |
Proxy username |
Text |
No |
(Empty) |
PROXYUSER="username"
|
The
username that should be used to authenticate connection with the
proxy server (if required). |
Proxy password |
Text |
No |
(Empty) |
PROXYPWD="encrypted"
|
The
password that should be used to authenticate connection with the
proxy server (if required). |
Object
Bucket Name |
Text |
Yes |
(Empty) |
BUCKETNAME="MyBucket"
|
Indicates
the name of the Bucket where the object resides. |
Key Name |
Text |
Yes |
(Empty) |
KEYNAME="myFile"
|
The
key name of the object in which to retrieve the URL from. A key
is the unique identifier for an object within a bucket. Every
object in a bucket has exactly one key. |
Protocol |
Text
(Options) |
Yes |
HTTP |
URLPROTOCOL="HTTPS"
|
The
protocol assigned to the URL. The available options are: |
HTTP Verb |
Text
(Options) |
Yes |
Get |
HTTPVERB="Head"
|
Specifies
the standard S3 operation associated with the resource. The available
options are:- Put
- Get
(default)
- Head
- Delete
|
Expires |
Date |
Yes |
Date/Time
3 hours ahead |
EXPIRES=%DateAdd("d", 30, CStr( Now() ))%
|
The
expiration date/time of the object in which to retrieve the URL
from. |
Populate variable with Presigned URL |
Text |
No |
(Empty) |
RESULTVARIABLE="myVar"
|
Specifies
the name of the variable in which to populate the object's pre-signed
URL with. |
Advanced
Name |
Text |
No |
(Empty) |
NAME="myHeader"
|
Specifies the "key" in a key-value
pair. This is the handle that you assign to an object. In Amazon
S3, details about each file and folder are stored in key value
pairs called metadata or headers. System metadata is used and
processed by Amazon S3, however, user metadata or custom headers
can be specified by you. This adds more flexibility and enables
you to better distinguish specific files by adding or editing
custom headers on existing S3 objects or assigning custom headers
to new objects. Press Click here
to add new row... to add a key-value pair. Press the red
X to remove an existing
key-value pair. |
Value |
Text |
No |
(Empty) |
VALUE="theValue"
|
Specifies the "value" in a key-value
pair. This is the content that you are storing for an object.
In Amazon S3, details about each file and folder are stored in
key value pairs called metadata or headers. System metadata is
used and processed by Amazon S3, however, user metadata or custom
headers can be specified by you. This adds more flexibility and
enables you to better distinguish specific files by adding or
editing custom headers on existing S3 objects or assigning custom
headers to new objects. Press Click
here to add new row... to add a key-value pair. Press the
red X to remove an existing
key-value pair. |
Description
Error Causes
On Error
Additional notes
Amazon S3 regions and endpoints
This table contains a complete list of Amazon Simple Storage Service
endpoints, along with their corresponding regions, supported protocols
and location constraints.
s3.amazonaws.com
|
US Standard
* |
HTTP
and HTTPS |
(none
required) |
s3.us-west-2.amazonaws.com
|
US West
(Oregon) Region |
HTTP
and HTTPS |
us-west-2
|
s3.us-west-1.amazonaws.com
|
US West
(Northern California) Region |
HTTP
and HTTPS |
us-west-1
|
s3.eu-west-1.amazonaws.com
|
EU (Ireland)
Region |
HTTP
and HTTPS |
EU |
s3.ap-southeast-1.amazonaws.com
|
Asia
Pacific (Singapore) Region |
HTTP
and HTTPS |
ap-southeast-1
|
s3.ap-southeast-2.amazonaws.com
|
Asia
Pacific (Sydney) Region |
HTTP
and HTTPS |
ap-southeast-2
|
s3.ap-northeast-1.amazonaws.com
|
Asia
Pacific (Tokyo) Region |
HTTP
and HTTPS |
ap-northeast-1
|
s3.sa-east-1.amazonaws.com
|
South
America (Sao Paulo) Region |
HTTP
and HTTPS |
sa-east-1
|
* The US Standard region automatically routes
requests to facilities in Northern Virginia or the Pacific Northwest using
network maps.
Example
NOTE:
- Copy and paste the sample AML code below directly into
the Task Builder Steps Panel.
- To successfully run the sample code, update parameters containing user credentials, files, file paths, or other information specific to the task to match your environment.
Description
Get pre-signed URL for object "myKey.txt" in bucket "myBucket"
and store it into automate variable "theVar". URL will expire
after "%DateAdd( "n", 30, CStr( Now() ))%". Use "mySession"
S3 session.
Copy
1
<AMAWSS3 ACTIVITY="get_presigned_url" BUCKETNAME="myBucket" KEYNAME="myKey.txt" EXPIRES="%DateAdd( "n", 30, CStr( Now() ))%" RESULTVARIABLE="theVar" SESSION="mySession" />