| CodeBuild Status |
|---|
This repository is to define the code to be used for the SWSOC file sorting Lambda function. This function will be deployed as a zip file to Lambda, with the production lambda being the latest release and the latest code on the master being used for development and testing. The production lambda will move files into the appropriate buckets while the development lambda will only move files with the prefix dev_.
-
Open up the repo in locally in VSCode. It will detect the
.devcontainerand ask if you'd like to open it in a container. Agree and a container development environment will start up with all of the required tools. -
Test running by setting by changing the event and running the
lambda_function_test_script.pyfile.
The cdk.json file tells the CDK Toolkit how to execute your app.
This project is set up like a standard Python project. The initialization
process also creates a virtualenv within this project, stored under the .venv
directory. To create the virtualenv it assumes that there is a python3
(or python for Windows) executable in your path with access to the venv
package. If for any reason the automatic creation of the virtualenv fails,
you can create the virtualenv manually.
To manually create a virtualenv on MacOS and Linux:
$ python3 -m venv .venv
After the init process completes and the virtualenv is created, you can use the following step to activate your virtualenv.
$ source .venv/bin/activate
If you are a Windows platform, you would activate the virtualenv like this:
% .venv\Scripts\activate.bat
Once the virtualenv is activated, you can install the required dependencies.
$ pip install -r requirements.txt
At this point you can now synthesize the CloudFormation template for this code.
$ cdk synth
To add additional dependencies, for example other CDK libraries, just add
them to your setup.py file and rerun the pip install -r requirements.txt
command.
cdk lslist all stacks in the appcdk synthemits the synthesized CloudFormation templatecdk deploydeploy this stack to your default AWS account/regioncdk diffcompare deployed stack with current statecdk docsopen CDK documentation
-
Build the lambda container image (from within the lambda_function folder) you'd like to test:
docker build -t sdc_aws_sorting_lambda:latest . -
Run the lambda container image you've built (After using your mfa script), this will start the lambda runtime environment:
docker run -p 9000:8080 -v sdc_aws_sorting_lambda/lambda_function/tests/test_data:/test_data sdc_aws_sorting_lambda:latest
-
From a
separateterminal, make a curl request to the running lambda function:curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d @lambda_function/tests/test_data/test_padre_event.json