aws4s


License

License

MIT
Categories

Categories

AWS Container PaaS Providers
GroupId

GroupId

org.aws4s
ArtifactId

ArtifactId

aws4s_2.12
Last Version

Last Version

0.6.2
Release Date

Release Date

Type

Type

jar
Description

Description

aws4s
aws4s
Project Organization

Project Organization

org.aws4s
Source Code Management

Source Code Management

https://github.com/aws4s/aws4s

Download aws4s_2.12

How to add to project

<!-- https://jarcasting.com/artifacts/org.aws4s/aws4s_2.12/ -->
<dependency>
    <groupId>org.aws4s</groupId>
    <artifactId>aws4s_2.12</artifactId>
    <version>0.6.2</version>
</dependency>
// https://jarcasting.com/artifacts/org.aws4s/aws4s_2.12/
implementation 'org.aws4s:aws4s_2.12:0.6.2'
// https://jarcasting.com/artifacts/org.aws4s/aws4s_2.12/
implementation ("org.aws4s:aws4s_2.12:0.6.2")
'org.aws4s:aws4s_2.12:jar:0.6.2'
<dependency org="org.aws4s" name="aws4s_2.12" rev="0.6.2">
  <artifact name="aws4s_2.12" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.aws4s', module='aws4s_2.12', version='0.6.2')
)
libraryDependencies += "org.aws4s" % "aws4s_2.12" % "0.6.2"
[org.aws4s/aws4s_2.12 "0.6.2"]

Dependencies

compile (6)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.4
org.http4s : http4s-client_2.12 jar 0.18.0
org.http4s : http4s-circe_2.12 jar 0.18.0
org.http4s : http4s-scala-xml_2.12 jar 0.18.0
io.circe : circe-core_2.12 jar 0.9.1
com.github.mpilquist : simulacrum_2.12 jar 0.11.0

test (2)

Group / Artifact Type Version
org.scalatest : scalatest_2.12 jar 3.0.4
org.http4s : http4s-blaze-client_2.12 jar 0.18.0

Project Modules

There are no modules declared in this project.

aws4s

Build Status Maven Central

Logo

Non-blocking AWS SDK for Scala exposing strongly-typed APIs built on top of http4s, fs2 and cats

Installation

libraryDependencies ++= Seq(
  "org.aws4s" %% "aws4s" % aws4sVersion,
)

Service Support

  • SQS: (sendMessage, receiveMessage, deleteMessage)
  • S3: (listBuckets, putObject, deleteObject, getObject)
  • KMS: (encrypt, decrypt, createKey, scheduleKeyDeletion)
  • DynamoDB (createTable, deleteTable)

Missing a service or a certain functionality for a service? Create a feature request. PRs are also welcome.

Usage Examples

import cats.effect.IO
import org.aws4s.Credentials
import org.aws4s.sqs.{DelaySeconds, MessageBody, Queue, Sqs}
import org.http4s.client.blaze.Http1Client // You'll need the `http4s-blaze-client` dependency for that

val credentials = () => Credentials("ACCESS_KEY_HERE", "SECRET_KEY_HERE")
val httpClient = Http1Client[IO]()

val sqs = Sqs(httpClient, credentials)

val queueUrl = "https://sqs.eu-central-1.amazonaws.com/FAKE_QUEUE_URL"
val q = Queue.unsafeFromString(queueUrl)

val action: IO[Unit] =
  sqs.sendMessage(q, MessageBody("Yo!"), Some(DelaySeconds(5)))
    .attempt
    .map {
      case Left(err) => System.err.println(err)
      case Right(success) => println(success)
    }

// Run final action to produce effects
println("Sending a message..")
action.unsafeRunSync()

Versioning

Unstable API until 1.0.0, then semantic versioning from there on.

Acknowledgements

Request signing logic is adapted from the code in this project.

org.aws4s

aws4s

Versions

Version
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
0.0.1