All Projects → j5ik2o → Reactive Aws Clients

j5ik2o / Reactive Aws Clients

Licence: mit
AWS Client libraries for Scala (Automatic generation from AWS source code)

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
Aws Sdk Java
The official AWS SDK for Java.
Stars: ✭ 3,662 (+12106.67%)
Mutual labels:  aws, aws-sdk
Rusoto
AWS SDK for Rust
Stars: ✭ 2,470 (+8133.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
Paws
Paws, a package for Amazon Web Services in R
Stars: ✭ 145 (+383.33%)
Mutual labels:  aws, aws-sdk
Aws Sdk Ruby
The official AWS SDK for Ruby.
Stars: ✭ 3,328 (+10993.33%)
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
Boto3
AWS SDK for Python
Stars: ✭ 6,894 (+22880%)
Mutual labels:  aws, aws-sdk

reactive-aws-clients

AWS Client libraries for Scala

CircleCI Maven Central Scaladoc License: MIT

日本語README

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 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

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].