An online markdown blog and knowledge repository.
Intro to Amazon S3 and S3 with Amplify.
Intro to Amazon S3
About S3 with Amplify
S3 => Simple Storage Service
Object Storage.
Scalable, Available, Secure storage, and performance.
Used for:
Archival storage with Glacier.
Random-access and storage data can be stored in S3 Intelligent Tiering - 4 Tiers of access dynamically changed to get best performance.
By default, S3 Buckets are 'private'.
Automated and Manual Monitoring Tools with server access logging and AWS Trusted Advisor.
Storage Lens, Class Analysis, and Inventory tools.
PUT and DELETE requests data integrity in all Buckets in all S3 Regions.
Object Storage Service, stored data in generic Buckets. Also stores metadata.
To use:
Objects have Keys: Unique IDs for each object in the Buckets.
Versioning allows retaining multiple object versions in same bucket.
Buckets and Objects start out private. Permissions to access can be granted through:
Unlimited objects per bucket.
Limit 100 Buckets per account (Service Quota setting - can request more).
Access buckets using https protocol URIs.
Fundamental entities.
Metadata is name-value pairs of info about the Objects, and includes Content-Type, modified, and other standard HTTP info.
AKA Key Name.
Unique within a Bucket.
Object ID is derived from: Bucket, Object Key, optional Version ID, creating a data.
Existing Objects will have version=null
when Versioning added; new Objects will get new versioning scheme IDs.
IAM policies.
Bucket Owners can associate policies with buckets.
Policies are JSON-based (standard across AWS!).
Wildcards are allowed in Bucket Policies.
Named network endpoints.
Access Policies allow/deny endpoint access.
Endpoints are attached to buckets for GetObject and PutObject operations.
Access Points can be associated with a specific Virtual Private Cloud (VPC).
Read and Write permissions to Buckets and Objects.
Older than IAM.
Object Writers become Object Owners, by default.
ACLs are going out of style so it is safe to disable them when starting a new Bucket.
Select a region for Bucket(s) based on:
Region-bound Objects "never leave the Region unless...explicitly transferred..."
Read-after-Write model for PUT and DELETE requests.
Single-key updates are atomic.
All data is replicated within AWS datacenters so when you query or mutate, you cannot know which version your operation is working with, but at least the operation will be atomic and not result in corruption.
Think of it this way: There will always be a slight delay as changes take a few moments to propagate through the system.
S3 Buckets can be accessed by other AWS services:
AWS Management Console: web-based.
AWS CLI: Teletype or script-based operations on S3 tasks.
AWS SDKs: Libraries and sample code (Java, Python, Ruby, .NET, iOS, Android, etc), supporting programmatic access to AWS services.
S3 REST API: Store and Retrive objects via this HTTP interface. Use any toolkit that support HTTP. Supports headers to additional functionality including authorization. Signatures are required for all requests.
Compliant with credit-card processing requirements and standards.
Getting Started:
amplify add storage
and respond to the list of questions.amplify push
.implementation 'com.amplifyframework:aws-storage-s3:1.36.1' implementation 'com.amplifyframework:aws-auth-cognito:1.26.1'
Amplify.addPlugin()
for each category in your App entrypoint.Return to Root README