Use boto3 (AWS SDK for Python) with Telnyx Cloud Storage. Configure the S3-compatible endpoint and upload, download, and list objects from Python apps.
Recent boto3 versions (1.36+) work against Cloud Storage with default checksum settings. If you hit a checksum error, disable checksum calculation and verification with the Config shown below.
The following example shows how AWS Python SDK can be used to interact with Telnyx Cloud Storage.
import requestsimport uuidimport osfrom botocore.config import Configimport boto3# Only perform CRC checks `when_required`config = Config( request_checksum_calculation="when_required", response_checksum_validation="when_required",)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 optionsclient = boto3.client( "s3", endpoint_url="https://us-central-1.telnyxcloudstorage.com", aws_access_key_id=telnyx_api_key, aws_secret_access_key=telnyx_api_key, config=config)# 2. Create a bucketbucket_name = f"my-test-bucket-{uuid.uuid4()}"client.create_bucket(Bucket=bucket_name)# 3. Upload two objects with random datafor 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 bucketfor obj in client.list_objects(Bucket=bucket_name)["Contents"]: print(obj["Key"])# 5. Download the first objectresult = client.get_object(Bucket=bucket_name, Key="my-test-object-0")print(result["Body"].read())# 6. Create a presigned URL for the first fileresponse = 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 URLresponse = requests.get(body["data"]["presigned_url"])print(response.text)
Was this page helpful?
{"docsConfig":{"theme":"sequoia","$schema":"https://mintlify.com/docs.json","name":"Telnyx","description":"Infrastructure for real-time agents. Voice, AI, Edge Compute","colors":{"primary":"#00B688","light":"#00B688","dark":"#00B688"},"logo":{"light":"https://mintcdn.com/telnyx/v2FpkbJg6PQ53qHU/assets/images/site/logo.svg?fit=max\u0026auto=format\u0026n=v2FpkbJg6PQ53qHU\u0026q=85\u0026s=5ee3f61d11ba90a197dd9a1e3499fab6","dark":"https://mintcdn.com/telnyx/v2FpkbJg6PQ53qHU/assets/images/site/logo-dark.svg?fit=max\u0026auto=format\u0026n=v2FpkbJg6PQ53qHU\u0026q=85\u0026s=d65aaa12ec708c79e5833cbdea958055"},"favicon":"https://mintcdn.com/telnyx/t-qaBUa_gCxdRz_m/favicon.ico?fit=max\u0026auto=format\u0026n=t-qaBUa_gCxdRz_m\u0026q=85\u0026s=8291283238ab8c0e2a7a985e69f38c2f","background":{"decoration":"gradient"},"navbar":{"links":[{"icon":"triangle-exclamation","href":"/docs/development/api-fundamentals/api-errors","label":"Error codes"},{"icon":"headset","href":"https://telnyx.com/contact-us","label":"Contact us"},{"icon":"user","href":"https://portal.telnyx.com/#/login/sign-in","label":"Login"}],"primary":{"type":"button","label":"Sign Up","href":"https://telnyx.com/sign-up"}},"footer":{"socials":{"github":"https://github.com/team-telnyx","linkedin":"https://www.linkedin.com/company/telnyx","slack":"https://joinslack.telnyx.com","x":"https://x.com/telnyx"},"links":[{"header":"Resources","items":[{"label":"Pricing","href":"https://developers.telnyx.com/internal/pages/pricing"},{"label":"Compare Telnyx","href":"https://developers.telnyx.com/internal/pages/compare"},{"label":"Support center","href":"https://support.telnyx.com/en"},{"label":"SETI","href":"https://seti.telnyx.com"},{"label":"Agent platform configs","href":"https://github.com/team-telnyx/ai"},{"label":"About Telnyx","href":"https://developers.telnyx.com/internal/pages/about"},{"label":"Service status","href":"https://status.telnyx.com"}]},{"header":"Updates","items":[{"label":"Release notes","href":"https://telnyx.com/release-notes"}]},{"header":"Community","items":[{"label":"Low Latency Club","href":"https://lowlatencyclub.ai/"}]},{"header":"Legal","items":[{"label":"Privacy policy","href":"https://telnyx.com/privacy-policy"},{"label":"Terms and conditions","href":"https://telnyx.com/terms-and-conditions"}]}]},"seo":{"metatags":{"og:description":"Infrastructure for real-time agents. Voice, AI, Edge Compute","description":"Infrastructure for real-time agents. Voice, AI, Edge Compute"},"organization":{"name":"Telnyx","url":"https://telnyx.com","logo":"https://telnyx.com/favicon.ico","sameAs":["https://x.com/telnyx","https://www.linkedin.com/company/telnyx/","https://github.com/team-telnyx"]}},"fonts":{"heading":{"family":"PP Formula","weight":800,"source":"assets/fonts/PPFormula-Extrabold.woff2","format":"woff2"},"body":{"family":"Inter","weight":400,"source":"assets/fonts/Inter-Regular.woff2","format":"woff2"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"gtm":{"tagId":"GTM-NRRX236"}},"banner":{"content":"Check out our upcoming events and meetups! [View events →](https://lowlatencyclub.ai/)","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Home","icon":"house","href":"/docs/overview"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"telnyx","hasAudioNarration":false,"actualSubdomain":"telnyx","customDomains":["developers.telnyx.com"],"gitSource":{"type":"github","owner":"team-telnyx","repo":"developer-docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae36555b905b386f716e148","collectionId":"df1acefb-dd63-4993-ae7d-cdcae0ff9873","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae36555b905b386f716e148"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae3672cb64defc9634fbfb7","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Calling","count":592},{"language":"default","tag":"API Reference","count":552},{"language":"default","tag":"Other APIs","count":402},{"language":"default","tag":"AI","count":381},{"language":"default","tag":"Messaging","count":353},{"language":"default","tag":"Numbers","count":287},{"language":"default","tag":"Agent Platform","count":217},{"language":"default","tag":"Assistants","count":201},{"language":"default","tag":"Voice API","count":178},{"language":"default","tag":"SMS \u0026 MMS","count":149}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"[class*=sidebar] [class*=badge],[class*=sidebar] [class*=tag],nav [class*=badge],nav [class*=tag]{font-size:.8rem!important}#ot-sdk-btn-floating{left:auto!important;right:10px!important}body:has([aria-label=\"Preview Widget\"]) #ot-sdk-btn-floating{bottom:88px!important}#navbar .nav-tabs-item:has(>div>svg[style*=\"/book-open.svg\"]),#navbar div:has(>div>.nav-tabs>a.nav-tabs-item:first-child:last-child){display:none}.nav-tabs a.nav-tabs-item:not([aria-current=location]){display:none}#mobile-nav #navigation-items>div:has(>div>button[aria-haspopup=menu]),#mobile-nav [data-component-part=products-selector-trigger],#mobile-nav.tx-has-directory #navigation-items{display:none!important}#mobile-nav .tx-mobile-directory{padding:0;margin-bottom:1.5rem}#mobile-nav .tx-mobile-directory .tx-dir-suite-head,#mobile-nav .tx-mobile-directory a{min-height:2.75rem}#mobile-nav .tx-mobile-directory :is(a, .tx-dir-suite-head):focus-visible{outline:2px solid currentColor;outline-offset:-2px}.txd-shell{display:flex;gap:0;max-width:none;margin:0;padding:3rem 2rem 6rem 0}.txd-side{width:18rem;flex-shrink:0}.txd-main{flex:1;min-width:0;max-width:56rem;margin-left:11.75rem}@media (max-width:80rem){.txd-main{margin-left:4rem}}:is(#tx-directory, .tx-mobile-directory){margin:0 0 .5rem;padding:0 .5rem 0 1rem}:is(#tx-directory, .tx-mobile-directory) .tx-dir-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.55;margin:0 0 .4rem}:is(#tx-directory, .tx-mobile-directory) .tx-dir-label-gap{margin-top:1.5rem}:is(#tx-directory, .tx-mobile-directory) .tx-dir-link,:is(#tx-directory, .tx-mobile-directory) summary{display:flex;align-items:center;cursor:pointer;font-size:.875rem;line-height:1.25rem;padding:.35rem .5rem;border-radius:.375rem;color:rgb(55 65 81);text-decoration:none}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-link,html.dark :is(#tx-directory, .tx-mobile-directory) summary{color:rgb(156 163 175)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-link:hover,:is(#tx-directory, .tx-mobile-directory) summary:hover{color:rgb(17 24 39);background:rgb(0 0 0/.04)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-link[aria-current=page]{color:#00b688;background:0 0;box-shadow:none;font-weight:400;text-shadow:-.2px 0 0 currentColor,.2px 0 0 currentColor}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-link:hover,html.dark :is(#tx-directory, .tx-mobile-directory) summary:hover{color:rgb(229 231 235);background:rgb(255 255 255/.06)}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-link[aria-current=page]{color:#5eead4;background:0 0;box-shadow:none}:is(#tx-directory, .tx-mobile-directory) .tx-dir-soon,:is(#tx-directory, .tx-mobile-directory) .tx-dir-soon:hover,html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-soon,html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-soon:hover{cursor:default;opacity:.45;background:0 0;color:inherit}:is(#tx-directory, .tx-mobile-directory) .tx-dir-soon sup{font-size:.6rem;line-height:1;letter-spacing:.05em;text-transform:uppercase;margin-left:.4rem;vertical-align:super}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite{margin-bottom:.15rem}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head{display:flex;align-items:center;cursor:pointer;user-select:none;font-size:.875rem;line-height:1.25rem;font-weight:500;padding:.35rem .5rem;border-radius:.375rem;color:rgb(55 65 81)}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head,html.dark :is(#tx-directory, .tx-mobile-directory) li a{color:rgb(156 163 175)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head:hover,:is(#tx-directory, .tx-mobile-directory) li a:hover{color:rgb(17 24 39);background:rgb(0 0 0/.04)}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head:hover,html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-suite.open>.tx-dir-suite-head,html.dark :is(#tx-directory, .tx-mobile-directory) li a:hover{color:rgb(229 231 235);background:rgb(255 255 255/.06)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head::after{content:'';width:.42rem;height:.42rem;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s;flex-shrink:0;opacity:.7}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite.open>.tx-dir-suite-head::after{transform:rotate(45deg)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite.open>.tx-dir-suite-head{color:rgb(17 24 39);background:rgb(0 0 0/.04);font-weight:600}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite>ul{display:none}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite.open>ul{display:block}:is(#tx-directory, .tx-mobile-directory) ul{margin:.15rem 0 .5rem;padding:0}:is(#tx-directory, .tx-mobile-directory) li{list-style:none}:is(#tx-directory, .tx-mobile-directory) li a{display:flex;align-items:center;font-size:.875rem;line-height:1.25rem;padding:.3rem .5rem .3rem 1.6rem;border-radius:.375rem;color:rgb(107 114 128);text-decoration:none}:is(#tx-directory, .tx-mobile-directory) .tx-dir-section-item{font-weight:500}:is(#tx-directory, .tx-mobile-directory) .tx-dir-icon{display:inline-block;width:1rem;height:1rem;flex-shrink:0;margin-right:.5rem;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.txi-arrows-left-right-to-line{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/arrows-left-right-to-line.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/arrows-left-right-to-line.svg)}.txi-bolt{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/bolt.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/bolt.svg)}.txi-brain{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/brain.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/brain.svg)}.txi-brain-circuit{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/brain-circuit.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/brain-circuit.svg)}.txi-brands-whatsapp{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/whatsapp.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/whatsapp.svg)}.txi-broadcast-tower{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/broadcast-tower.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/broadcast-tower.svg)}.txi-browser{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/browser.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/browser.svg)}.txi-circle-nodes{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/circle-nodes.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/circle-nodes.svg)}.txi-clone{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/clone.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/clone.svg)}.txi-cloud{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cloud.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cloud.svg)}.txi-code{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/code.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/code.svg)}.txi-comment-sms{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/comment-sms.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/comment-sms.svg)}.txi-cubes{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cubes.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cubes.svg)}.txi-database{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/database.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/database.svg)}.txi-envelope{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/envelope.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/envelope.svg)}.txi-eye{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/eye.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/eye.svg)}.txi-file-certificate{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/file-certificate.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/file-certificate.svg)}.txi-fingerprint{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/fingerprint.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/fingerprint.svg)}.txi-folder-tree{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/folder-tree.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/folder-tree.svg)}.txi-globe{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/globe.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/globe.svg)}.txi-hard-drive{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/hard-drive.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/hard-drive.svg)}.txi-hashtag{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/hashtag.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/hashtag.svg)}.txi-headset{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/headset.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/headset.svg)}.txi-key{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/key.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/key.svg)}.txi-layer-group{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/layer-group.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/layer-group.svg)}.txi-magnifying-glass{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/magnifying-glass.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/magnifying-glass.svg)}.txi-message{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/message.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/message.svg)}.txi-message-dots{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/message-dots.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/message-dots.svg)}.txi-microchip-ai{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/microchip-ai.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/microchip-ai.svg)}.txi-microphone{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/microphone.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/microphone.svg)}.txi-network-wired{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/network-wired.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/network-wired.svg)}.txi-phone{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/phone.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/phone.svg)}.txi-phone-volume{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/phone-volume.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/phone-volume.svg)}.txi-plug{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/plug.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/plug.svg)}.txi-right-left{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/right-left.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/right-left.svg)}.txi-robot{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/robot.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/robot.svg)}.txi-server{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/server.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/server.svg)}.txi-share-nodes{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/share-nodes.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/share-nodes.svg)}.txi-shield{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/shield.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/shield.svg)}.txi-shield-check{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/shield-check.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/shield-check.svg)}.txi-signal{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/signal.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/signal.svg)}.txi-sim-card{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/sim-card.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/sim-card.svg)}.txi-split{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/split.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/split.svg)}.txi-table{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/table.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/table.svg)}.txi-tower-control{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/tower-control.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/tower-control.svg)}.txi-train-tunnel{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/train-tunnel.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/train-tunnel.svg)}.txi-video{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/video.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/video.svg)}.txi-wand-magic-sparkles{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/wand-magic-sparkles.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/wand-magic-sparkles.svg)}.txi-waveform{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/waveform.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/waveform.svg)}.txi-waveform-lines{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/waveform-lines.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/waveform-lines.svg)}.txd-main .txd-h1{font-family:var(--font-family-headings-custom, \"PP Formula\"),-apple-system,BlinkMacSystemFont,\"Segoe UI\",system-ui,sans-serif;font-size:2.1rem;font-weight:500;letter-spacing:-.01em;margin:1.2rem 0 .4rem;color:rgb(22 28 26)}html.dark .txd-main .txd-h1{color:rgb(229 231 235)}.txd-main .txd-lead{font-size:1.3rem;line-height:1.55;font-weight:500;margin:.9rem 0 1.3rem;color:rgb(31 41 55)}html.dark .txd-main .txd-lead{color:rgb(209 213 219)}.txd-main .txd-h2{font-family:var(--font-family-headings-custom, \"PP Formula\"),-apple-system,BlinkMacSystemFont,\"Segoe UI\",system-ui,sans-serif;font-size:1.45rem;font-weight:500;margin:2.4rem 0 .4rem;color:rgb(22 28 26)}html.dark .txd-main .txd-h2{color:rgb(229 231 235)}.txd-main .txd-section-h{font-size:1.05rem;font-weight:600;margin:1.8rem 0 .2rem;opacity:.85}.txd-main .txd-p{margin:.7rem 0 1rem;line-height:1.65;color:rgb(75 85 99)}html.dark .txd-main .txd-p{color:rgb(156 163 175)}.txd-main .txd-follow-up a:hover,.txd-main .txd-p a{text-decoration:underline}.txd-main .txd-h1{max-width:46rem;line-height:1.12}.txd-main .txd-hero-copy{max-width:45rem}.txd-main .txd-follow-up{margin-top:1rem}.txd-main .txd-follow-up a{color:#00b688;font-weight:600;text-decoration:none}.txd-main a:focus-visible{outline:2px solid #00b688;outline-offset:3px}@media (max-width:48rem){.txd-main .txd-h1{font-size:1.9rem}}@media (min-width:64.01rem) and (max-width:90rem){.txd-main{margin-right:4rem}}.rm-explorer{--rm-border:rgb(15 23 42 / 14%);--rm-muted:#5f6b68;--rm-soft:#f6f8f7}.dark .rm-explorer{--rm-border:rgb(255 255 255 / 14%);--rm-muted:#a2aaa8;--rm-soft:#151a19}#resource-map-toolbar{position:sticky;top:5rem;z-index:20;margin:1.25rem 0 1.75rem;padding:.75rem 0;background:var(--rm-surface, #fff);border-bottom:1px solid var(--rm-border)}.dark #resource-map-toolbar{background:#0b0e0d}.rm-controls{display:grid;grid-template-columns:minmax(15rem,1fr) minmax(10rem,auto) auto;gap:.625rem;align-items:center}.rm-search{position:relative;min-width:0}.rm-search svg{position:absolute;top:50%;left:.75rem;width:1rem;height:1rem;color:var(--rm-muted);fill:none;stroke:currentColor;stroke-width:1.8;transform:translateY(-50%);pointer-events:none}.rm-area-select,.rm-collapse,.rm-search input{min-height:2.5rem;font-size:.875rem}.rm-area-select,.rm-clear,.rm-collapse,.rm-empty button,.rm-search input{color:inherit;background:0 0;border:1px solid var(--rm-border);border-radius:.5rem;font:inherit}.rm-empty button{font-size:.875rem}.rm-search input{width:100%;padding:.58rem 2.6rem .58rem 2.35rem}.rm-search input::placeholder{color:var(--rm-muted);opacity:1}.rm-shortcut{position:absolute;top:50%;right:.65rem;display:grid;width:1.5rem;height:1.5rem;place-items:center;color:var(--rm-muted);background:var(--rm-soft);border:1px solid var(--rm-border);border-radius:.35rem;font:inherit;font-size:.72rem;transform:translateY(-50%);pointer-events:none}.rm-area-wrap{position:relative;max-width:13rem}.rm-area-select{width:100%;max-width:13rem;padding:.55rem 2.25rem .55rem .75rem;appearance:none;cursor:pointer}.rm-area-caret{position:absolute;top:50%;right:.85rem;width:.45rem;height:.45rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}.rm-collapse{padding:.5rem .75rem}.rm-clear,.rm-collapse,.rm-empty button{font-weight:650;cursor:pointer}.rm-empty button{padding:.5rem .75rem}.rm-area-select:focus-visible,.rm-clear:focus-visible,.rm-collapse:focus-visible,.rm-empty button:focus-visible,.rm-search input:focus-visible{outline:2px solid #00b688;outline-offset:2px;border-color:#00b688;box-shadow:none!important}.rm-clear:hover,.rm-collapse:hover,.rm-empty button:hover{color:#08785d;background:var(--rm-soft)}.dark .rm-clear:hover,.dark .rm-collapse:hover,.dark .rm-empty button:hover{color:#5eead4}.rm-meta{display:flex;min-height:1.65rem;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .15rem 0}.rm-status{color:var(--rm-muted);font-size:.78rem;line-height:1.35}.rm-clear{min-height:1.8rem;padding:.2rem .55rem;border-color:transparent;font-size:.78rem}.rm-empty{display:grid;justify-items:start;gap:.35rem;margin:-.5rem 0 1.75rem;padding:1.1rem 1.2rem;color:var(--rm-muted);background:var(--rm-soft);border:1px solid var(--rm-border);border-radius:.75rem;font-size:.875rem}.rm-empty strong{color:inherit;font-size:.95rem}.rm-empty button{min-height:2.2rem;margin-top:.35rem}.rm-resource-list{display:block!important;margin:0 0 .75rem!important;border-color:var(--rm-border)!important;border-top:0!important;border-radius:0 0 .75rem .75rem!important}.rm-resource-list>details.accordion{margin:0!important;border:0!important;border-radius:0!important}.rm-resource-list>details.accordion+details.accordion{border-top:1px solid var(--rm-border)!important}.rm-resource-list>details.accordion>summary{min-height:3rem;padding:.7rem .9rem!important;border-radius:0!important}.rm-resource-list>details.accordion:first-child>summary{border-radius:0!important}.rm-resource-list>details.accordion:last-child:not([open])>summary{border-radius:0 0 .75rem .75rem!important}.rm-resource-list [data-component-part=accordion-title]{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:1rem}.rm-resource-name{min-width:0;overflow-wrap:anywhere;font-weight:650}.rm-method-count{flex:0 0 auto;color:var(--rm-muted);font-size:.75rem;font-weight:500;white-space:nowrap}.rm-resource-list details[open]>summary{background:var(--rm-soft)}.rm-resource-list details[open] [data-component-part=accordion-content]{margin-right:1rem;margin-left:1rem}.rm-resource-list tbody tr.rm-row-match{background:rgb(0 182 136/8%)}.rm-resource-list td:first-child code{white-space:nowrap}.rm-clear[hidden],.rm-collapse[hidden],.rm-empty[hidden],.rm-explorer h2[hidden],.rm-resource-list tbody tr[hidden],.rm-resource-list[hidden]{display:none!important}.rm-explorer h2{position:relative;min-height:3rem;margin:.45rem 0 0!important;scroll-margin-top:10rem;border:1px solid var(--rm-border);border-radius:.75rem}.rm-explorer h2.rm-section-open{border-radius:.75rem .75rem 0 0}.rm-section-toggle{display:grid;width:100%;min-height:3rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.6rem .9rem;color:inherit;text-align:left;background:0 0;border:0;cursor:pointer}.rm-section-toggle:focus-visible,.rm-section-toggle:hover{background:var(--rm-soft)}.rm-section-toggle:focus-visible{outline:2px solid #00b688;outline-offset:2px;border-radius:.7rem}.rm-section-name{font-size:1rem;font-weight:700}.rm-section-count{display:grid;min-width:1.65rem;min-height:1.4rem;place-items:center;padding:3px 6px;color:#08785d;background:rgb(0 182 136/10%);border-radius:.35rem;font-size:12px;font-weight:700;line-height:16px;white-space:nowrap}.dark .rm-section-count{color:#5eead4;background:#12302b}.rm-section-caret{width:.5rem;height:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-.15rem)}.rm-section-toggle[aria-expanded=true] .rm-section-caret{transform:rotate(225deg) translate(-.1rem,-.05rem)}@media (max-width:767px){#resource-map-toolbar{position:static;top:auto;z-index:auto;margin-top:1rem;padding-top:.6rem}.rm-controls{grid-template-columns:minmax(0,1fr) auto}.rm-search{grid-column:1/-1}.rm-search input{padding-right:.75rem}.rm-resource-list thead,.rm-shortcut{display:none}.rm-area-select,.rm-area-wrap{width:100%;max-width:none}.rm-resource-list [data-component-part=accordion-title]{gap:.65rem}.rm-method-count{font-size:.7rem}.rm-resource-list table,.rm-resource-list tbody{display:block;width:100%;min-width:0!important}.rm-resource-list tbody tr{display:grid;width:100%;grid-template-columns:minmax(0,1fr);gap:.45rem;padding:.75rem 0}.rm-resource-list tbody tr+tr{border-top:1px solid var(--rm-border)}.rm-resource-list tbody td{display:grid;width:100%;min-width:0!important;grid-template-columns:4.5rem minmax(0,1fr);align-items:start;gap:.5rem;padding:0!important;border:0!important}.rm-resource-list tbody td::before{color:var(--rm-muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.rm-resource-list tbody td:first-child::before{content:\"Method\"}.rm-resource-list tbody td:last-child::before{content:\"Endpoint\"}.rm-resource-list tbody td a,.rm-resource-list tbody td code{min-width:0;white-space:normal!important;overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){.rm-explorer *,.rm-explorer ::after,.rm-explorer ::before{scroll-behavior:auto!important;transition-duration:.01ms!important}}.sdk-launchpad{--sdk-border:#d8e1de;--sdk-panel:#ffffff;margin:1rem 0 1.5rem;padding:1rem;overflow:hidden;color:inherit;background:var(--sdk-panel);border:1px solid var(--sdk-border);border-radius:12px}.dark .sdk-launchpad{--sdk-border:#293431;--sdk-panel:#101513}.sdk-launchpad-kicker{margin:0 0 .25rem!important;color:#08785d;font-size:.68rem;font-weight:800;letter-spacing:.1em}.dark .sdk-launchpad-kicker{color:#5eead4}.sdk-launchpad>h2{margin-top:.25rem}.sdk-launchpad [role=tablist]{display:flex;flex-wrap:wrap;gap:.25rem}.sdk-launchpad [role=tab]{min-width:56px;min-height:44px}.sdk-launchpad [role=tab][aria-selected=true]{color:#08785d!important}.dark .sdk-launchpad [role=tab][aria-selected=true]{color:#5eead4!important}.sdk-launchpad [role=tab]:focus-visible,.sdk-launchpad a:focus-visible,.sdk-launchpad-code:focus-visible{outline:2px solid #08785d;outline-offset:2px}.dark .sdk-launchpad [role=tab]:focus-visible,.dark .sdk-launchpad a:focus-visible,.dark .sdk-launchpad-code:focus-visible{outline-color:#5eead4}.sdk-launchpad-code{max-width:100%;overflow-x:auto;border-radius:.5rem}.sdk-launchpad-code pre{max-width:none;overflow-x:visible!important}.sdk-launchpad-code button{min-width:44px;min-height:44px}#content-area:has(#sdk-launchpad) .chat-assistant-floating-input{display:none}@media (max-width:640px){.sdk-launchpad{margin-top:.75rem;padding:.75rem}.sdk-launchpad-kicker{display:none}.sdk-launchpad [role=tablist]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.2rem;overflow:visible}.sdk-launchpad [role=tab]{min-width:0;min-height:44px;padding-inline:.2rem;font-size:.75rem;line-height:1.15;white-space:nowrap}}.sdk-directory li{margin-block:.5rem}.mdx-content table td{min-width:0!important}.mdx-content table td :is(code, a){overflow-wrap:anywhere}.mdx-content table :is(th, td):first-child code{white-space:nowrap;word-break:normal;overflow-wrap:normal}@media (min-width:768px){.tx-table-grid table{table-layout:fixed}.tx-table-grid table :is(th, td):first-child{width:40%}}.tx-retirement-banner{margin-bottom:1.5rem}.tx-retirement-banner>div{margin:0}@media (min-width:1024px){.tx-retirement-banner{position:sticky;top:calc(6rem + var(--banner-height, 0px));z-index:20;padding-top:.5rem;background:rgb(var(--background-light, 255 255 255))}.dark .tx-retirement-banner{background:rgb(var(--background-dark, 9 12 14))}}#content>.callout:first-child{margin-top:0}#content strong{font-weight:600}"}],"page":{"pagePath":"docs/cloud-storage/sdk/python","slug":"/docs/cloud-storage/sdk/python","pageMetadata":{"type":"page","title":"AWS Python SDK Example","sidebarTitle":"Python","description":"Use boto3 (AWS SDK for Python) with Telnyx Cloud Storage. Configure the S3-compatible endpoint and upload, download, and list objects from Python apps.","href":"/docs/cloud-storage/sdk/python/index"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Use boto3 (AWS SDK for Python) with Telnyx Cloud Storage. Configure the S3-compatible endpoint and upload, download, and list objects from Python apps.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{Callout,CodeBlock}=_components;if(!Callout)_missingMdxReference(`Callout`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);return _jsxs(_Fragment,{children:[_jsx(Callout,{type:`warning`,children:_jsxs(_components.p,{children:[`Recent boto3 versions (1.36+) work against Cloud Storage with default checksum settings. If you hit a checksum error, disable checksum calculation and verification with the `,_jsx(_components.code,{children:`Config`}),` shown below.`]})}),`\n`,_jsx(_components.p,{children:`The following example shows how AWS Python SDK can be used to interact with Telnyx Cloud Storage.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`63`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`63`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requests`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` botocore.config `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Config`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` boto3`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:\"# Only perform CRC checks `when_required`\"})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`config `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Config(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` request_checksum_calculation`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"when_required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` response_checksum_validation`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"when_required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`telnyx_api_key `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os.getenv(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"TELNYX_API_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` not`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` telnyx_api_key:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`\tprint`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"TELNYX_API_KEY environment variable not set\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`\texit`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 1. Initialize the AWS client with specific options`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` boto3.client(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\t\"s3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`\tendpoint_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://us-central-1.telnyxcloudstorage.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`\taws_access_key_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`telnyx_api_key,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`\taws_secret_access_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`telnyx_api_key,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`\tconfig`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`config`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 2. Create a bucket`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`bucket_name `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"my-test-bucket-`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`uuid.uuid4()`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client.create_bucket(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Bucket`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`bucket_name)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 3. Upload two objects with random data`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` i `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` range`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`):`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\tname `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"my-test-object-`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`i`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\tbody `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Telnyx Cloud Storage `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`i`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\tclient.put_object(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Bucket`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`bucket_name, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`name, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Body`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`body)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 4. List objects in the bucket`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` obj `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.list_objects(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Bucket`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`bucket_name)[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Contents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`\tprint`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(obj[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`])`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 5. Download the first object`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.get_object(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Bucket`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`bucket_name, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"my-test-object-0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(result[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Body\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`].read())`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 6. Create a presigned URL for the first file`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requests.post(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`\tf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.telnyx.com/v2/storage/buckets/`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`bucket_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/my-test-object-0/presigned_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`\tjson`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ttl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`\theaders`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Authorization\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bearer `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`telnyx_api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`body `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` response.json()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(body)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 7. Download the file using the presigned URL`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requests.get(body[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`][`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"presigned_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`])`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(response.text)`})]}),`\n`]})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"type":"page","title":"AWS Python SDK Example","sidebarTitle":"Python","description":"Use boto3 (AWS SDK for Python) with Telnyx Cloud Storage. Configure the S3-compatible endpoint and upload, download, and list objects from Python apps.","href":"/docs/cloud-storage/sdk/python/index"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/telnyx/a2dd5aaa2ff5831a/reading-progress.js","/_mintlify/custom/telnyx/7b77ce9cedb163fd/webmcp-init.js","/_mintlify/custom/telnyx/7fbfee588ac7ad38/structured-data.js","/_mintlify/custom/telnyx/84283928b1e31919/scripts/tests/generate-llms-txt.test.js","/_mintlify/custom/telnyx/8851ad5fd6e9b5c7/scripts/tests/direct-source-workflows.test.js","/_mintlify/custom/telnyx/7ad13bb6588be22f/scripts/tests/redirects.test.js","/_mintlify/custom/telnyx/f981035eb45fcbdb/scripts/tests/generate-error-catalog.test.js","/_mintlify/custom/telnyx/132bc205f55282a5/scripts/tests/sync-llms-automerge.test.js","/_mintlify/custom/telnyx/05e787f15f45952b/scripts/tests/webhook-catalog-lifecycle.test.js","/_mintlify/custom/telnyx/01b840b27496e6c8/scripts/tests/repository-structure.test.js","/_mintlify/custom/telnyx/5ebc7d6e18012563/scripts/tests/legacy-content-usage.test.js","/_mintlify/custom/telnyx/ac1f21e68bf4050a/scripts/docs/check-llms-links.js","/_mintlify/custom/telnyx/5f7d2f1ae375b9ad/scripts/docs/check-llms-native-routes.js","/_mintlify/custom/telnyx/b8d13287c2dcc5b9/scripts/docs/fetch-coverage.js","/_mintlify/custom/telnyx/e0a29f76f2645359/scripts/docs/generate-error-catalog.js","/_mintlify/custom/telnyx/0bc5eef76b84f366/scripts/docs/generate-llms-txt.js","/_mintlify/custom/telnyx/f1f111fe784c3ede/scripts/docs/update-tts-voices.js","/_mintlify/custom/telnyx/c2dca47194e47168/scripts/docs/build-sdk-doc-pages.js","/_mintlify/custom/telnyx/f840117777d76f9e/scripts/tests/sdk-doc-pages.test.js","/_mintlify/custom/telnyx/414c53c50b0e1968/resource-map-filter.js","/_mintlify/custom/telnyx/80af622b3010a712/scripts/tests/sdk-language-switcher.test.js","/_mintlify/custom/telnyx/52fa0fbcb966f8b6/sdk-language-switcher.js","/_mintlify/custom/telnyx/a8c4ad94eeedc2c8/home-directory.js","/_mintlify/custom/telnyx/da7a630a1adf8a7a/scripts/generate-home-directory.js","/_mintlify/custom/telnyx/137e3eb8e1d1d85a/scripts/tests/api-fundamentals.test.js","/_mintlify/custom/telnyx/24a8eed3a5010d4c/scripts/tests/agent-sdk-workflow.test.js","/_mintlify/custom/telnyx/9797dbea7468c103/scripts/tests/homepage-overview.test.js","/_mintlify/custom/telnyx/8edf49ac62deef02/scripts/tests/batch-detail-records-navigation.test.js","/_mintlify/custom/telnyx/e005178572336f01/scripts/tests/api-discoverability.test.js","/_mintlify/custom/telnyx/78cb83896fbea5cf/scripts/tests/home-directory.test.js","/_mintlify/custom/telnyx/11ae45253e6b7be6/scripts/tests/agent-readiness.test.js","/_mintlify/custom/telnyx/82396d5a75077c2a/scripts/tests/sample-workflow-regressions.test.js","/_mintlify/custom/telnyx/5f6625c0420c9328/scripts/tests/openapi-mintlify-parsing.test.js","/_mintlify/custom/telnyx/c7dca602ca9641ec/scripts/tests/llms-markdown-assets.test.js","/_mintlify/custom/telnyx/02d6acd7c86b79f9/scripts/tests/agent-browser-quickstart.test.js"],"subdomain":"telnyx","siteName":"Telnyx","title":"AWS Python SDK Example - Telnyx","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-04T14:11:23.834Z","originalFileLocation":"docs/cloud-storage/sdk/python/index.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Use boto3 (AWS SDK for Python) with Telnyx Cloud Storage. Configure the S3-compatible endpoint and upload, download, and list objects from Python apps.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Telnyx\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"AWS Python SDK Example - Telnyx\">\u003cmeta data-mint-head property=\"og:description\" content=\"Infrastructure for real-time agents. Voice, AI, Edge Compute\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Telnyx\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.telnyx.com/docs/cloud-storage/sdk/python\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://telnyx.mintlify.app/_mintlify/api/og/v2?division=SDK+Examples\u0026amp;title=AWS+Python+SDK+Example\u0026amp;description=Use+boto3+%28AWS+SDK+for+Python%29+with+Telnyx+Cloud+Storage.+Configure+the+S3-compatible+endpoint+and+upload%2C+download%2C+and+list+objects+from+Python+apps.\u0026amp;theme=0dd46d2166d1a00e34819206\u0026amp;signature=d602f102bab60a316e3b3de86bda609d822107b034978f27df6656ba28fb3105\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"AWS Python SDK Example - Telnyx\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Infrastructure for real-time agents. Voice, AI, Edge Compute\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://telnyx.mintlify.app/_mintlify/api/og/v2?division=SDK+Examples\u0026amp;title=AWS+Python+SDK+Example\u0026amp;description=Use+boto3+%28AWS+SDK+for+Python%29+with+Telnyx+Cloud+Storage.+Configure+the+S3-compatible+endpoint+and+upload%2C+download%2C+and+list+objects+from+Python+apps.\u0026amp;theme=0dd46d2166d1a00e34819206\u0026amp;signature=d602f102bab60a316e3b3de86bda609d822107b034978f27df6656ba28fb3105\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Telnyx\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00B688\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.telnyx.com/docs/cloud-storage/sdk/python\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/cloud-storage/sdk/python.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://telnyx.com/#organization\",\"name\":\"Telnyx\",\"url\":\"https://telnyx.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://telnyx.com/favicon.ico\"},\"sameAs\":[\"https://x.com/telnyx\",\"https://www.linkedin.com/company/telnyx/\",\"https://github.com/team-telnyx\"]},{\"@type\":\"WebSite\",\"@id\":\"https://developers.telnyx.com#website\",\"name\":\"Telnyx\",\"url\":\"https://developers.telnyx.com\",\"publisher\":{\"@id\":\"https://telnyx.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.telnyx.com/docs/cloud-storage/sdk/python#webpage\",\"url\":\"https://developers.telnyx.com/docs/cloud-storage/sdk/python\",\"name\":\"AWS Python SDK Example\",\"description\":\"Use boto3 (AWS SDK for Python) with Telnyx Cloud Storage. Configure the S3-compatible endpoint and upload, download, and list objects from Python apps.\",\"dateModified\":\"2026-07-04T14:11:23.834Z\",\"isPartOf\":{\"@id\":\"https://developers.telnyx.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.telnyx.com/docs/cloud-storage/sdk/python#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.telnyx.com/docs/cloud-storage/sdk/python#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Access via S3 API\",\"item\":\"https://developers.telnyx.com/docs/cloud-storage/sdk/node/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SDK Examples\",\"item\":\"https://developers.telnyx.com/docs/cloud-storage/sdk/node/index\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"AWS Python SDK Example\",\"item\":\"https://developers.telnyx.com/docs/cloud-storage/sdk/python\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.telnyx.com/docs/cloud-storage/sdk/python#article\",\"headline\":\"AWS Python SDK Example\",\"name\":\"AWS Python SDK Example\",\"description\":\"Use boto3 (AWS SDK for Python) with Telnyx Cloud Storage. Configure the S3-compatible endpoint and upload, download, and list objects from Python apps.\",\"url\":\"https://developers.telnyx.com/docs/cloud-storage/sdk/python\",\"mainEntityOfPage\":{\"@id\":\"https://developers.telnyx.com/docs/cloud-storage/sdk/python#webpage\"},\"dateModified\":\"2026-07-04T14:11:23.834Z\",\"publisher\":{\"@id\":\"https://telnyx.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.telnyx.com#website\"}}]}\u003c/script>","siteName":"Telnyx","nav":{"global":{"anchors":[{"anchor":"Home","icon":"house","href":"/docs/overview"}]},"products":[{"product":"Home","icon":"house","pages":[{"title":"Home","href":"/docs/overview"}]},{"product":"Other APIs","icon":"ellipsis","pages":[{"title":"Other APIs","href":"/docs/other-apis"}]},{"product":"Agent Platform","icon":"circle-nodes","pages":[{"title":"Agent Platform","href":"/docs/agents"}]},{"product":"AI","icon":"microchip-ai","pages":[{"title":"AI","href":"/docs/inference/models"}]},{"product":"Voice","icon":"waveform","pages":[{"title":"Voice","href":"/docs/voice/overview"}]},{"product":"Compute","icon":"server","pages":[{"title":"Compute","href":"/docs/edge-compute/platform-overview"}]},{"product":"Storage","icon":"hard-drive","tabs":[{"tab":"Object Storage","icon":"database","groups":[{"group":"Overview","pages":[{"title":"Object Storage","sidebarTitle":"Overview","href":"/docs/cloud-storage/overview"}]},{"group":"Get Started","pages":[{"title":"Cloud Storage quick start","sidebarTitle":"Quick Start Guide","href":"/docs/cloud-storage/quick-start/index"}]},{"group":"Concepts","pages":[{"title":"API Endpoints and Organization","sidebarTitle":"API Endpoints \u0026 Organization","href":"/docs/cloud-storage/api-endpoints/index"},{"title":"Cloud Storage authentication","sidebarTitle":"Authentication","href":"/docs/cloud-storage/authentication/index"},{"title":"Bucket Addressing","sidebarTitle":"Bucket Addressing","href":"/docs/cloud-storage/bucket-addressing/index"}]},{"group":"Access via S3 API","pages":[{"group":"SDK Examples","pages":[{"title":"AWS Node.js SDK Example","sidebarTitle":"Node.js","description":"Use the AWS SDK for Node.js with Telnyx Cloud Storage. Configure the S3-compatible endpoint and upload, download, and list objects from JavaScript apps.","href":"/docs/cloud-storage/sdk/node/index"},{"title":"AWS Python SDK Example","sidebarTitle":"Python","href":"/docs/cloud-storage/sdk/python/index"},{"title":"AWS Java SDK Example","sidebarTitle":"Java","description":"Use the AWS SDK for Java with Telnyx Cloud Storage. Configure the S3-compatible endpoint and upload, download, and list objects from Java applications.","href":"/docs/cloud-storage/sdk/java/index"},{"title":"AWS Golang SDK Example","sidebarTitle":"Go","href":"/docs/cloud-storage/sdk/golang/index"},{"title":"AWS Ruby SDK Example","sidebarTitle":"Ruby","href":"/docs/cloud-storage/sdk/ruby/index"},{"title":"AWS PHP SDK Example","sidebarTitle":"PHP","href":"/docs/cloud-storage/sdk/php/index"},{"title":"AWS .Net SDK Example","sidebarTitle":".NET","href":"/docs/cloud-storage/sdk/dotnet/index"},{"title":"AWS Elixir SDK Example","sidebarTitle":"Elixir","href":"/docs/cloud-storage/sdk/elixir/index"}]},{"title":"Third Party S3 Compatible Applications","sidebarTitle":"Third Party Applications","href":"/docs/cloud-storage/third-party/index"}]},{"group":"Access from Edge Compute","pages":[{"title":"Use a bucket from an Edge Function","sidebarTitle":"Edge Function Binding","href":"/docs/cloud-storage/bindings/index"},{"title":"CloudStorageBucket","sidebarTitle":"Binding API Reference","href":"/docs/cloud-storage/bindings/reference/index"}]},{"group":"Features","pages":[{"title":"Multipart Upload","sidebarTitle":"Multipart Upload","href":"/docs/cloud-storage/multipart-upload/index"},{"title":"Presigned URLs","sidebarTitle":"Presigned URLs","href":"/docs/cloud-storage/presigned-urls/index"},{"title":"Object Encryption","sidebarTitle":"Object Encryption","href":"/docs/cloud-storage/object-encryption/index"},{"title":"Making Bucket Public","sidebarTitle":"Public Buckets","href":"/docs/cloud-storage/public-buckets/index"},{"title":"HTTPS with Custom Domain","sidebarTitle":"HTTPS with Custom Domain","href":"/docs/cloud-storage/ssl-certificates/index"},{"title":"Object Lock \u0026 Retention","sidebarTitle":"Data Protection \u0026 Retention","href":"/docs/cloud-storage/lock-and-retention/index"},{"title":"Emptying Buckets","sidebarTitle":"Emptying Buckets","href":"/docs/cloud-storage/emptying-bucket/index"}]},{"group":"Compatibility \u0026 Migration","pages":[{"title":"Compatibility with AWS S3","sidebarTitle":"AWS S3 Compatibility","href":"/docs/cloud-storage/aws-s3-compatibility/index"},{"title":"Compatibility Matrix","sidebarTitle":"Compatibility Matrix","href":"/docs/cloud-storage/supported/index"},{"title":"Migrating from S3","sidebarTitle":"Migration from AWS S3","href":"/docs/cloud-storage/migrating-from-aws/index"}]},{"group":"Platform","pages":[{"title":"Cloud Storage limits and quotas","sidebarTitle":"Limits \u0026 Quotas","href":"/docs/cloud-storage/limits/index"},{"title":"Billing","sidebarTitle":"Billing \u0026 Pricing","href":"/docs/cloud-storage/billing/index"},{"title":"Performance Benchmarks","sidebarTitle":"Performance Benchmarks","href":"/docs/cloud-storage/performance-benchmarks/index"}]},{"group":"API Reference (S3-Compatible)","pages":[{"group":"Bucket Operations","expanded":false,"pages":[{"title":"Create bucket","href":"/docs/cloud-storage/api-reference/bucket-operations/create-bucket/index"},{"title":"Delete bucket","href":"/docs/cloud-storage/api-reference/bucket-operations/delete-bucket/index"},{"title":"Delete bucket CORS","href":"/docs/cloud-storage/api-reference/bucket-operations/delete-bucket-cors/index"},{"title":"Delete bucket lifecycle","href":"/docs/cloud-storage/api-reference/bucket-operations/delete-bucket-lifecycle/index"},{"title":"Delete bucket policy","href":"/docs/cloud-storage/api-reference/bucket-operations/delete-bucket-policy/index"},{"title":"Delete bucket tagging","href":"/docs/cloud-storage/api-reference/bucket-operations/delete-bucket-tagging/index"},{"title":"Get bucket ACL","href":"/docs/cloud-storage/api-reference/bucket-operations/get-bucket-acl/index"},{"title":"Get bucket CORS","href":"/docs/cloud-storage/api-reference/bucket-operations/get-bucket-cors/index"},{"title":"Get bucket lifecycle configuration","href":"/docs/cloud-storage/api-reference/bucket-operations/get-bucket-lifecycle-configuration/index"},{"title":"Get bucket location","href":"/docs/cloud-storage/api-reference/bucket-operations/get-bucket-location/index"},{"title":"Get bucket policy","href":"/docs/cloud-storage/api-reference/bucket-operations/get-bucket-policy/index"},{"title":"Get bucket policy status","href":"/docs/cloud-storage/api-reference/bucket-operations/get-bucket-policy-status/index"},{"title":"Get bucket tagging","href":"/docs/cloud-storage/api-reference/bucket-operations/get-bucket-tagging/index"},{"title":"Get bucket versioning","href":"/docs/cloud-storage/api-reference/bucket-operations/get-bucket-versioning/index"},{"title":"Head bucket","href":"/docs/cloud-storage/api-reference/bucket-operations/head-bucket/index"},{"title":"List buckets","href":"/docs/cloud-storage/api-reference/bucket-operations/list-bucket/index"},{"title":"Put bucket ACL","href":"/docs/cloud-storage/api-reference/bucket-operations/put-bucket-acl/index"},{"title":"Put bucket CORS","href":"/docs/cloud-storage/api-reference/bucket-operations/put-bucket-cors/index"},{"title":"Put bucket lifecycle configuration","href":"/docs/cloud-storage/api-reference/bucket-operations/put-bucket-life-cycle-configuration/index"},{"title":"Put bucket policy","href":"/docs/cloud-storage/api-reference/bucket-operations/put-bucket-policy/index"},{"title":"Put bucket tagging","href":"/docs/cloud-storage/api-reference/bucket-operations/put-bucket-tagging/index"},{"title":"Put bucket versioning","href":"/docs/cloud-storage/api-reference/bucket-operations/put-bucket-versioning/index"}]},{"group":"Object Operations","expanded":false,"pages":[{"title":"Delete object","href":"/docs/cloud-storage/api-reference/object-operations/delete-object/index"},{"title":"Delete object tagging","href":"/docs/cloud-storage/api-reference/object-operations/delete-object-tagging/index"},{"title":"Delete objects","href":"/docs/cloud-storage/api-reference/object-operations/delete-objects/index"},{"title":"Get object","href":"/docs/cloud-storage/api-reference/object-operations/get-object/index"},{"title":"Get object ACL","href":"/docs/cloud-storage/api-reference/object-operations/get-object-acl/index"},{"title":"Get object tagging","href":"/docs/cloud-storage/api-reference/object-operations/get-object-tagging/index"},{"title":"Head object","href":"/docs/cloud-storage/api-reference/object-operations/head-object/index"},{"title":"List object versions","href":"/docs/cloud-storage/api-reference/object-operations/list-object-versions/index"},{"title":"List objects","href":"/docs/cloud-storage/api-reference/object-operations/list-objects/index"},{"title":"Put object","href":"/docs/cloud-storage/api-reference/object-operations/put-object/index"},{"title":"Put object ACL","href":"/docs/cloud-storage/api-reference/object-operations/put-object-acl/index"},{"title":"Put object tagging","href":"/docs/cloud-storage/api-reference/object-operations/put-object-tagging/index"}]},{"group":"Multipart Operations","expanded":false,"pages":[{"title":"Abort multipart upload","href":"/docs/cloud-storage/api-reference/multipart-operations/abort-multipart-upload/index"},{"title":"Complete multipart upload","href":"/docs/cloud-storage/api-reference/multipart-operations/complete-multipart-upload/index"},{"title":"Create multipart upload","href":"/docs/cloud-storage/api-reference/multipart-operations/create-multipart-upload/index"},{"title":"List multipart uploads","href":"/docs/cloud-storage/api-reference/multipart-operations/list-multipart-uploads/index"},{"title":"Upload parts","href":"/docs/cloud-storage/api-reference/multipart-operations/upload-part/index"},{"title":"List parts","href":"/docs/cloud-storage/api-reference/multipart-operations/list-parts/index"}]}]},{"group":"API Reference (JSON Companion)","pages":[{"group":"Presigned Object URLs API","pages":[{"title":"Create Presigned Object URL","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json post /storage/buckets/{bucketName}/{objectName}/presigned_url","href":"/api-reference/presigned-object-urls/create-presigned-object-url"}]},{"group":"Bucket SSL Certificate API","pages":[{"title":"Remove SSL Certificate","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json delete /storage/buckets/{bucketName}/ssl_certificate","href":"/api-reference/bucket-ssl-certificate/remove-ssl-certificate"},{"title":"Get Bucket SSL Certificate","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json get /storage/buckets/{bucketName}/ssl_certificate","href":"/api-reference/bucket-ssl-certificate/get-bucket-ssl-certificate"},{"title":"Add SSL Certificate","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json put /storage/buckets/{bucketName}/ssl_certificate","href":"/api-reference/bucket-ssl-certificate/add-ssl-certificate"}]},{"group":"Bucket Usage API","pages":[{"title":"Get API Usage","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json get /storage/buckets/{bucketName}/usage/api","href":"/api-reference/bucket-usage/get-api-usage"},{"title":"Get Bucket Usage","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json get /storage/buckets/{bucketName}/usage/storage","href":"/api-reference/bucket-usage/get-bucket-usage"}]},{"group":"Data Migration API","pages":[{"title":"List Migration Source coverage","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json get /storage/migration_source_coverage","href":"/api-reference/data-migration/list-migration-source-coverage"},{"title":"List all Migration Sources","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json get /storage/migration_sources","href":"/api-reference/data-migration/list-all-migration-sources"},{"title":"Create a Migration Source","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json post /storage/migration_sources","href":"/api-reference/data-migration/create-a-migration-source"},{"title":"Delete a Migration Source","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json delete /storage/migration_sources/{id}","href":"/api-reference/data-migration/delete-a-migration-source"},{"title":"Get a Migration Source","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json get /storage/migration_sources/{id}","href":"/api-reference/data-migration/get-a-migration-source"},{"title":"List all Migrations","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json get /storage/migrations","href":"/api-reference/data-migration/list-all-migrations"},{"title":"Create a Migration","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json post /storage/migrations","href":"/api-reference/data-migration/create-a-migration"},{"title":"Get a Migration","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json get /storage/migrations/{id}","href":"/api-reference/data-migration/get-a-migration"},{"title":"Stop a Migration","deprecated":false,"version":null,"openapi":"/openapi/source/external/cloud-storage-companion/cloud-storage-companion.json post /storage/migrations/{id}/actions/stop","href":"/api-reference/data-migration/stop-a-migration"}]}]},{"group":"For AI Agents","pages":[{"title":"Object Storage llms.txt","sidebarTitle":"Object Storage llms txt","href":"/docs/development/llms/storage-object-storage-llms-txt/index"},{"title":"Object Storage llms-full.txt","sidebarTitle":"Object Storage llms full txt","href":"/docs/development/llms/storage-object-storage-llms-full-txt/index"}]}]},{"tab":"KV","icon":"key","pages":[{"title":"KV","href":"/docs/edge-compute/kv"}]},{"tab":"SQL","icon":"table","pages":[{"title":"SQL","href":"/docs/edge-compute/sqldb"}]},{"tab":"CloudFS","icon":"folder-tree","pages":[{"title":"CloudFS","href":"/docs/edge-compute/cloudfs"}]}]},{"product":"Virtual Private Cloud","icon":"cloud","pages":[{"title":"Virtual Private Cloud","href":"/docs/network/overview"}]},{"product":"Calling","icon":"phone","pages":[{"title":"Calling","href":"/docs/voice/programmable-voice/voice-api-fundamentals"}]},{"product":"Messaging","icon":"message","pages":[{"title":"Messaging","href":"/docs/messaging/messages/send-message"}]},{"product":"Numbers","icon":"hashtag","pages":[{"title":"Numbers","href":"/docs/numbers/phone-numbers/getting-started"}]},{"product":"Wireless","icon":"broadcast-tower","pages":[{"title":"Wireless","href":"/docs/iot-sim/wireless-overview"}]}]},"title":"AWS Python SDK Example - Telnyx","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["10e4515597"],"chunks":["BannerMarkdown-B-Glu166.js","dist-zbf22OZA.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-Cs6nMGht.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}