The goal of {r2lambda} is to make it easier to go from an R script
to a deployed AWS Lambda function.
- docker is required to build, tag, and push the image.
You can install the development version of {r2lambda} like so:
# install_packages("remotes")
remotes::install_github("discindo/r2lambda")r2lambda assumes environmental variables for connecting to AWS
services are available in the R session. This is typically done via an
.Renviron file that should include:
ACCESS_KEY_ID = "YOUR AWS ACCESS KEY ID"
SECRET_ACCESS_KEY = "YOUR AWS SECRET ACCESS KEY"
PROFILE = "YOUR AWS PROFILE"
REGION = "YOUR AWS REGION"
runtime_function <- "parity"
runtime_path <- system.file("parity.R", package = "r2lambda")
dependencies <- NULL
# Might take a while, its building a docker image
build_lambda(
tag = "parity1",
runtime_function = runtime_function,
runtime_path = runtime_path,
dependencies = dependencies
)payload <- list(number = 2)
tag <- "parity1"
test_lambda(tag = "parity1", payload)# Might take a while, its pushing it to a remote repository
deploy_lambda(tag = "parity1")invoke_lambda(
function_name = "parity1",
invocation_type = "RequestResponse",
payload = list(number = 2),
include_logs = FALSE
)
#> Lambda response payload:
#> {"parity":"even"}Please note that the r2lambda project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.