Skip to main content
Version: 2.x

Getting started

Low-level AWS wrapper for ZIO for all AWS services using the AWS Java SDK v2.

The library's goal is to have access to all AWS functionality for cases when only a simple, direct access is needed from a ZIO application, and to be used as a building block for higher level wrappers around specific services.

Check the list of available artifacts to get started.

The wrapper page shows in details how the library wraps the underlying Java SDK. On the configuration page you can learn more about how set the common properties of the AWS clients in addition to setting up one of the HTTP implementations.

Features​

  • Common configuration layer
  • ZIO layer per AWS service
  • Wrapper for all operations on all services
  • Http service implementations for functional Scala http libraries, injected through ZIO's module system
  • ZStream wrapper around paginated and streaming operations
  • Service-specific extra configuration
  • More idiomatic Scala request and response types wrapping the Java classes
  • Aspects to take care of additional concerns like logging, metrics, circuit breaking, etc.

Design​

The library consists of a core module and one generated library for each AWS service, based on the official JSON schema from the AWS Java SDK's repository. By only providing a wrapper on top of the Java SDK the code generator does not have to know all the implementation details and features of the schema.

Higher level AWS libraries​

The following libraries are built on top of zio-aws providing higher level interfaces for specific AWS services:

Additional resources​