Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Amazon S3 NYJavaSIG 2024-12-12
Search
sullis
December 12, 2024
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon S3 NYJavaSIG 2024-12-12
Amazon S3
NYJavaSIG
New York, NY
sullis
December 12, 2024
More Decks by sullis
See All by sullis
Dependency Management for Java - Code Remix Summit 2026-05-12
sullis
0
87
AI Assisted Software Development - Portland Java User Group - 2026-04-14
sullis
0
95
Dependency Management for Java - Seattle 2025-11-18
sullis
0
66
Dependency Management for Java - Portland - 2025-11-04
sullis
0
46
Dependency management for Java applications 2025-09-11
sullis
0
64
S3 NYC Iceberg meetup 2025-07-10
sullis
0
67
Amazon S3 Chicago 2025-06-04
sullis
0
160
Amazon S3 Boston 2025-05-07
sullis
0
130
Netty ConFoo Montreal 2025-02-27
sullis
0
190
Other Decks in Programming
See All in Programming
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
700
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
350
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
2k
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
110
iOSDC2026登壇資料.pdf
riofujimon
0
110
Webの地図
yosuke_furukawa
PRO
6
4.2k
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
450
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
220
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
180
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
530
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
510
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
Joys of Absence: A Defence of Solitary Play
codingconduct
1
510
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
350
Odyssey Design
rkendrick25
PRO
2
800
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
First, design no harm
axbom
PRO
2
1.3k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
A Modern Web Designer's Workflow
chriscoyier
699
190k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Why Our Code Smells
bkeepers
PRO
340
58k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
Transcript
Amazon S3 NYJavaSIG 2024-12-12 Sean Sullivan
AWS Developers
Agenda AWS re:Invent 2024 Amazon S3 AWS SDK Bonus topics
AWS re:Invent 2024 S3 Tables S3 Metadata
AWS re:Invent 2024 fully managed Iceberg tables
AWS re:Invent 2024 “Table buckets”
AWS re:Invent 2024 Iceberg tables as fi rst-class AWS resources
AWS re:Invent 2024
AWS re:Invent 2024 pom.xml
AWS re:Invent 2024 automatic generation of metadata that is captured
when S3 objects are added or modi fi ed stored in fully managed Apache Iceberg tables
Amazon S3 “Simple Storage Service” Launched on March 14, 2006
Amazon S3 S3 is an object storage service with an
HTTP REST API https://www.allthingsdistributed.com/2023/07/building-and-operating-a-pretty-big-storage-system.html
Amazon S3 “There is a frontend fl eet with a
REST API, a namespace service, a storage fl eet that’s full of hard disks, and a fl eet that does background operations.” https://www.allthingsdistributed.com/2023/07/building-and-operating-a-pretty-big-storage-system.html
S3 core concepts Buckets Objects
S3 core concepts An Amazon S3 object represents a fi
le or collection of data Every object must reside within a bucket
S3 bucket types General purpose buckets Directory buckets Table buckets
S3 bucket names an Amazon S3 bucket name is globally
unique the namespace is shared by all AWS accounts
S3 pricing https://aws.amazon.com/s3/pricing/ “You pay for storing objects in your
S3 buckets. The rate you’re charged depends on your objects' size, how long you stored the objects during the month, and the storage class”
S3 storage classes https://aws.amazon.com/s3/storage-classes/ “Amazon S3 o ff ers a
range of storage classes that you can choose from based on the performance, data access, resiliency, and cost requirements of your workloads.”
S3 storage classes https://aws.amazon.com/s3/storage-classes/ Standard Intelligent Tiering Express One Zone
… and many others
Storage class choice matters https://www.youtube.com/watch?v=RxgYNrXPOLw
S3 REST API 3314 pages
S3 operations Upload object List objects Download object Copy Move
Delete
using S3 in a Java application
AWS SDK for Java v1 AWS SDK for Java v2
AWS SDK for Kotlin
AWS SDK for Java v1 https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-java-v1-x-on-december-31-2025/
Open source SDK’s
AWS SDK for Java v2 pom.xml
AWS SDK for Java v2 pom.xml
AWS SDK for Java v2 : HTTP clients Apache Client
Netty Client CRT Client
AWS SDK for Java v2: CRT client pom.xml
CRT @ AWS re:Invent 2024 https://youtu.be/2DSVjJTRsz8?t=833
Di ff erent fl avors of S3 clients Async Sync
how to create an S3 bucket?
Creating an S3 bucket AWS Console UI AWS CLI AWS
SDK CloudFormation AWS CDK Terraform Pulumi Infrastructure as Code Other
CloudFormation
Pulumi
s3-playground https://github.com/sullis/s3-playground
s3-playground https://github.com/sullis/s3-playground
testing S3 locally Localstack MinIO Adobe S3Mock Testcontainers Testcontainers Testcontainers
S3 with MinIO S3MinioTest.java
how to upload an object? PutObjectRequest
how to retrieve an object? GetObjectRequest
how to upload large objects? CreateMultipartUploadRequest
parallel uploads? S3TransferManager
Big Data analytics?
Iceberg @ Net fl ix 2018 June 2018 https://www.youtube.com/watch?v=nWwQMlrjhy0 S3
Apache Iceberg 2024 A table format is a method of
structuring a dataset’s files to present them as a unified “table.”
Apache Iceberg 2024 In a data lake, all your data
is stored as files in some storage solution (e.g. Amazon S3)
AWS re:Invent 2023 Ryan Blue
AWS re:Invent 2023 S3
AWS re:Invent 2023
AWS re:Invent 2023 “Too many small fi les are a
problem”
Apache Iceberg project https://github.com/apache/iceberg
Iceberg pull request https://github.com/apache/iceberg/pull/11349
S3 Conditional Writes https://aws.amazon.com/about-aws/whats-new/2024/08/amazon-s3-conditional-writes/ Conditional writes can ensure there is
no existing object with the same key name in you bucket during PUT operations
S3 bucket permissions https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleCon fi guration.html By default, all Amazon
S3 resources are private, including buckets, objects, and related subresources
S3 performance considerations?
S3 performance https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html "your application can achieve at least 3,500
PUT/COPY/POST/DELETE or 5,500 GET/HEAD requests per second per partitioned Amazon S3 pre fi x”
S3 performance https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html "There are no limits to the number
of pre fi xes in a bucket. You can increase your read or write performance by using parallelization”
S3 performance https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html “While Amazon S3 is scaling to your
new higher request rate, you may see some 503 (Slow Down) errors. These errors will dissipate when the scaling is complete.”
KubeCon November 2024
re:Invent December 2024
The End
Bonus content
AWS re:Invent 2024
AWS re:Invent 2024
AWS re:Invent 2024
AWS re:Invent 2024
AWS re:Invent 2024
AWS re:Invent 2024