Skip to content

voxel51/platform-integrations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Example Integrations for the Voxel51 Platform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5