Boto3 instance

This task creates a boto3_instance object that could be used for accessing AWS API.

Boto3 Online documentation

https://boto3.amazonaws.com/v1/documentation/api/latest/index.html

main

Main tab

AWS resource
This drop-down list let you to choose the aws resource that we would like to use. You main choose between: - S3 - SQS - Any other AWS service

S3

In case we select S3 as aws resource, you'll need to enter a bucket name and an object name (myfolder/myfile.mxf) main

SQS

In case we select SQS as aws resource, you'll need to enter the queue name main

Other

In case you want to use any other resource, select 'Other' other and enter the resource name, for exemple rekognition

main

Import AWS config from This parameter is deprecated and will be removed in a future version

AWS account

This tab let you enter the credentials that allow us to connect with AWS.

Please note that if your server is hosted in AWS, it is better to use an IAM Role instead of having your credentials saved in your workflows

aws_account

Region
This is the AWS region name which is a collection of AWS resource in geographic area. Each region has his own name and code for identification (eg : Europe (Paris) : eu-west-3)

Access key id
This parameter is required since it grants programmatic access to your resources. So, this means that you must guard the access key id as carefully as the AWS account root user sign-in credentials.

Secret access key
Secret access key is a password. It is also required to access to your resources.

Advanced options
These options let you customize the boto3 connection in order for example to use a S3 compatible protocol with a Matrix Store aws_account

After the execution of the boto3 task, the yellow port is triggered. You may use an eval code task to get boto3 instance and do whatever you need to do. The boto3 instance variable is named with the boto3 object key which is by default boto3_instance.

Get file metadata in a S3 bucket

obj_head = boto3_instance.client.head_object(Bucket="bucket_name", Key="object_key")
gc.s3_metadata = obj_head["Metadata"]

Send SQS message

boto3_instance.client.send_message(
    QueueUrl=boto3_instance.client.get_queue_url(QueueName="mydemoqueue")['QueueUrl'], 
    MessageBody="{'title': 'coucou from pulse-it'}"
)