Skip to main content

Simple Storage Service (S3)

Direction: MO

This object-storage capability provides simple, highly reliable, highly robust; cloud file storage within AWS.

Messages are automatically uploaded as files to the Customer's "bucket" as prescribed.

  • Bucket - the named "folder" where Messages should be delivered in Customers Account
  • Upload Mode
    • Lingo - Message uploaded as JSON as per Lingo Message Structure
    • Payload - Just the transmitted Message payload is uploaded
    • Lingo & Payload - Two files are uploaded for each Message
  • Prefix (Optional) - Additional prefix added to files uploaded
  • Extension (Optional) - Alternative file extension for "Payload" files

Naming Conventions

By default, Messages are uploaded to specified Bucket with the following naming convention:

  • Lingo - [MESSAGE ID].json
  • Payload - [MESSAGE ID].bin

Additionally, this can be customised further as per Prefix and Extension.

  • Lingo - [PREFIX][MESSAGE ID].json
  • Payload - [PREFIX][MESSAGE ID].[EXTENSION]

Setup

As Buckets reside within Customers Accounts, delegated access needs to be provided to the platform to upload files.

The platform specifically needs permission for these actions s3:PutObject and s3:GetBucketLocation on the Bucket.

Alternatively, simply copy and apply this CloudFormation script:

---
AWSTemplateFormatVersion: 2010-09-09
Description: "Customer template to allow Cloudloop S3 queues"
Parameters:
CloudloopRoleARN:
Description: The ARN of the Cloudloop Role
Type: String
Default: arn:aws:iam::902942185257:role/CloudloopDataAgent
S3BucketName:
Description: The name of the S3 bucket to create
Type: String
Resources:
S3Bucket:
Type: AWS::S3::Bucket
Properties:
BucketName: !Ref S3BucketName
S3BucketPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref S3Bucket
PolicyDocument:
Version: 2012-10-17
Statement:
- Action:
- 's3:PutObject'
- 's3:GetBucketLocation'
Effect: Allow
Resource: !Join
- ''
- - 'arn:aws:s3:::'
- !Ref S3Bucket
- /*
Principal:
AWS: !Ref CloudloopRoleARN