Skip to content
Example Integrations for the Voxel51 Platform
Python JavaScript
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
egress
ingress
slack
.gitignore
LICENSE
README.md

README.md

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.

voxel51-logo.png

Repository Structure

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-integration-diagram.png

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.

The tool uses Google Cloud Functions to provide a static URL that is configured as an endpoint for a Platform webhook. Internally, the Cloud Function uses the JavaScript Client Library to parse the event data and then publishes the event to Slack.

Copyright

Copyright 2017-2020, Voxel51, Inc.
voxel51.com

You can’t perform that action at this time.