Upgrade to Pro — share decks privately, control downloads, hide ads and more …

S3にスライドを保存することにした

 S3にスライドを保存することにした

[LT駆動開発 03](https://github.com/LTDD/Sessions/wiki/LT%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA03) での発表資料

データをどこにバックアップをとろうかと考えた時、やっぱS3かなと思ってまずは試しに、.keyファイルをS3に保存してみることにした話。

http://blog.eiel.info/blog/2014/05/03/ltdd-03-s3/

Tomohiko Himura

May 03, 2014
Tweet

More Decks by Tomohiko Himura

Other Decks in Programming

Transcript

  1. aws cfg <- Aws.baseConfiguration let s3cfg = Aws.defServiceConfig :: S3.S3Configuration

    Aws.NormalQuery ! withManager $ \mgr -> do S3.GetBucketResponse { S3.gbrContents = objectInfo } <- Aws.pureAws cfg s3cfg mgr $ S3.getBucket bucketName
  2. shakespeare toHtml infos = renderHtml $ [shamlet| $doctype 5 <html>

    <head> <title>keynotes.eiel.info <body> <h1>εϥΠυͷอଘ৔ॴ ͜͜͸εϥΠυͷอଘݿ <ul> $forall info <- infos ^{list info} |]
  3. shakespeare list S3.ObjectInfo { S3.objectKey = key } = [shamlet|

    <li> <a href=#{key}>#{name} |] where name = key
  4. String ͔Β ByteString ʹม׵ͨ͠Β จࣈԽ͚ͨ͠ String ͔Β Text Λܦ༝ͯ͠ ByteStringʹͨ͠

    Β͏·͍ͬͨ͘ ! T.encodeUtf8 . T.pack :: String -> ByteString
  5. Ϩίʔυ͕࢖͍͜ͳͤͯͳ͍ let object = S3.putObject bucketName "index.html" body Aws.pureAws cfg

    s3cfg mgr $ object { S3.poContentType = Just "text/html" } ! let Λܦ༝ͤͣγϯϓϧʹॻ͘ํ๏͕Θ͔Βͳ͍