Example
Define an API
# main.py
print("hello world")
Create a Dockerfile
Dockerfile
FROM python:3.8-slim
COPY main.py /
CMD exec python main.py
Build an image
docker build . -t hello-world
Run a container locally
docker run -it --rm hello-world
Login to ECR
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin <AWS_ACCOUNT_ID>.dkr.ecr.us-east-1.amazonaws.com
Create a repository
aws ecr create-repository --repository-name hello-world
Tag the image
docker tag hello-world <AWS_ACCOUNT_ID>.dkr.ecr.us-east-1.amazonaws.com/hello-world
Push the image
docker push <AWS_ACCOUNT_ID>.dkr.ecr.us-east-1.amazonaws.com/hello-world
Configure a Cortex deployment
# cortex.yaml
- name: hello-world
kind: TaskAPI
pod:
containers:
- name: api
image: <AWS_ACCOUNT_ID>.dkr.ecr.us-east-1.amazonaws.com/hello-world
command: ["python", "main.py"]
Create a Cortex deployment
cortex deploy
Get the API endpoint
cortex get hello-world
Make a request
curl -X POST -H "Content-Type: application/json" -d '{}' http://***.amazonaws.com/hello-world
View the logs
cortex logs hello-world <JOB_ID>
Last updated