Skip to main content

Quick Start

There are four ways to get started on Telnyx cloud storage:

Option 1: Using Telnyx Mission Control Portal

Follow this support article.

Large object & Large object counts

The Mission Control Portal is not the right tool to

  1. Upload objects larger than 200 MiB. In this case, you should consider using the the aws s3 cp CLI command or multipart upload API for more concurrency, better reliability, and bigger throughput.
  2. Upload more than 1000 objects. In this case, you should consider using one of the S3 compatible third party tools

Option 2: Using AWS CLI

Step 1: Install AWS CLI locally

Follow the procedure here

Step 2: Configure CLI

  • Inject your Telnyx API key twice, once as access key and once as secret key.
  • Leave the region as blank; regionality is specified via --endpoint-url as shown subsequently.
user@localhost ~ % aws configure --profile mytelnyxprofile 
AWS Access Key ID [None]: XXX
AWS Secret Access Key [None]: XXX
Default region name [None]:
Default output format [None]: json

Validate the profile has been created successfully.

user@localhost ~ % aws configure list-profiles
mytelnyxprofile

Step 3: Validate CLI configuration

Perform the following validation procedure to ensure everything is working as expected.

Create 2 buckets

Bucket names must be universally unique. Hence, BucketAlreadyExists error is expected on first attempt.

user@localhost ~ % aws s3api create-bucket --bucket demo-bucket --profile mytelnyxprofile --endpoint-url https://us-east-1.telnyxstorage.com
An error occurred (BucketAlreadyExists) when calling the CreateBucket operation: Unknown
user@localhost ~ % aws s3api create-bucket --bucket demo-bucket-n1 --profile mytelnyxprofile --endpoint-url https://us-east-1.telnyxstorage.com
user@localhost ~ % aws s3api create-bucket --bucket demo-bucket-n2 --profile mytelnyxprofile --endpoint-url https://us-east-1.telnyxstorage.com

List buckets

Verify the buckets were created successfully.

user@localhost ~ % aws s3api list-buckets --profile mytelnyxprofile --endpoint-url https://us-east-1.telnyxstorage.com
{
"Buckets": [

{
"Name": "demo-bucket-n1",
"CreationDate": "2024-07-26T17:31:14.888000+00:00"
},
{
"Name": "demo-bucket-n2",
"CreationDate": "2024-07-26T17:31:25.225000+00:00"
}
],
"Owner": {
"DisplayName": "XXX",
"ID": "XXX"
}
}

Add objects to a bucket

Upload some random objects.

user@localhost ~ % aws s3api put-object --key demo-obj-101 --body ~/Downloads/IMG_1752.mov --bucket demo-bucket-n1 --profile mytelnyxprofile --endpoint-url https://us-east-1.telnyxstorage.com
{
"ETag": "\"bc864c2bc4549d72abadb0a5d44ee788\""
}

user@localhost ~ % aws s3api put-object --key demo-obj-202 --body ~/Downloads/IMG_1753.mov --bucket demo-bucket-n1 --profile mytelnyxprofile --endpoint-url https://us-east-1.telnyxstorage.com
{
"ETag": "\"bc864c2bc4549d72babdb0a5d44ee988\""
}

Listing objects

Verify the objects were uploaded successfully.

user@localhost ~ % aws s3api list-objects-v2 --bucket demo-bucket-n1 --profile mytelnyxprofile --endpoint-url https://us-east-1.telnyxstorage.com 
{
"Contents": [
{
"Key": "demo-obj-101",
"LastModified": "2024-07-26T17:34:52.428000+00:00",
"ETag": "\"bc864c2bc4549d72abadb0a5d44ee788\"",
"Size": 136994934,
"StorageClass": "STANDARD"
},
{
"Key": "demo-obj-202",
"LastModified": "2024-07-26T17:36:31.799000+00:00",
"ETag": "\"bc864c2bc4549d72babdb0a5d44ee988\"",
"Size": 136994934,
"StorageClass": "STANDARD"
}
],
"RequestCharged": null
}

Option 3: AWS SDK

Refer to this collection of examples

Option 4: S3 compatible third party tools

Many excellent tools exist to upload data at scale without any code. You can find the configuration guides here.

Read these documentations

Some key differences exist between Telnyx cloud storage and AWS S3. It's advisable that they are reviewed and comprehended prior to Telnyx cloud storage is put into production.

Additional Resources