/
Using awscli v2 with Swarm S3

Using awscli v2 with Swarm S3

The v2 version of awscli, the official AWS command-line tool, provides a large number of "aws s3api ..." commands exposing most S3 features. awscli is no longer installed with pip, see:

Installing or updating to the latest version of the AWS CLI - AWS Command Line Interface

To configure just create a ~/.aws/credentials file with a Swarm S3 token and secret, which you can create in the Gateway Content Portal e.g. http://mydomain.example.com/_admin/portal.

[default] aws_access_key_id = 538310d5a74754af308c2fbe0b2cbb1a aws_secret_access_key = secret

Tip: add multiple profiles besides [default] that use different Swarm clusters or domains then refer to it using aws --profile devswarm …. Unfortunately the domain, which must resolve to your Gateway S3 endpoint, must always be specified on the command-line with --endpoint-url.

Increase the part size from the default (https://docs.aws.amazon.com/cli/latest/topic/s3-config.html#multipart-chunksize) 8MB to 100MB to improve read performance. This configures ~/.aws/config.

aws configure set default.s3.multipart_chunksize 100MB

This will show the buckets in your domain then list a bucket:

aws s3api --endpoint-url http://mydomain.example.com:8090 list-buckets aws s3api --endpoint-url http://mydomain.example.com:8090 list-objects --bucket mybucket

The aws s3 syntax is slight different than the aws s3api commands:

Tip: use aws --debug to see full HTTP request and response details, including the request-id for searching cloudgateway_server.log. Long listings might require --cli-read-timeout 300. Internal error messages like this are expected and can be ignored:
botocore.exceptions.ConnectTimeoutError: Connect timeout on endpoint URL: "http://169.254.169.254/latest/meta-data/placement/availability-zone/"

The s3api subcommand provides most of the AWS S3 features. E.g. these commands create a bucket with a locking and retention configuration. Note this feature requires the upcoming Gateway 7.6 release! An object is created then locked with a “legal hold” preventing that version from being deleted. Finally the lock is removed so the version can be deleted.

Related content

S3 Object Locking
S3 Object Locking
Read with this
Using the Cyberduck application with Content Gateway S3
Using the Cyberduck application with Content Gateway S3
More like this
Restoring Domains and Buckets
Restoring Domains and Buckets
Read with this
S3 Protocol Configuration
S3 Protocol Configuration
More like this
Virtual hosted URL access to S3 buckets
Virtual hosted URL access to S3 buckets
Read with this
Sample Java Code for using Content Gateway's S3 Interface
Sample Java Code for using Content Gateway's S3 Interface
More like this

© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.