Create a new function in the container

Developing in remote containers is just like developing on your own machine. Add a new endpoint to the API to make the light change rapidly.

Exercise
Answer
Exercise
  • Add a new Function with the Azure Functions extension

  • Call it "danceDance"

  • Set the light color to a random hex value

  • Restart the project with the VS Code debugger

  • Visit the danceDance endpoint and refresh your browser

Answer
  • Open the Command Palette (Cmd/Ctrl + Shift + P)

  • Select "Azure Functions: Create Function"

  • Select "HTTPTrigger" from the prompt

  • Name the function "danceDance"

  • Select "anonymous" at the next prompt

  • A new Function is created in a folder called "danceDance"

  • The Function code file is automatically opened in VS Code

  • Delete all the code from this "index.js" file and replace it with the following

const bulb = require("../bulb");
module.exports = async function(context, req) {
// generate random hex color
// taken from: https://www.paulirish.com/2009/random-hex-color-code-snippets/
const hex = Math.floor(Math.random() * 16777215).toString(16);
try {
const result = await bulb.setColor(hex);
context.res = {
body: { color: hex }
};
} catch (err) {
context.res = {
body: { message: "LIFX Lamp API is unavailable" }
};
}
};
  • Press F5 to run the Function app

  • Visit "http://localhost:7071/api/danceDance" and refresh the page as many times as you want