Sometimes, such as when you are migrating to the latest version of Node.js, you want to verify what version of Node.js your Functions are running on. The same can apply to the version of the Twilio Node.js Helper Library that you are using, since its version determines what functionality is available via the context.getTwilioClient helper.
The following code sample shows some helpful values that you can return or log for verification. To get started, follow the instructions below to create a Service and Function to host and execute the example.
In order to run any of the following examples, you will first need to create a Function into which you can paste the example code. You can create a Function using the Twilio Console or the Serverless Toolkit as explained below:
If you prefer a UI-driven approach, creating and deploying a Function can be done entirely using the Twilio Console and the following steps:
https://<service-name>-<random-characters>-<optional-domain-suffix>.twil.io/<function-path>
test-function-3548.twil.io/hello-world
.
Your Function is now ready to be invoked by HTTP requests, set as the webhook of a Twilio phone number, invoked by a Twilio Studio Run Function Widget, and more!
Copy and paste the following example code into your newly minted Function. Ensure that your Function is public, save your changes, and deploy the Service that contains this Function.
1exports.handler = (context, event, callback) => {2// PATH represents the relative path of this function3// This value does not include the domain name4const path = context.PATH;5const nodeVersion = process.version;6const twilioVersion = require('twilio/package.json').version;78console.log(`Function path: ${path}`);9console.log(`Node.js version: ${nodeVersion}`);10console.log(`Twilio Helper Library version: ${twilioVersion}`);1112return callback(null, {13status: 'complete',14path,15nodeVersion,16twilioVersion,17});18};
While running live logs (click Enable live logs in the Console), make a GET
request to your Function using a tool such as curl or Postman. You will then see logs displaying the Function's path, as well as the versions of Node.js and the Twilio Helper Library. Your HTTP client will also receive the same data as JSON.
For example, a public Function named /versions
would log the following (with different versions, depending on when you're reading this):
1Function path: /versions2Node.js version: v14.18.13Twilio Helper Library version: 3.72.0
It would also return the following JSON response:
1{2"status": "complete",3"path": "/versions",4"nodeVersion": "v14.18.1",5"twilioVersion": "3.72.0"6}
This sample uses context.PATH
to log the relative path of this Function. There are several other helpful, built-in process variables that you may wish to log as well.