{"id":18387608,"url":"https://github.com/j5ik2o/akka-persistence-s3","last_synced_at":"2025-07-13T11:33:43.511Z","repository":{"id":37073968,"uuid":"172486512","full_name":"j5ik2o/akka-persistence-s3","owner":"j5ik2o","description":"akka-persistence journal/snapshot plugin for AWS S3(support aws sdk for java v2)","archived":false,"fork":false,"pushed_at":"2024-01-04T07:22:58.000Z","size":604,"stargazers_count":21,"open_issues_count":12,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-22T10:23:59.094Z","etag":null,"topics":["akka","akka-persistence","aws-java-sdk-v2","aws-s3"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/j5ik2o.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-25T10:39:23.000Z","updated_at":"2024-10-31T22:37:58.000Z","dependencies_parsed_at":"2024-11-06T01:53:05.103Z","dependency_job_id":"36bc5cde-0257-42ea-a3b6-0f0c1c51b6e2","html_url":"https://github.com/j5ik2o/akka-persistence-s3","commit_stats":null,"previous_names":[],"tags_count":318,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j5ik2o%2Fakka-persistence-s3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j5ik2o%2Fakka-persistence-s3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j5ik2o%2Fakka-persistence-s3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j5ik2o%2Fakka-persistence-s3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/j5ik2o","download_url":"https://codeload.github.com/j5ik2o/akka-persistence-s3/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247577861,"owners_count":20961190,"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":["akka","akka-persistence","aws-java-sdk-v2","aws-s3"],"created_at":"2024-11-06T01:26:55.595Z","updated_at":"2025-04-07T01:31:13.260Z","avatar_url":"https://github.com/j5ik2o.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# akka-persistence-s3(support aws sdk for java v2)\n\n[![CI](https://github.com/j5ik2o/akka-persistence-s3/workflows/CI/badge.svg)](https://github.com/j5ik2o/akka-persistence-s3/actions?query=workflow%3ACI)\n[![Scala Steward badge](https://img.shields.io/badge/Scala_Steward-helping-blue.svg?style=flat\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAMAAAARSr4IAAAAVFBMVEUAAACHjojlOy5NWlrKzcYRKjGFjIbp293YycuLa3pYY2LSqql4f3pCUFTgSjNodYRmcXUsPD/NTTbjRS+2jomhgnzNc223cGvZS0HaSD0XLjbaSjElhIr+AAAAAXRSTlMAQObYZgAAAHlJREFUCNdNyosOwyAIhWHAQS1Vt7a77/3fcxxdmv0xwmckutAR1nkm4ggbyEcg/wWmlGLDAA3oL50xi6fk5ffZ3E2E3QfZDCcCN2YtbEWZt+Drc6u6rlqv7Uk0LdKqqr5rk2UCRXOk0vmQKGfc94nOJyQjouF9H/wCc9gECEYfONoAAAAASUVORK5CYII=)](https://scala-steward.org)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.github.j5ik2o/akka-persistence-s3_2.12/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.github.j5ik2o/akka-persistence-s3_2.12)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fj5ik2o%2Fakka-persistence-s3.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fj5ik2o%2Fakka-persistence-s3?ref=badge_shield)\n\nakka-persistence-s3 writes snapshot entries to AWS S3. It's non-blocking I/ O used by [aws-sdk-java-v2](https://github.com/aws/aws-sdk-java-v2).\n\n## Supported versions:\n\n- Java: `1.8+`\n- Scala: `2.12.x` or `2.13.x` or `3.0.0`\n- Akka: `2.6.x`\n- AWS-SDK: `2.4.x`\n\n## Installation\n\nAdd the following to your sbt build (2.12.x, 2.13.x, 3.0.0):\n\n```scala\nval version = \"...\"\n\nlibraryDependencies += Seq(\n  \"com.github.j5ik2o\" %% \"akka-persistence-s3-journal\" % version,\n  \"com.github.j5ik2o\" %% \"akka-persistence-s3-snapshot\" % version\n)\n```\n\n## Configuration\n\nThe minimum necessary settings are as follows.\n\n```\nj5ik2o {\n  s3-snapshot-store {\n    # if need to resolve a static value\n    # bucket-name = \"...\"\n    # if need to resolve a dynamic value\n    bucket-name-resolver-class-name = \"com.github.j5ik2o.akka.persistence.s3.resolver.BucketNameResolver$PersistenceId\"\n    key-converter-class-name = \"com.github.j5ik2o.akka.persistence.s3.resolver.KeyConverter$PersistenceId\"\n    # if need to resolve a static value\n    # path-prefix = \"...\"\n    # if need to resolve a dynamic value\n    path-prefix-resolver-class-name = \"com.github.j5ik2o.akka.persistence.s3.resolver.PathPrefixResolver$PersistenceId\"\n    extension-name = \"snapshot\"\n    max-load-attempts = 3\n    s3-client {\n      # Set the following as needed\n      access-key-id = \"...\"\n      secret-access-key = \"...\"\n      endpoint = \"...\"\n      region = \"...\"\n      max-concurrency = 128\n      max-pending-connection-acquires = ?\n      read-timeout = 3 s\n      write-timeout = 3 s\n      connection-timeout = 3 s\n      connection-acquisition-timeout = 3 s\n      connection-time-to-live = 3 s\n      max-idle-connection-timeout = 3 s\n      use-connection-reaper = true\n      threads-of-event-loop-group = 32\n      user-http2 = true\n      max-http2-streams = 32\n      batch-get-item-limit = 100\n      batch-write-item-limit = 25\n      s3-options {\n        dualstack-enabled = false\n        accelerate-mode-enabled = false\n        path-style-access-enabled = true\n        checksum-validation-enabled = false\n        chunked-encoding-enabled = false\n        use-arn-region-enabled = false\n      }\n    }\n  }\n}\n```\n\n\n## License\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fj5ik2o%2Fakka-persistence-s3.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fj5ik2o%2Fakka-persistence-s3?ref=badge_large)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj5ik2o%2Fakka-persistence-s3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fj5ik2o%2Fakka-persistence-s3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj5ik2o%2Fakka-persistence-s3/lists"}