Quick Start
There are four ways to get started on Telnyx cloud storage:
- Telnyx Mission Control Portal
- AWS CLI
- AWS SDK
- S3 compatible third party tools
Option 1: Using Telnyx Mission Control Portal
Follow this support article.
The Mission Control Portal is not the right tool to
- 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. - 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.
- Understand API endpoints & organizations
- Review supported API methods
- Heed the warning on presigned URL
- Pay attention to billing
- Know the restrictions on policy and ACL
Additional Resources
- All available AWS S3 CLI Commands