Understanding Object Storage and Working with It in Elixir

347
clicks
Understanding Object Storage and Working with It in Elixir

Source: underjord.io

Type: Post

The author shares insights into the transition from conventional storage systems to object storage, highlighting how AWS and its S3 service popularized this form of cloud storage. The article explores the fundamental operations of object storage such as 'put', 'get', 'list', and 'delete', emphasizing its service-oriented nature and resemblance to a NoSQL database with key-value pairs. The article goes on to illustrate how to interface with object storage using Elixir, specifically through code snippets using libraries like :ex_aws_s3. It covers configuration, bucket creation, and uploading, downloading, and deleting objects. In terms of scaling, the article showcases an example of utilizing parallel processing with `Task.async_stream/2` in Elixir. Additionally, more advanced concepts like presigned URLs for client-side uploading and downloading, streaming uploads, and range requests are discussed. Lastly, the article touches on the ubiquity of the S3 API among various object storage services and contemplates whether its status as a standard is due to its excellence or merely adequacy and compatibility with client requirements.

© HashMerge 2024