We’re excited to announce that a major feature for Video Recordings is now generally available:
- External Storage with AWS S3: Customers can configure the Recording service to push Recordings or Compositions directly to their AWS S3 Bucket of choice.
By default, the media capture pipeline with the Recordings service was stored in AWS S3 within the Twilio Cloud. Now, builders can request to turn on the external storage and instead store the media recording in the AWS S3 bucket designated by them. With this new media storage pipeline feature, the builders only need to call the new APIs to start the media capture and no longer need to worry about extra developments.
How does External AWS S3 Storage work?
By default, Recordings and Compositions are stored within the Twilio Cloud. With this new feature, developers can define their preferred AWS S3 bucket for their Video Recordings or Compositions files. Files are then automatically sent to the specified AWS S3 Storage. This feature can be accessed and configured either using the API or via the Twilio Console.
Twilio Programmable Video Data Flows illustrating how Recordings and Compositions are created and stored depending on the different developer choices.
Ease of use
With this release, Twilio is providing more tools for developers to have the flexibility they need around the Recordings and Compositions. If a builder enables this feature, they will be able to automatically store, in their AWS S3 of choice, the Recordings or Compositions.
Previously, builders of Recordings and Compositions had to follow these steps in order to save the media to their AWS S3 bucket of choice:
- Request a Recording or Composition.
- Acknowledge the callback.
- Request the
/Media
. - Download it and upload to your AWS S3 bucket of choice.
If a developer enables External Storage, it simplifies the workflow to the following:
- Request a Recording or Composition.
- Acknowledge the callback. The media is already stored in the AWS S3 of your choice.
How to set up External Storage
To start using External Storage, you can find a detailed description in this tutorial. Quick overview:
Preparing your AWS account
- Step 1: Create an AWS S3 bucket and obtain its URL
- Step 2: Create an IAM user and get its credentials
Configuring your Twilio Account
- Step 3: Configure Twilio with the AWS Credentials you created
- Step 4: Configure Twilio to store into the AWS S3 bucket
Known limitations
Recordings and Compositions have separate S3 storage settings. This means that S3 storage can be activated independently. However, composing Recordings requires access to their media, which is not available if they are in an external S3 bucket. As a result:
If you store your Recordings in S3, you will not be able to compose them.
If you need to compose your Recordings, you must store them in Twilio's cloud. However, those Recordings are only needed temporarily — as soon as the Composition is created, they can be deleted permanently and irrevocably using Twilio's Video Recordings API.
Pricing
External AWS S3 Storage was previously exclusive to Twilio Editions. This change makes the External Storage feature available for free for all customers.
With this new addition, developers now have the flexibility to create a recording storage workflow that matches their specific use case and regulatory needs. If you have questions or ideas on how we can improve our recording service, do not hesitate to contact us.
We can’t wait to see what you build!