- Introduction
- Clone project
- Build project (command-line)
- Deploy project to Cloud Functions Local Emulator (command-line)
- Build bundle to deploy to Google Cloud Platform (command-line)
Cloud Functions come in two distinct variants: foreground (HTTP) and background. You invoke HTTP functions from standard HTTP requests.You can use background functions to handle events from your Cloud infrastructure, such as messages on a Google Cloud Pub/Sub topic, or changes in a Google Cloud Storage bucket. This project includes three example functions:
helloWorldHTTP- foreground (HTTP) functionhelloWorldPubSub- background functions to handle Google Cloud Pub/Sub topic eventshelloWorldStorage- background functions to handle events from Google Cloud Storage bucket
Clone project from GitHub:
git clone https://github.com/amsokol/gcp-cloud-functions-typescript-starter.gitGo to to project folder:
cd gcp-cloud-functions-typescript-starterOptional. You can open project in Visual Studio Code to to build and deploy project from GUI menu:
code .If you prefer command-line interface instead of Visual Studio Code than use the next commands to build project.
Install required npm modules:
npm installCompile TypeScript Cloud Function:
tscFile index.js is generated and is ready to deploy to Cloud Functions
If you prefer command-line interface instead of Visual Studio Code than use the next commands to deploy project.
The Cloud Functions Emulator is distributed as a standard NPM package, so you can install it with a standard npm install command:
npm install -g @google-cloud/functions-emulatorBefore you can deploy a function, you need to start the Emulator as follows:
functions startDeploy an HTTP helloWorld function to the Emulator as follows:
npm run deploy-localOpen helloWorld link in browser to see results.
See Cloud Functions Local Emulator for more details.
If you prefer command-line interface instead of Visual Studio Code than use the next commands to create zip archive for deployment.
For Windows using PowerShell:
npm run package-zip(windows)For Linux/Unix using zip utility (you have to install it before):
npm run package-zip(linux)It creates helloWorld.zip that includes index.js, package.json, settings.json files.
helloWorld.zip is ready to be deployed to Google Cloud Platform.
See Deploying from Your Local Machine for more details.