Refer to this page to see all the available runtimes.
How to create and deploy a function with the Scaleway CLI
Scaleway Command Line Interface Overview
The Scaleway Command Line Interface (CLI) allows you to pilot your Scaleway infrastructure directly from your terminal, providing a faster way to administer and monitor your resources. Scaleway CLI is easy to set up and use, and an essential tool for operating efficiently in your cloud environment. The CLI provides many functionalities, including the ability to create and deploy Serverless Functions.
Before you start
To complete the actions presented below, you must have:
- A Scaleway account logged into the console
- Owner status or IAM permissions allowing you to perform actions in the intended Organization
- An SSH key
- A valid API key
- Installed and configured the Scaleway CLI
Creating a function
-
Run the following command in your terminal to create a functions namespace:
scw function namespace create name=<YOUR_NAMESPACE_NAME>An output similar to the following displays:
ID 6e74dbb7-9323-46bb-abc7-5c0105f4e70eName <YOUR_NAMESPACE_NAME>OrganizationID 55e28409-776f-4f65-a41e-6c5fc58b4076ProjectID 55e28409-776f-4f65-a41e-6c5fc58b4076Status pendingRegistryNamespaceID -RegistryEndpoint -Description -Region fr-par -
Run the following command in your terminal to create a function:
scw function function create name=<FUNCTION_NAME> namespace-id=<NAMESPACE_ID> runtime=<YOUR_RUNTIME>An output similar to the following displays:
ID 717fb5f9-95c3-4c0b-84db-2321283e46dcName <FUNCTION_NAME>NamespaceID cee31af8-d43e-4078-8f55-c921a9311f47Status createdMinScale 0MaxScale 5Runtime python310MemoryLimit 256CPULimit 140Timeout 5 minutesHandler handler.handlePrivacy publicDescription -DomainName namespace0leshy-cli-fn-functionname.functions.fnc.fr-par.scw.cloudRegion fr-parHTTPOption enabledRuntimeMessage -Tip -
Create a zip file containing your function’s code by following this procedure.
NoteFor testing purposes, you can create a zip archive with a simple Python file named
handler.py
inside, that contains the following code:def handle(event, context):return {"body": {"message": 'Hello, world',},"statusCode": 200,}
Deploying a function
-
Run the following command to deploy your function with the zip archive you just created:
scw function deploy name=<FUNCTION_NAME> namespace-id=<NAMESPACE_ID> runtime=<YOUR_RUNTIME> zip-file=path/to/archive/<ZIP_FILE>The deployment process can take up to three minutes.
-
Run the following command to call your function:
curl <YOUR_FUNCTION_ENDPOINT>Your function is now deployed and ready to be used.