diff options
-rw-r--r-- | GetObject.hs | 24 | ||||
-rw-r--r-- | PutObject.hs | 33 | ||||
-rw-r--r-- | RemoveObject.hs | 19 |
3 files changed, 0 insertions, 76 deletions
diff --git a/GetObject.hs b/GetObject.hs deleted file mode 100644 index 51764bf72..000000000 --- a/GetObject.hs +++ /dev/null @@ -1,24 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -import qualified Aws -import qualified Aws.S3 as S3 -import Data.Conduit (($$+-)) -import Data.Conduit.Binary (sinkFile) -import Network.HTTP.Conduit (withManager, responseBody) - -main :: IO () -main = do - {- Set up AWS credentials and the default configuration. -} - Just creds <- Aws.loadCredentialsFromEnv - let cfg = Aws.Configuration Aws.Timestamp creds (Aws.defaultLog Aws.Debug) - let s3cfg = Aws.defServiceConfig :: S3.S3Configuration Aws.NormalQuery - - {- Set up a ResourceT region with an available HTTP manager. -} - withManager $ \mgr -> do - {- Create a request object with S3.getObject and run the request with pureAws. -} - S3.GetObjectResponse { S3.gorResponse = rsp } <- - Aws.pureAws cfg s3cfg mgr $ - S3.getObject "joeyh-test" "cloud-remote.pdf" - - {- Save the response to a file. -} - responseBody rsp $$+- sinkFile "cloud-remote2.pdf" diff --git a/PutObject.hs b/PutObject.hs deleted file mode 100644 index 68db1685a..000000000 --- a/PutObject.hs +++ /dev/null @@ -1,33 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -import qualified Aws -import qualified Aws.S3 as S3 -import Data.Conduit (($$+-)) -import Data.Conduit.Binary (sinkFile) -import Network.HTTP.Conduit (withManager, RequestBody(..)) -import qualified Data.ByteString.Lazy as L -import qualified Data.ByteString as S -import Control.Monad.IO.Class -import Control.Concurrent -import System.Posix.Files -import System.IO -import Control.Applicative -import qualified Data.Text as T - -main :: IO () -main = do - {- Set up AWS credentials and the default configuration. -} - Just creds <- Aws.loadCredentialsFromEnv - let cfg = Aws.Configuration Aws.Timestamp creds (Aws.defaultLog Aws.Debug) - let s3cfg = Aws.defServiceConfig :: S3.S3Configuration Aws.NormalQuery - - {- Set up a ResourceT region with an available HTTP manager. -} - withManager $ \mgr -> do - let file ="cloud-remote.pdf" - -- streams file content, without buffering more than 1k in memory! - let streamer sink = withFile file ReadMode $ \h -> sink $ S.hGet h 1024 - b <- liftIO $ L.readFile file - size <- liftIO $ (fromIntegral . fileSize <$> getFileStatus file :: IO Integer) - rsp <- Aws.pureAws cfg s3cfg mgr $ - S3.putObject "joeyh-test" (T.pack file) (RequestBodyStream (fromInteger size) streamer) - liftIO $ print rsp diff --git a/RemoveObject.hs b/RemoveObject.hs deleted file mode 100644 index 7d61907cd..000000000 --- a/RemoveObject.hs +++ /dev/null @@ -1,19 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -import qualified Aws -import qualified Aws.S3 as S3 -import Data.Conduit (($$+-)) -import Data.Conduit.Binary (sinkFile) -import Network.HTTP.Conduit (withManager, responseBody) -import Control.Monad.IO.Class - -main :: IO () -main = do - Just creds <- Aws.loadCredentialsFromEnv - let cfg = Aws.Configuration Aws.Timestamp creds (Aws.defaultLog Aws.Debug) - let s3cfg = Aws.defServiceConfig :: S3.S3Configuration Aws.NormalQuery - - withManager $ \mgr -> do - rsp <- Aws.pureAws cfg s3cfg mgr $ - S3.DeleteObject "cloud-remote.pdf" "joeyh-test" - liftIO $ print "removal done" |