Paws is a Package for Amazon Web Services in R. Paws provides access to the full suite of AWS services from within R.
Visit our home page to see online documentation.
Disclaimer: Paws is not a product of or supported by Amazon Web Services.
Install Paws using:
install.packages("paws")
If you are using Linux, you will need to install the following OS packages:
libcurl4-openssl-dev libssl-dev libxml2-dev
libcurl-devel libxml2-devel openssl-devel
Or install the development version from r-universe:
install.packages('paws', repos = c(pawsr = 'https://paws-r.r-universe.dev', CRAN = 'https://cloud.r-project.org'))
As of paws v0.3.0
it's possible to install paws from pre-build binaries from a CRAN like repository host on AWS S3. We currently provide
pre-built binaries for Linux as Mac and Windows binaries are supported on the CRAN. The main focus of this is to provide linux with some pre-built binaries so that the install time is spead up.
To get the latest pre-built binaries you can use the following:
install.packages('paws', repos = c(pawsr = 'https://paws-r-builds.s3.amazonaws.com/packages/latest/', CRAN = 'https://cloud.r-project.org'))
You can also get a specific version of paws by setting the version:
install.packages('paws', repos = c(pawsr = 'https://paws-r-builds.s3.amazonaws.com/packages/0.3.0/', CRAN = 'https://cloud.r-project.org'))
You'll need to set up your AWS credentials and region. Paws supports setting these per-service, or using R and OS environment variables, AWS credential files, and IAM roles. See docs/credentials.md for more info.
In the example below, we set them with R environment variables.
Warning: Do not save your credentials in your code, which could reveal them to others. Use one of the other methods above instead. See also RStudio's best practices for securing credentials.
Sys.setenv(
AWS_ACCESS_KEY_ID = "abc",
AWS_SECRET_ACCESS_KEY = "123",
AWS_REGION = "us-east-1"
)
To use a service, create a client. All of a service's operations can be accessed from this object.
ec2 <- paws::ec2()
Launch an EC2 instance using the run_instances
function.
resp <- ec2$run_instances(
ImageId = "ami-f973ab84",
InstanceType = "t2.micro",
KeyName = "default",
MinCount = 1,
MaxCount = 1,
TagSpecifications = list(
list(
ResourceType = "instance",
Tags = list(
list(Key = "webserver", Value = "production")
)
)
)
)
List all of your instances with describe_instances
.
ec2$describe_instances()
Shut down the instance you started with terminate_instances
.
ec2$terminate_instances(
InstanceIds = resp$Instances[[1]]$InstanceId
)
You can browse all available services by looking at the package documentation.
help(package = "paws")
You can also jump to a specific service and see all its operations.
?paws::ec2
RStudio's code completion will show you the available services, their operations, and each operation's parameters.
There are also examples for EC2, S3, SQS, SNS, DynamoDB, Lambda, Batch, and Comprehend.
cognitoR
provides
authentication for Shiny applications using Amazon Cognito.noctua
is an interface to the
Athena serverless interactive query
service, which allows you to query files stored in S3 using SQL or
dplyr
.R6sagemaker
is an
interface to the SageMaker machine
learning service, designed to work like the Python SageMaker SDK.redshiftTools
is
a collection of tools for working with the
Redshift data warehouse service,
such as performing bulk uploads.stepfunctions
is an SDK for building machine learning workflows and pipelines on AWS
using the Step Functions service.API specifications from AWS SDK for JavaScript; design based on AWS SDK for Go.
Logo by Hsinyi Chen.
Home page design and cheat sheet by Mara Ursu.
Supported by the AWS Open Source promotional credits program.