Voxel51 Platform Integrations
This repository contains example implementations of integrations with various services to interact with the Voxel51 Platform.
Available at https://github.com/voxel51/platform-integrations.
Each top-level folder contains a separate example application that demonstrates how to build integrations that link to the Voxel51 Platform in various ways, typically leveraging the API client libraries.
. ├── README.md <-- This README ├── egress <-- Platform egress app ├── ingress <-- Platform ingress app └── slack <-- Platform Slack integration
Platform Integration Overview
The diagram below depicts how Ingress and Egress Applications interact with the Platform:
Platform Ingress App
The Ingress application is an AWS Lambda tool
that automatically runs Platform jobs on data uploaded to an S3 bucket.
Specifically, the Lambda function is configured to listen for
s3:ObjectCreated events on a configurable bucket.
For each new data, a signed URL is generated and posted to the Platform (as oppposed to uploading the raw data to the Platform, which would duplicate storage), and job(s) are run on that data for the configured analytic(s).
Platform Egress App
The Egress application is an AWS Lambda tool that automatically responds to Platform job completion events configured via a Platform webhook. The Lambda function is created with an Amazon API Gateway which exposes a static URL. This URL is then used as the endpoint for a Platform webhook, which is configured via your Platform Console account.
When the webhook is configured for
job_complete events, every job completed
on your Platform account will send metadata about the completed job to the
static URL that the Lambda app is configured to process.
The example Lambda code in this app uses the Python Client Library to download the output of the completed job, optionally manipulate or transform it, and then upload it to a configurable external S3 bucket.
Platform Slack Integration
This project demonstrates how to build a Slack integration that will generate Slack messages in a channel of your choice in response to events in your Platform account.
Copyright 2017-2020, Voxel51, Inc.