Learn R Programming

Superseded?

I (the author) no longer use this package. If you'd like to take over ownership/maintenance, please reach out. If you are comfortable with Python, I'd recommend {botor} as a replacement. If you're only comfortable with Java, I'd recommend {AWR} as a replacement.

Why should I use it?

If you are like most useRs you shouldn't. package:awsjavasdk provides boilerplate access to all of the classes included in the AWS Java SDK (inclusive of 3rd party classes). For most useRs this isn't user friendly enough.

If you are looking for easy access to AWS resources, this package isn't for you. Right now the best supported option for easy access is, in the author's opinion, provided by cloudyr's aws series of packages (some of which are already on CRAN).

However, if you are feeling limited by the web api exposed by cloudyr, like building things from scratch, or like the 'safety' of directly using an approved AWS SDK, then this package may be for you - but only if you don't mind a shotgun approach. The current version of the package loads all .jars provided by the SDK.

As an alternative also consider package:AWR which gives you finer grained control over which version of the AWS SDK you use and auto-installs the SDK. This package is suitable if you always want to develop against the bleeding edge SDK and for legacy purposes.

How do I use it?

Before you can load anything, you'll need to install the Java SDK. package:awsjavasdk handles the installation location for you. You just need to manually trigger the installation itself so that this package can be CRAN compliant.

library(awsjavasdk)

# Install the sdk if it hasn't been installed yet
if (!awsjavasdk::aws_sdk_present()) {
  awsjavasdk::install_aws_sdk()
}

Then, you can load all java classes included in the SDK...

awsjavasdk::load_sdk()

From there, you're on your own. :)

E.g.

v <- rJava::J("com.amazonaws.util.VersionInfoUtils")
print(v$getVersion())

How do I get it?

The current version is not on CRAN, but you can fetch an early release of the upcoming build directly from github:

library(devtools)
install_github("zapier/awsjavasdk")
library(awsjavasdk)

Author's Note

This code was inspired by and borrowed in parts from multiple web sources including published code and a blog post by JD Long.

Roadmap

  • Add support for displaying SDK install location
  • Add support for installing a new SDK version if available; always load the latest SDK
  • Add support for listing available SDK versions
  • Add support for loading a specific SDK version
  • Add support for listing jars
  • Add support for loading specific jars

Copy Link

Version

Install

install.packages('awsjavasdk')

Monthly Downloads

22

Version

0.2.2

License

GPL-2

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

November 5th, 2020

Functions in awsjavasdk (0.2.2)

install_aws_sdk

Install the AWS Java SDK
aws_sdk_version

Find AWS SDK Version
load_sdk

Load AWS Java SDK
set_sdk_file_root

Specify an alternate root directory in which to store and retrieve the SDK.
aws_sdk_present

Confirm presence of core SDK jar
aws_sdk_root

Get the root directory for the AWS Java SDK