If you are using Cloudflare as a provider, all functions inside the service are Cloudflare Workers.
All of the Cloudflare Workers in your serverless service can be found in serverless.yml
under the functions
property.
# serverless.yml
service:
name: hello-world
provider:
name: cloudflare
config:
accountId: CLOUDFLARE_ACCOUNT_ID
zoneId: CLOUDFLARE_ZONE_ID
plugins:
- serverless-cloudflare-workers
functions:
helloWorld:
# What the script will be called on Cloudflare (this property value must match the function name one line above)
name: helloWorld
# The name of the script on your machine, omitting the .js file extension
script: helloWorld
# Events are only relevant to the `serverless invoke` command and don’t affect deployment in any way
events:
- http:
url: example.com/hello/*
method: GET
headers:
someKey: someValue
The script
property points to the file containing your Cloudflare Worker.
// helloWorld.js
addEventListener('fetch', (event) => {
event.respondWith(handleRequest(event.request));
});
async function handleRequest(request) {
return new Response('Hello world');
}
If you have an Enterprise Cloudflare account, you can add multiple Cloudflare Workers to your project.
# serverless.yml
service:
name: hello-world
provider:
name: cloudflare
config:
accountId: CLOUDFLARE_ACCOUNT_ID
zoneId: CLOUDFLARE_ZONE_ID
plugins:
- serverless-cloudflare-workers
functions:
helloWorld:
# What the script will be called on Cloudflare (this property value must match the function name one line above)
name: helloWorld
# The name of the script on your machine, omitting the .js file extension
script: helloWorld
# Events are only relevant to the `serverless invoke` command and don’t affect deployment in any way
events:
- http:
url: example.com/hello/*
method: GET
headers:
someKey: someValue
# Only Enterprise accounts would be allowed to add this second function and its corresponding route above
foo:
name: foo
script: bar
events:
- http:
url: example.com/foo/*
method: GET
The script
property is what the Cloudflare Worker will be called on Cloudflare’s data centers.
Product