aws-sdb

Amazon Web Services SDK bindings to Amazon SimpleDB
README

ocaml-aws is an Amazon Web Services SDK for OCaml. Its source distribution
includes a core runtime API and a code generation tool that generates
individual libraries from botocore service descriptions.

API Documentation

Development

You can install the core library and its dependencies by pinning:

opam pin add aws .

After pinning, you can install to the latest development version by checking
out the commit and running:

opam update aws

Running individual test suites for a Service

AWS_ACCESS_KEY=???? \
AWS_SECRET_KEY=???? \
AWS_DEFAULT_REGION=ap-southeast-2 \
dune runtest libraries/ec2/lib_test

Code Generation

To generate service libaries during development and in preparation for release,
first configure the build to enable code generation and run the gen target of
the Makefile. Note that the code generation tool has its own set of
dependencies that must be installed in order for the build to succeed.
In addition, the Makefile is written for GNU make.
Some platforms such as OS X and FreeBSD do not have a GNU-compatible make
installed by default. If you get strage error messages at this stage of the
build, check your make. The following commands will configure the build for
code generation and regenerate the libraries from the current definitions:

# Compile code generator
make gen

# Compile generated libraries
make

Release

To generate a release to opam requires dune-release to be installed, then run:

make opam-release

Example

Here's how you use the library and EC2 bindings to retrieve a list of regions
from AWS and print them to stdout. This example uses the Async runtime, but
the equivalent lwt example is identical in structure.

open Core
open Async
open Aws_ec2

let to_result = function
  | `Ok x    -> Ok x
  | `Error e -> Error (Aws.Error.format Errors.to_string e)

let main () =
  Aws_async.Runtime.run_request
    ~region:"us-east-1" ~access_key:"<...>" ~secret_key:"<...>"
    (module DescribeRegions)
    (Types.DescribeRegionsRequest.make ())
  >>| to_result
  >>| Option.value_exn
  >>|? List.iter ~f:(fun x -> Log.Global.info "%s" x.Types.Region.region_name)
  >>> function
    | Ok ()   -> exit 0
    | Error e -> Log.Global.error "%s" e; exit 1

Scheduler.go_main ~main ()

DEBUGGING

If you get this error when running test or example code
Fatal error: exception (Failure "No SSL or TLS support compiled into Conduit")

You need to install the ssl versions of your chosen async framework

opam install lwt_ssl async_ssl

License

BSD3, see LICENSE file for its text.

Install
Sources
v1.2.tar.gz
md5=38c7319a8abb38a5ecac43b66c8798a9
sha512=298e2c01dfb284df67dea55314ce2913be06709780e01a54695fdf4023447d43f4b61c2b3515309ed0fb606e98fe25ea1ff0e9d973b57bff43ad888588796d3c
Dependencies
dune
>= "2.7"
aws
= version
ocaml
>= "4.04.0"
Reverse Dependencies