Skip to main content

AWS Python SDK Example

CAUTION

Latest supported version: 1.35.99.

The following example shows how AWS Python SDK can be used to interact with Telnyx Cloud Storage.

import requests
import uuid
import os

import boto3

telnyx_api_key = os.getenv("TELNYX_API_KEY")

if not telnyx_api_key:
print("TELNYX_API_KEY environment variable not set")

exit(1)

# 1. Initialize the AWS client with specific options
client = boto3.client(
"s3",
endpoint_url="https://us-central-1.telnyxcloudstorage.com",
aws_access_key_id=telnyx_api_key,
aws_secret_access_key="does not matter",
)

# 2. Create a bucket
bucket_name = f"my-test-bucket-{uuid.uuid4()}"

client.create_bucket(Bucket=bucket_name)

# 3. Upload two objects with random data
for i in range(2):
name = f"my-test-object-{i}"
body = f"Telnyx Cloud Storage {i}"

client.put_object(Bucket=bucket_name, Key=name, Body=body)

# 4. List objects in the bucket
for obj in client.list_objects(Bucket=bucket_name)["Contents"]:
print(obj["Key"])

# 5. Download the first object
result = client.get_object(Bucket=bucket_name, Key="my-test-object-0")

print(result["Body"].read())

# 6. Create a presigned URL for the first file
response = requests.post(
f"https://api.telnyx.com/v2/storage/buckets/{bucket_name}/my-test-object-0/presigned_url",
json={"TTL": 30},
headers={"Authorization": f"Bearer {telnyx_api_key}"},
)

body = response.json()

print(body)

# 7. Download the file using the presigned URL
response = requests.get(body["data"]["presigned_url"])

print(response.text)