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.