You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now we are limited to the Javascript ecosystem for geoprocessing functions. It should be possible to run a Docker container instead capable of running other environments.
Solution
user adds a Dockerfile to the project source code.
Dockerfile builds on Amazon base image capable of being run in a Lambda.
entry point is a Javascript function, not unlike GeoprocessingHandler.ts, that is a lambda handler. It receives input payload, calls the underlying user-provided geoprocessing function, and returns the result.
user registers a geoprocessing function in geoprocessing.json and includes a reference to the Dockerfile it requires.
The geoprocessing function is similar to how it is now, just the geoprocessing function gets run within the docker container as the entrypoint function. and it will include user-created code to call out to run tools with necessary input, mostly likely using a shell exec command. Input may need to be prepped/transformed going in and coming out.
It may also make sense to be able to invoke the container Lambda as a worker, so that it can scale better.
on deploy CDK will use lambda.DockerImageFunction to publish Dockerfiles as images and make them available to run as Lambda function
result S3 bucket can be used to store one or more results, and S3 metadata gets returned as the result, with temporary pre-signed URL's to access the results.
For example, to run an R model
the Dockerfile would install the necessary R environment and code.
The geoprocessing function would call out to run the model, passing it input, and getting output back.
twelch
changed the title
Support devcontainer for running
Support running non-JS work tasks in Docker container
Sep 9, 2024
twelch
changed the title
Support running non-JS work tasks in Docker container
Support running broader work tasks in Docker container
Sep 10, 2024
twelch
changed the title
Support running broader work tasks in Docker container
Support broader work tasks/models using Lambda Docker container
Sep 10, 2024
Need
Right now we are limited to the Javascript ecosystem for geoprocessing functions. It should be possible to run a Docker container instead capable of running other environments.
Solution
lambda.DockerImageFunction
to publish Dockerfiles as images and make them available to run as Lambda functionresult
S3 bucket can be used to store one or more results, and S3 metadata gets returned as the result, with temporary pre-signed URL's to access the results.For example, to run an R model
See example of how done for SeaSketch - UploadHandlerLambdaStack
Challenges
Limitations
Questions
The text was updated successfully, but these errors were encountered: