How to invoke your AWS Lambda Function right from a Tableau dashboard
Say hello to Tableau Dashboard Extensions API! Tableau Extensions API enables developers to build custom web apps which can run inside a Tableau Dashboard and interact with the web app.
Here’s how Tableau explains about it Extensions API,
The Tableau Dashboard Extensions API allows developers to create extensions for Tableau. Tableau extensions are web applications that can interact and communicate with Tableau. A dashboard extension can be placed in the dashboard like any other dashboard object.
You can find more details on how to use and get started with some samples provided by Tableau in their Extensions API documentation.
I recently developed a Tableau Extension for Devpost Tableau Hackathon, which allows users to invoke an AWS Lambda function along with passing different parameters. This extension can become useful in couple of ways,
- You want have to build and maintain a separate Frontend UI for your stakeholders to interact with the Lambda function, instead if your Organization is already using Tableau, this extension can be built in your dashboard and configured to invoke your Lambda function
- Since the parameters are passed to your Lambda from your Tableau data source, your data is secure
How to use this extension?
Once you have your AWS Lambda function deployed and now want your users to invoke that function where each user passes different parameters using a frond-end UI. Building and maintaining a new front-end could be time and resource consuming. With this Tableau Extension, you can configure it with few inputs and publish the Tableau workbook. Required Inputs to configure are,
- Region — AWS region
- AWS Cognito Identity Pool ID — We need a way to authenticate users who are trying to invoke your lambda function. Since we are using AWS SDK for browser, the recommended way for authenticating is by creating AWS Cognito Identity Pool ID. Find more details here link
- Lambda Function Name — Name of your deployed (& tested) AWS function name
- Invocation Type — RequestResponse or Event
Extension can be downloaded from my Github repo