Reputation: 31247
I'm trying to set up a serverless project which will be hosted on the Google cloud platform. Here is what the serverless.yml
looks like
plugins: # List of plugins of use on application
- serverless-offline # Get your serverless configuration and run the server local
- serverless-plugin-typescript-express
# Project name on the infrastructure created
service: ansaar-auth
provider:
name: google # Provider name, where the infrastructure has be created
runtime: nodejs # The node version where the lambda functions going to run
project: ansaar-auth
credentials: ~/.gcloud/auth.json
# stage: dev # Control the environment of application
# region: us-east-1 # Default region where the lambda functions running
functions: # The array with definitions of lambda functions of the your application
getUsers: # Lambda function name
handler: src/server.handler # The function name mapped of the application
events: # Array of events that call the function
- http: # Type of event, the http event selected, it's event is a endpoint mapped on api gateway
path: users
method: get
The credentials are set according to the docs however for some reasons the deployment is not working and always throws the below error:
Serverless Error ---------------------------------------
The specified provider "google" does not exist.
Does anyone know how to fix it and successfully deploy the project to GCP?
Upvotes: 1
Views: 723
Reputation: 3777
In order to use Google cloud functions, please install the serverless-google-cloudfunctions
plugin.
You can generate a sample serverless.yml
using serverless create --template google-nodejs --path gcp
It should look like this:
service: gcp
provider:
name: google
stage: dev
runtime: nodejs8
region: us-central1
project: my-project
# The GCF credentials can be a little tricky to set up. Luckily we've documented this for you here:
# https://serverless.com/framework/docs/providers/google/guide/credentials/
#
# the path to the credentials file needs to be absolute
credentials: ~/.gcloud/keyfile.json
plugins:
- serverless-google-cloudfunctions
# needs more granular excluding in production as only the serverless provider npm
# package should be excluded (and not the whole node_modules directory)
package:
exclude:
- node_modules/**
- .gitignore
- .git/**
functions:
first:
handler: http
events:
- http: path
Here's the full quickstart guide: https://serverless.com/framework/docs/providers/google/guide/quick-start/
Upvotes: 2