j5ik2o / Reactive Aws Clients
Licence: mit
AWS Client libraries for Scala (Automatic generation from AWS source code)
Stars: ✭ 30
Programming Languages
scala
5932 projects
Projects that are alternatives of or similar to Reactive Aws Clients
Winston Cloudwatch
Send logs to Amazon Cloudwatch using Winston.
Stars: ✭ 172 (+473.33%)
Mutual labels: aws, aws-sdk
Trackiam
A project to collate IAM actions, AWS APIs and managed policies from various public sources.
Stars: ✭ 115 (+283.33%)
Mutual labels: aws, aws-sdk
Aiobotocore
asyncio support for botocore library using aiohttp
Stars: ✭ 630 (+2000%)
Mutual labels: aws, aws-sdk
Limes
Limes provides an easy work flow with MFA protected access keys, temporary credentials and access to multiple roles/accounts.
Stars: ✭ 67 (+123.33%)
Mutual labels: aws, aws-sdk
Soto
Swift SDK for AWS that works on Linux, macOS and iOS
Stars: ✭ 579 (+1830%)
Mutual labels: aws, aws-sdk
Udacity Data Engineering Projects
Few projects related to Data Engineering including Data Modeling, Infrastructure setup on cloud, Data Warehousing and Data Lake development.
Stars: ✭ 458 (+1426.67%)
Mutual labels: aws, aws-sdk
Smart Security Camera
A Pi Zero and Motion based webcamera that forwards images to Amazon Web Services for Image Processing
Stars: ✭ 103 (+243.33%)
Mutual labels: aws, aws-sdk
Aws Sdk Js
AWS SDK for JavaScript in the browser and Node.js
Stars: ✭ 6,857 (+22756.67%)
Mutual labels: aws, aws-sdk
Awesome Aws
A curated list of awesome Amazon Web Services (AWS) libraries, open source repos, guides, blogs, and other resources. Featuring the Fiery Meter of AWSome.
Stars: ✭ 9,895 (+32883.33%)
Mutual labels: aws, aws-sdk
Aws Sdk Perl
A community AWS SDK for Perl Programmers
Stars: ✭ 153 (+410%)
Mutual labels: aws, aws-sdk
Awsconsolerecorder
Records actions made in the AWS Management Console and outputs the equivalent CLI/SDK commands and CloudFormation/Terraform templates.
Stars: ✭ 1,152 (+3740%)
Mutual labels: aws, aws-sdk
Gatsby Auth Starter Aws Amplify
Starter Project with Authentication with Gatsby & AWS Amplify
Stars: ✭ 306 (+920%)
Mutual labels: aws, aws-sdk
Aws Sdk Java V2
The official AWS SDK for Java - Version 2
Stars: ✭ 1,083 (+3510%)
Mutual labels: aws, aws-sdk
Aws Pagination Rules
The rules for pagination in AWS SDKs
Stars: ✭ 57 (+90%)
Mutual labels: aws, aws-sdk
Aws Amplify Vue
A Vue.js starter app integrated with AWS Amplify
Stars: ✭ 359 (+1096.67%)
Mutual labels: aws, aws-sdk
reactive-aws-clients
AWS Client libraries for Scala
Features
- AWS SDK for Java V2 Support
- Scala wrapper auto generation from Java sources of AWS
- Support all java methods via Scala wrapper(but methods which Consumer type has can't used)
- Enrich Java model classes
- Support Java model classes, add methods(
AsScala
suffix) for Scala by enriching the Java model class
- Support Java model classes, add methods(
- Support concurrent types
- core
scala.concurrent.Future
- monix
monix.eval.Task
monix.reactive.Observable
- cats-effect
cats.effect.IO
- akka-stream
akka.stream.scaladsl.Source
akka.stream.scaladsl.Flow
- core
Support environments
- Java SE 8
- Scala
- 2.11.x
- 2.12.x
- 2.13.x
reactive-aws-clients version | scala version | aws-sdk version | akka-version | cats version | monix |
---|---|---|---|---|---|
1.1.x | 2.11.x, 2.12.x, 2.13.x | 2.10.x | 2.5.x | 2.0.x(since 1.15) | 3.1.x(since 1.16) |
1.2.x | 2.11.x, 2.12.x, 2.13.x | 2.11.x | 2.5.x | 2.0.x | 3.1.x |
1.2.1+ | 2.11.x | 2.11.x | 2.5.x | 2.0.x | 3.1.x |
1.2.1+ | 2.12.x, 2.13.x | 2.11.x | 2.6.x | 2.0.x | 3.1.x |
Installation
Add dependencies to build.sbt
.
val libraryName = "dynamodb"
val version = "1.2.0"
libraryDependencies += Seq(
"com.github.j5ik2o" %% s"reactive-aws-$libraryName-core" % version,
"com.github.j5ik2o" %% s"reactive-aws-$libraryName-monix" % version, // optional
"com.github.j5ik2o" %% s"reactive-aws-$libraryName-akka" % version, // optional
"com.github.j5ik2o" %% s"reactive-aws-$libraryName-cats" % version, // optional
)
Usage
The following is an example of dynamodb. The usage is almost the same as other libraries.
import com.github.j5ik2o.reactive.aws.dynamodb._
import com.github.j5ik2o.reactive.aws.dynamodb.implicits._ // import for enrich
import software.amazon.awssdk.services.dynamodb.model._
import software.amazon.awssdk.services.dynamodb.{ DynamoDbAsyncClient => JavaDynamoDbAsyncClient }
val underlying = JavaDynamoDbAsyncClient
.builder()
// ...
.build()
val client = DynamoDbAsyncClient(underlying) // Pass the Java client instance to the constructor
val putItemRequest = PutItemRequest // Java types can be used as is
.builder()
.tableName(tableName)
.itemAsScala(
Map[String, AttributeValue](
"Id" -> AttributeValue.builder().s("abc").build(),
"Name" -> AttributeValue.builder().s("xyz").build()
)
) // use the enriched Scala method
.build()
val putItemResponseFuture = client.putItem(putItemRequest)
How to build
Run the following commands (Maven
is required to run mvnInstall
or mvnClean
)
$ git submodule update --init
$ sbt mvnClean mvnInstall // first time only
$ sbt compile
How to contribute
If you need other SDK features, please create an issue or send a P-R.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].