Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elixir and AWS Tutorial
Search
Yohei Kawahara
December 22, 2017
0
550
Elixir and AWS Tutorial
12/22 の Fukuoka.ex #4 の LT で話す予定だった資料です。
Yohei Kawahara
December 22, 2017
Tweet
Share
More Decks by Yohei Kawahara
See All by Yohei Kawahara
20191002_CircleCIMeetupFukuoka#2
inokappa
1
820
kix_009_20190429
inokappa
0
820
2019-04-18 CircleCI Meetup Fukuoka #1
inokappa
2
8.1k
開発で使える AWS の API 操作を模倣する (OSS) ツールを探してみた/JAWS-UG Kagoshima Vol.8
inokappa
1
1.2k
隙間時間を使って exercism.io を始め隊 | リモートで勉強会 #2
inokappa
0
420
Congratulations fukuokarb#100
inokappa
0
4k
moto を 'もっと' 使おう/PyFukuoka#4
inokappa
0
4.5k
github-enterprise-user-kai-desuyone
inokappa
0
100
AWS Step Functions で検討する crontabless architecture/20170824_serverless_meetup_fukuoka#1
inokappa
1
750
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
870
It's Worth the Effort
3n
183
28k
Practical Orchestrator
shlominoach
186
10k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Scaling GitHub
holman
459
140k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Transcript
&MJYJSͱ"84 ͱΓ͋͑ͣ4͔Β 2017.12.22 GVLVPLBFY ͔ͬͺ !JOPLBSB
ݪ༸ฏʢ͔ͬͺʣ JSFUגࣜձࣾDMPVEQBDLࣄۀ෦ JOPLBSB JOPLBQQB JOPLBQQB ΪϣʔϜͰओʹγΣϧεΫϦϓτͱ ͔1ZUIPOΛগʑݟΑ͏Έ·ͶͰॻ ͘͜ͱ͕ଟ͍ৗͰ͢ͷͰ &MJYJS )FMMP8PSMEڃͰ͢
ॳ৺ऀͰ͢
͢͜ͱ ‘ &MJYJS FY@BXTͰ"NB[PO4Λૢ࡞͢Δ ·ͰͷϝϞͰ͢ ‘ -5<Ͱ>͕࣌ؒ͋Ε σϞΓ·͢ʂ
ࡉ͔͍͜ͱϒϩάʹॻ͖·ͨ͠ ‘ &MJYJSͰ"84Λૢ࡞͢ΔνϡʔτϦΞϧ 4ฤ ˠIUUQ JOPLBSBIBUFCMPKQFOUSZ ‘ GBLFTΛͬͯΈͨ &Y6OJU͔Βར༻ͯ͠ΈΔྫ ˠ
IUUQJOPLBSBIBUFCMPKQFOUSZ
&MJYJSͰ"84Λૢ࡞͢Δબࢶ Զௐ Package 名 GitHub URL GitHub Star ex_aws https://github.com/ex-aws/ex_aws
553 aws https://github.com/jkakar/aws-elixir 165 erlcloud https://github.com/erlcloud/erlcloud 523 2017/12/17 俺調べ
FY@BXT ‘ ͷ"84αʔϏεΛαϙʔτ ‘ αʔϏεຖʹ)FYύοέʔδ͕ఏڙ͞Ε͍ͯΔ ‘ )551ΫϥΠΞϯτ+40/$PEFDબՄ ‘ &YQPOFOUJBM#BDLPGGΞϧΰϦζϜ ‘
ϦτϥΠॲཧͱϖʔδωʔτ
NJYFYT defp deps do [ {:ex_aws, "~> 2.0"}, {:ex_aws_s3, "~>
2.0"}, {:hackney, "~> 1.9"}, {:sweet_xml, "~> 0.6"}, {:configparser_ex, "~> 2.0"} ] end
DPOpHFYT config :ex_aws, debug_requests: false, access_key_id: [{:awscli, "watashino-profile", 30}, :instance_role],
secret_access_key: [{:awscli, "watashino-profile", 30}, :instance_role], region: "ap-northeast-1"
4όέοτҰཡΛऔಘ͢Δαϯϓϧ iex(4)> ExAws.S3.list_buckets |> ExAws.request! %{body: %{buckets: [%{creation_date: "2017-12-17T05:30:42.000Z", name:
"oreno-bucket-1"}, %{creation_date: "2017-12-17T05:30:43.000Z", name: "oreno-bucket-2"}, %{creation_date: "2017-12-17T05:30:44.000Z", name: "oreno-bucket-3"}, ... headers: [{"x-amz-id-2", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}, {"x-amz-request-id", "0F9E0E78F451D1C1"}, {"Date", "Sun, 17 Dec 2017 04:56:41 GMT"}, {"Content-Type", "application/xml"}, {"Transfer-Encoding", "chunked"}, {"Server", "AmazonS3"}], status_code: 200}
͕࣌ؒ͋ͬͨΒσϞʂ
σϞ ‘ FY@BXT@TΛར༻ͯ͠4ͷόέοτҰཡ +40/Ͱऔಘ͢Δ
ͱ͍͏ࣄͰʜ
͍͞͝ʹ ‘ &MJYJS͔Β"84Λૢ࡞͢Δ߹ FY@BXT͕ ݱ࣌ͰσϑΝΫτͩͱࢥ͍·ͨ͠ ‘ Ϗοάσʔλͷશ͘͠·ͤΜͰ͕ͨ͠ Ϗο Ϋσʔλͷੳج൫ͱͯ͠"84ͷར༻Λݕ౼ ͢Δࡍͷ͖͔͚ͬʹͳΕ͍Ͱ͢
ྑ͍͓Λ