aws-sdk-lisp

2024-10-12

No Description

Upstream URL

github.com/pokepay/aws-sdk-lisp

Author

Eitaro Fukamachi

License

BSD 2-Clause
README

AWS-SDK for Common Lisp

Warning

This software is still ALPHA quality. The APIs will be likely to change.

Usage

AWS-SDK provides interfaces for each AWS services as individual systems under "aws-sdk/services/*".

Here's an example to send an SMS via Amazon Simple Notification Service:

(ql:quickload '(:aws-sdk :aws-sdk/services/sns))

(setf aws:*session* (aws:make-session))

;; Sending 
(aws/sns:publish :phone-number "+8190xxxxxxxx" :message "Hi, there")

Configuring the SDK

Configuring Credentials

Before using the SDK, you'll need to set AWS credentials for AWS services. AWS-SDK supports multiple methods to configure AWS credentials.

  • Environment Credentials: Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
  • Shared Credentials file (~/.aws/credentials).
  • EC2 Instance Role Credentials

It's also can be configured via aws:*session*:

(setf aws:*session*
      (aws:make-session :credentials
                        (aws:make-credentials
                         :access-key-id "XXXXXXXXXXXXXXXXXXXX"
                         :secret-access-key "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                         :session-token "xxxxxxxxxxx")))

Configuring AWS Region

For making AWS API request, AWS region is also required. There're multiple methods to configure it.

  • Environment variable: AWS_REGION
  • Shared configuration file (~/.aws/config).

It's also can be configured via aws:*session*:

(setf aws:*session* (aws:make-session :region "us-west-2"))

Development note

Generating all services

$ lake

Author

This product is developed with the generous support of Pocket Change, K.K.

Copyright

Copyright (c) 2017 Eitaro Fukamachi (e.arrows@gmail.com)

License

Licensed under the BSD 2-Clause License.

Dependencies (17)

  • alexandria
  • assoc-utils
  • aws-sign4
  • babel
  • cl-base64
  • cl-ppcre
  • dexador
  • ironclad
  • kebab
  • local-time
  • parser.ini
  • quri
  • trivial-timeout
  • trivial-types
  • uiop
  • xmls
  • yason

Dependents (0)

    • GitHub
    • Quicklisp