{"id":15289176,"url":"https://github.com/j5ik2o/reactive-aws-clients","last_synced_at":"2025-04-13T09:07:13.344Z","repository":{"id":34294385,"uuid":"173642459","full_name":"j5ik2o/reactive-aws-clients","owner":"j5ik2o","description":"AWS Client libraries for Scala (Automatic generation from AWS source code)","archived":false,"fork":false,"pushed_at":"2023-12-15T11:52:47.000Z","size":9105,"stargazers_count":30,"open_issues_count":24,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-13T09:06:51.632Z","etag":null,"topics":["aws","aws-clients","aws-sdk","aws-sdk-java-v2","scala"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/j5ik2o.png","metadata":{"files":{"readme":"README.ja.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-03T23:26:08.000Z","updated_at":"2024-10-31T22:37:43.000Z","dependencies_parsed_at":"2024-10-14T20:01:24.778Z","dependency_job_id":"9097e6ee-7a70-44c1-b16c-12986a7f6627","html_url":"https://github.com/j5ik2o/reactive-aws-clients","commit_stats":null,"previous_names":["j5ik2o/reactive-aws-client"],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j5ik2o%2Freactive-aws-clients","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j5ik2o%2Freactive-aws-clients/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j5ik2o%2Freactive-aws-clients/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j5ik2o%2Freactive-aws-clients/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/j5ik2o","download_url":"https://codeload.github.com/j5ik2o/reactive-aws-clients/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248688569,"owners_count":21145766,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-clients","aws-sdk","aws-sdk-java-v2","scala"],"created_at":"2024-09-30T15:59:30.327Z","updated_at":"2025-04-13T09:07:13.316Z","avatar_url":"https://github.com/j5ik2o.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# reactive-aws-clients\n\nScalaのためのAWSクライアントライブラリ。\n\n[![CircleCI](https://circleci.com/gh/j5ik2o/reactive-aws-clients/tree/master.svg?style=shield\u0026circle-token=ca08b2c115d354a7abff35d195b9bebe4bf960d0)](https://circleci.com/gh/j5ik2o/reactive-aws-clients/tree/master)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.github.j5ik2o/reactive-aws-common-core_2.12/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.github.j5ik2o/reactive-aws-common-core_2.12)\n[![Scaladoc](http://javadoc-badge.appspot.com/com.github.j5ik2o/reactive-aws-common-core_2.12.svg?label=scaladoc)](http://javadoc-badge.appspot.com/com.github.j5ik2o/reactive-aws-common-core_2.12/com/github/j5ik2o/reactive-aws-clients/index.html?javadocio=true)\n[![License: MIT](http://img.shields.io/badge/license-MIT-orange.svg)](LICENSE)\n\n## 特徴\n\n- AWS SDK for Java V2 対応\n- AWS ClientのソースコードからScalaラッパーを自動生成\n    - Java SDKで使えるメソッドはすべて使うことができます(ただし、Consumer型の引数を使うメソッドは使えません)\n- Javaモデルクラスのエンリッチ\n    - モデルクラスなどはJavaの既存の型を利用します。これらのモデルクラスをエンリッチすることでScala用メソッド(`AsScala`サフィックス)を追加できます\n- Scalaの非同期型に対応\n    - core\n        - `scala.concurrent.Future`\n    - monix\n        - `monix.eval.Task`\n        - `monix.reactive.Observable`\n    - cats-effect\n        - `cats.effect.IO`\n    - akka-stream\n        - `akka.stream.scaladsl.Source`\n        - `akka.stream.scaladsl.Flow`\n    \n## 動作環境\n \n- Java SE 8\n- Scala\n    - 2.11.x\n    - 2.12.x\n    - 2.13.x\n\n## インストール\n\n`build.sbt`に依存関係を追加してください。\n\n```scala\nval libraryName = \"...\" // e.g.) dynamodb\nval version = \"1.1.5\"\n\nlibraryDependencies += Seq(\n  \"com.github.j5ik2o\" %% s\"reactive-aws-$libraryName-core\" % version,\n  \"com.github.j5ik2o\" %% s\"reactive-aws-$libraryName-monix\" % version, // optional\n  \"com.github.j5ik2o\" %% s\"reactive-aws-$libraryName-akka\" % version, // optional\n  \"com.github.j5ik2o\" %% s\"reactive-aws-$libraryName-cats\" % version, // optional\n)\n```\n\n## 使い方\n\n以下はdynamodbの例です。他のライブラリを使う場合もほとんど同じです。\n\n```scala\nimport com.github.j5ik2o.reactive.aws.dynamodb._\nimport com.github.j5ik2o.reactive.aws.dynamodb.implicits._ // エンリッチのためのインポート\nimport software.amazon.awssdk.services.dynamodb.model._\nimport software.amazon.awssdk.services.dynamodb.{ DynamoDbAsyncClient =\u003e JavaDynamoDbAsyncClient }\n\nval underlying = JavaDynamoDbAsyncClient\n  .builder()\n  // ...\n  .build()\nval client = DynamoDbAsyncClient(underlying) // Javaクライントのインスタンスをコンストラクタに渡す\nval putItemRequest = PutItemRequest // Javaの型をそのまま利用可能\n  .builder()\n  .tableName(tableName)\n  .itemAsScala(\n    Map[String, AttributeValue](\n      \"Id\"   -\u003e AttributeValue.builder().s(\"abc\").build(),\n      \"Name\" -\u003e AttributeValue.builder().s(\"xyz\").build()\n    )\n  ) // エンリッチされたScala用メソッドが使える\n  .build()\nval putItemResponseFuture = client.putItem(putItemRequest)\n\n```\n\n## ビルド方法\n\n以下のコマンドを実行してください(mvnInstall の実行にはMavenが必要です)\n\n```sh\n$ sbt mvnClean mvnInstall // 初回のみ\n$ sbt compile\n```\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj5ik2o%2Freactive-aws-clients","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fj5ik2o%2Freactive-aws-clients","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj5ik2o%2Freactive-aws-clients/lists"}