Skip to content

Solution overview

Adrian Solis edited this page Apr 29, 2019 · 4 revisions

Overview

The Custom Stickers application has two main components:

  • Messaging extension: An Azure function that returns the images
  • Configuration app: A web app that lets app administrators manage the stickers returned by the messaging extension

Messaging extension

The messaging extension is an Azure Function that implements a single search command for custom stickers. To maintain a responsive user experience, the Azure Function is configured to run in an app service plan, and set to be Always On.

The set of stickers returned by the messaging extension is defined in a configuration file stored in Azure Blob Storage. The stickers themselves are also in the blob store.

NOTE: The sticker images are publicly-accessible, and can be viewed by anyone who knows the specific URL to the image. This is required for images returned by a messaging extension.

Configuration web app

The configuration app is a standard ASP.NET MVC 5 web app. We think the configuration app will be used infrequently, so the included ARM template puts it in the same App Service Plan as the messaging extension.

The configuration app offers Create/Read/Update/Delete (CRUD) operations on the set of stickers. When the admin is satisfied with the set of stickers to return, she updates the stickers configuration file used by the messaging extension by pressing a button in the web app.

NOTE: When a sticker is deleted from the configuration app, the sticker image remains in the blob store, so that existing messages that were sent with that image continue to work.