Search for answers or browse our knowledge base.
Enterprise Connectors Reference Guide
0 out of 5 stars
5 Stars | 0% | |
4 Stars | 0% | |
3 Stars | 0% | |
2 Stars | 0% | |
1 Stars | 0% |
Introduction
The Vantiq Enterprise Connector capability supports the creation of new Vantiq source types. Within a Vantiq system, a source is the means by which the Vantiq system communicates with other systems. Each Vantiq source has a type. The source type determines defines the type(s) of system(s) with which the source can communicate. The Vantiq system has a variety of source types included, but individual enterprises may require connectivity to other systems. These other systems may be other commercial or standard systems, or they may be a home-grown system. In any case, the set of source types is extensible using Vantiq Enterprise Connectors.
Working with the Vantiq system, a connector (also known as an extension source) can be constructed and operated outside the Vantiq installation. This allows these sources to fully participate in Vantiq edge or full installations.
Enterprise Connectors Overview
Enterprise Connectors are used to allow Vantiq to communicate with various other systems. Supported operations include
- sending a message to the connector (or, more precisely, via the connector to the connected system),
- having the connector send a message to Vantiq, and
- querying the connector (or, more precisely, the system being connected).
It is important to understand that the interpretation of these operations is determined completely by the connector designer/developer.
For example, when sending a message to an enterprise connector, it might be the case that depending upon some parameter in the message, the connector might save the data, invoke some operation, or perform some other action that is appropriate for the data system that connector represents.
Enterprise Connector Details
Sources developed using the Enterpise Connector (aka Extension Source) capabilities can be developed by Vantiq or by other parties.
Details regarding how to develop, install, and operate these sources can be found in the Vantiq Extension Source GitHub repository. This repository also contains the open source source types.
Managing the Connector
Information regarding lifecycle-managed deployments can be found in the External Lifecycle Management Guide and the Sources section of the Resource Reference Guide. Specifically, see the deploy, shutdown, restart, and undeploy operations.
Communicating with an Enterprise Connector
You can send and receive data from an Enterprise Connector using the standard VAIL SELECT and PUBLISH operations, as well as rules involving the receipt of messages from the connector. See the VAIL Rule and Procedure Reference Guide for details.
Additionally, some Enterprise Connectors may support operations involving Vantiq Document, Images, or Videos. Please see the individual connector’s documentation for details.
Sending Document, Image, or Video via JSON
There may be cases when you need to embed document, image, or video data in a message to a connector. This may be to send data to some specialized service that includes other information in the JSON body. To do this, we make use of packaged references.
Specifically, we can provide a packaged reference as the value for a property in our VAIL message body. For example, to perform a query on a sourceentConnSource
, sending the data from the Document aBeautifulPicture, we would use the following code.
var queryDesc = { name: "aBeautifulPicture",
picture: Utils.packageReference("system.documents/aBeautifulPicture")
}
SELECT * FROM SOURCE entConnSource as o WITH
query = queryDesc {
// Process response returned in variable 'o'
}
This will send a JSON message with a name
property set to aBeautifulPicture
and a picture
property set to the value of the document aBeautifulPicture. If the fileType
of the referenced document is not text, the value of picture
will be base64 encoded. If that document’s fileType
is text, the picture
value will not be base64 encoded.
If you need to perform base64 encoding regardless of the target’s fileType
, sent the forceBase64
parameter to Utils.packageReference()
to true
.
var queryDesc = { name: "aBeautifulPicture",
picture: Utils.packageReference("system.documents/aBeautifulPicture", true)
}
SELECT * FROM SOURCE entConnSource as o WITH
query = queryDesc {
// Process response returned in variable 'o'
}
In this case, the picture
property will be base64 encoded regardless of the fileType
of the referenced document, image, or video.
Similarly, if you with to PUBLISH data to a enterprise connector source with document, image, or video data in the VAIL message, you would use something like the following.
var rRef = "system.documents/aBeautifulPicture"
PUBLISH { body: { name: "aBeautifulPicture",
picture: { subject: "sunset",
imageContent: Utils.packageReference(rRef)
}
}
}
This example publishes a message whose body consists of a property name
with the value aBeautifulPicture, and a property picture
whose value is a nested object with properties subject
with value sunset and imageContent
containing the value of the document aBeautifulPicture. As with the previous example, imageContent
’s value will be base64 encoded if the fileType
of aBeautifulPicture is not text. To override this behavior, provide the forceBase64
parameter to Utils.packageReference()
.
Size Limits When Operating on Documents, Images, or Videos
In all of these cases, the documents, images, or videos referenced are expanded in the Vantiq server as required. This expansion is controlled by organization quotas that limit how much memory these document, image, or video expansions can concurrently consume. Should these limits be exceeded, operations will wait until there is sufficient quota available. However, if a particular request would exceed the quota by itself, the request will result in an error.
0 out of 5 stars
5 Stars | 0% | |
4 Stars | 0% | |
3 Stars | 0% | |
2 Stars | 0% | |
1 Stars | 0% |
-
Getting Started
-
- Advanced Collaboration Tutorial
- Analytics Tutorial
- App Component Tutorial
- Application Deployment Tutorial
- Assembly Tutorial
- Autopsy Debugger Tutorial
- Catalogs Tutorial
- Client Builder Tutorial
- Client Component Tutorial
- Collaboration Tutorial
- Conversation Widget Tutorial
- Floor Plan
- GenAI Builder Tutorial
- Source Tutorial
- Stateful Services
- System Modeler Tutorial
- Testing the Debugging Tutorial
- Testing the Introductory Tutorial
- Testing the Source Tutorial
- User and Namespace Administration Tutorial
- Show Remaining Articles ( 5 ) Collapse Articles
-
Product Documentation
-
-
-
- Accessing Documents
- Automatic Document Caching
- Client Resources
- Client Startup
- Control Widgets in the "Views" Portion of Client Builder
- Controllers
- Creating A Client
- Data Objects
- Data Stream Widgets in the “Views” Portion of Client Builder
- Data Streams
- Debugging
- Field Validation
- Introduction
- Launching Clients from a browser
- Layout Widgets in the “Views” Portion of Client Builder
- Localizing Clients
- Navigation Between Pages
- Offline Operation
- On Start Events
- Public Clients
- Server Requests
- Terminating The Client
- The Client Builder Concepts
- The Client Builder's Canvas Section
- The Client Builder's Control Dock
- The Client Builder's Palette Area
- The Client Builder's Slideout Section
- Uploading data to the Server
- Show Remaining Articles ( 13 ) Collapse Articles
-
- ‘On Assets Loaded’ Event
- ‘On Change’ Event
- ‘On Click’ Event
- ‘On Client Start’ Event
- ‘On Context Menu’
- ‘On Data Arrived’ Event
- ‘On End’ Event
- ‘On End’ Event
- ‘On Network Status Changed’ Event
- ‘On Start’ Event
- ‘On Start’ Event
- ‘On Swipe’
- ‘On Validation’ Event
- abort()
- AccordionLayout
- addAPIRequestFor(responseObjectProperty:string):boolean
- addEventHandler()
- addRequestFor(widgetName:string):boolean
- addRequestForDataURL():void
- addRequestsForClient():boolean
- addRequestsForCurrentPage():boolean
- addRequestsForPage(pageName:string):boolean
- adjustPopupSizeAndPosition()
- AudioRecorder
- Basic Information
- cancelSpeaking()
- children
- clearInterval()
- clearTimeout()
- clearUpload()
- clearValidationErrors()
- clone()
- closeIcon:string
- closeIcon:string
- closePopup()
- confirmCustom()
- confirmCustomEx()
- copyMatchingData(obj:any):void
- createClientEventDataStream()
- createDataChangedDataStream()
- createOutboundServiceEventDataStream()
- createPagedQueryDataStream()
- createPublishEventDataStream()
- createResourceEventDataStream()
- createResponseObject()
- createSourceEventDataStream()
- createTimedQueryDataStream()
- data
- data
- DataObject
- DataStream
- defaultSubmit()
- deleteAll()
- deleteOne()
- deleteOne()
- documentGroupName:string
- documentName:string
- errorDialog()
- execute()
- execute()
- executePublic()
- executePublic()
- executeStreamed()
- executeStreamed()
- executeStreamedPublic()
- executeStreamedPublic()
- fontColor:string
- fontFace:string
- fontSize:number
- fontStyle:string
- fontWeight:string
- formatMsg()
- generateUUID()
- getCollaborationContext()
- getCurrentPage()
- getCurrentPopup()
- getDataStreamByName()
- getDataStreamByUUID()
- getDeviceId()
- getDeviceName()
- getDocumentAssetLabelList()
- getDocumentAssetList()
- getDocumentUrl()
- getGroupNames()
- getLocation()
- getName()
- getProfileNames()
- getRequestParameters()
- getStateObject()
- getUsername()
- getUserRecord()
- getWidget()
- goToPage()
- hideCancelButton()
- Http
- infoDialog()
- initializePropertyToDefaultValue(propertyName:string):void
- initializeToDefaultValues():void
- insert()
- insert()
- instance
- isExpanded:Boolean
- isNetworkActive
- isPaused:boolean
- isPublic
- localeCountryCode
- localeLanguageCode
- localeVariantCode
- logout()
- markupImage()
- maxDurationInSeconds:number
- maxSizeInK:number
- modifyClientEvent()
- modifyDataChanged()
- modifyPagedQuery()
- modifyPublishEvent()
- modifyResourceEvent()
- modifyServiceEvent()
- modifySourceEvent()
- modifyTimedQuery()
- name:string
- navBarBackgroundColor
- navBarForegroundColor
- navBarIcon
- navBarIconHeight
- navBarIconWidth
- navBarShowControls
- navBarTitle
- navBarTitleFontFamily
- navBarTitleFontSize
- navBarTitleFontWeight
- openIcon:string
- optional:boolean
- overrideLocale
- Page
- patch()
- placeholder:string
- playAudio()
- playVideo()
- popupPage()
- publish()
- publish()
- publishToServiceEvent()
- query()
- recordAudio()
- recordVideo()
- remove():void
- responseObject:any
- restart():void
- returnToCallingPage()
- scanBarcode()
- select()
- select()
- selectOne()
- selectOne()
- sendClientEvent()
- sendLocation()
- setInterval()
- setResponseObject(responseObject:any=null, responseResource:string=null, responseResourceId:string=null):void
- setResponseObjectValues(submitValue:number, responseObjectValues:any, responseResource:string=null, responseResourceId:string=null):void
- setTimeout()
- setVantiqHeaders()
- setVantiqUrlForResource()
- setVantiqUrlForSystemResource()
- showDocument()
- showHttpErrors()
- showMap()
- speakText()
- start(completedFunction:Function):boolean
- startBLEScan()
- stopGeofencing()
- takePhoto()
- terminate()
- terminateWithDialog()
- title:string
- titleForegroundColor:string
- update()
- update()
- uploadDataURL()
- uploadDocument()
- Uploader
- upsert()
- upsert()
- uuid:string
- validate()
- validate()
- Widget Hierarchy
- Show Remaining Articles ( 172 ) Collapse Articles
-
-
-
- Accessing Namespaces in the Organization
- Active Resource Control Center
- Adding a New User to an Organization
- Adding a New User to the Application Namespace
- Administrators' Concepts and Terminology
- Authorizing Users to Access the Application
- Creating a Developer Namespace for the Organization Administrator
- Creating a New Application Namespace
- Creating Resources for New Namespaces
- Custom User Invites
- Deploying the GenAI Flow Service Connector
- Developer Tasks
- Handling Administrators Leaving
- Related Configuration
- Removing Namespace Administrators
- Self-Administration Tasks
- System Administration Tasks
- Viewing Lists of Users
- Show Remaining Articles ( 3 ) Collapse Articles
-
- Deploy Results Tab
- Deploying the same application to different environments
- Deployment
- Deployment Tool - Introduction
- Environment
- Environment Tab
- Node
- Project Partitions
- Redeploy On A Failed Node
- Reliable Deployment
- Settings Tab
- The Graph View
- The Tree View
- Undeploy
- Update Partitions
- Verify Application After Deployment
- Show Remaining Articles ( 1 ) Collapse Articles
-
- CheckedInsert/CheckedUpsert Command
- Command Line Options
- Delete Command
- Execute Command
- Export Command
- Find Command
- Help Command
- Import Command
- Insert Command
- Installation - Prerequisites
- Installation - Profile
- List Command
- Load Command
- Recommend Command
- Run Command
- Select Command
- Stop Command
- The Vantiq Command Line Interface (CLI) - Overview
- Upsert Command
- Show Remaining Articles ( 4 ) Collapse Articles
-
- App Execution Dashboard
- App With Split Dashboard
- Dashboard Navigation Bar
- Deprecated Dashboards
- Event Processing Dashboard
- General Dashboard Behavior
- Getting Started with Grafana
- Grafana Usage
- Monitoring Namespaces with Grafana
- Most Commonly Used Dashboards
- Namespace Monitoring Dashboards
- Organization Level Behavior
- Procedure and Rule Execution Dashboards
- Profiling Dashboards
- Reliable Event Dashboard
- Resource Usage Dashboard
- Service Execution Dashboard
- Service Handler Dashboard
- Source Activity Dashboard
- Storage Manager Dashboard
- Tensorflow Model Dashboard
- Type Storage Dashboard
- Show Remaining Articles ( 7 ) Collapse Articles
-
- Access to a Kubernetes Cluster
- Creating a K8s Cluster
- Delayed Processing
- Deploying K8s Installations to a Kubernetes Cluster
- Deploying the K8s Worker
- External Lifecycle Management Guide - Overview
- K8s Worker
- Kubernetes Components of a K8s Installation
- Kubernetes Namespaces
- Loading Images into a Kubernetes Cluster
- Managing K8s Installations
- Other Configuration Options
- System View
- Use of the self Cluster
- Using a Kubernetes Cluster
- Using Templates to Deploy the K8s Worker
- Vantiq Namespaces
- Verify Installation
- Show Remaining Articles ( 3 ) Collapse Articles
-
- Changing the System Password
- Creating a GenAIFlowService Service Connector
- Creating a New Organization and Namespace
- Deployment Methods
- Docker Deployment
- Edge Installation Management
- Edge Vision Server
- Executable JAR Deployment
- MongoDB
- Requirements
- Running the Vantiq Executable
- Setting the default LLMs API key
- Setting Up Vantiq Edge
- Vantiq Edge Reference Guide - Overview
- Vantiq Edge Self Node
- Windows bat file
- Show Remaining Articles ( 1 ) Collapse Articles
-
- Additional Buffer Semantics
- Applicability
- auditFrequency Quota
- Background
- Default Quotas
- Detailed Credit Quotas
- errorBreaker Quota
- errorReportingFrequency Quota
- Execution Credit Quota
- Execution Credit Quota - Diagnostics
- Execution Credit Quota - Mitigation
- Execution Rate Quota
- Execution Rate Quota - Diagnostics
- Execution Rate Quota - Mitigations
- executionTime Quota
- k8sResources Quota
- Quota Interactions
- receiveMessage Quota
- receiveMessage Quota - Diagnostics
- receiveMessage Quota - Mitigation
- reservedGroups Quota
- stackDepth Quota
- Stream Quota
- Terminology
- Workload Management
- Workload Management Conceptual Model
- Show Remaining Articles ( 11 ) Collapse Articles
-
-
-
- Android Post-Installation Instructions
- Authentication Functions
- Database Functions
- Installation Instructions
- iOS Post-Installation Instructions
- Miscellaneous Functions
- Prerequisites
- Procedure Execution Functions
- Publishing Functions
- Sample iOS AppDelegate.m File
- User Creation Functions
- Vantiq Functionality for React Native Apps
-
-
- Accumulate State
- Analytics
- Answer Question
- App Activity Tasks
- App Builder Guide - Introduction
- App Builder Overview
- Assign
- Build and Predict Path
- Cached Enrich
- Chat
- Close Collaboration
- Collaborations in Apps
- Compute Statistics
- Convert Coordinates
- Creating an App
- DBScan
- Delay
- Dependency Management
- Dwell
- Enrich
- Error Handling
- Escalate
- EscalateState
- Establish Collaboration
- Event Redelivery
- Event Stream
- Filter
- GenAI Flow
- Get Collaboration
- Interpret Conversational Language
- Join
- K-Means Cluster
- Limit
- Linear Regression
- Log Stream
- Loop While
- Merge
- Notify
- Optional Imports
- Polynomial Fitter
- Predict Paths By Age
- Procedure
- Process Intent
- PublishToService
- PublishToSource
- PublishToTopic
- Rate
- Recommend
- RecordEvent
- Reliable Apps
- Run TensorFlow Model On Document
- Run TensorFlow Model On Image
- Run TensorFlow Model On Tensors
- Sample
- SaveToType
- Split By Group
- Submit Prompt
- Threshold
- Time Difference
- Track
- Track Motion
- Tracking Progress
- Transformation
- Unwind
- VAIL
- VisionScript
- Window
- Within Tracking Region
- YOLO From Images
- Show Remaining Articles ( 54 ) Collapse Articles
-
-
-
- Broker Service
- Catalog Operations
- Catalog Procedures
- Connect to Catalog
- Create Entry
- Create Entry
- Custom Operations
- Disconnect from Catalog
- Host Catalog
- Integrating Applications With the Catalog
- Managing Catalog
- Managing Event Types
- Publisher Service
- Register
- Remove Entry
- Repair Catalog
- Resolve
- Subscriber Service
- Unhost Catalog
- Unregister
- Utilities
- Show Remaining Articles ( 6 ) Collapse Articles
-
- AMQP Reference Guide
- CHATBOT Reference Guide
- Email Reference Guide
- Enterprise Connectors Reference Guide
- External Source Reference Guide
- Google Cloud Pub/Sub Reference Guide
- KAFKA Reference Guide
- MQTT Reference Guide
- Push Notification Reference Guide
- Remote Reference Guide
- SMS Reference Guide
- Video Reference Guide
-
-
- Advanced Use Cases
- Data Manipulation
- Defining Types
- Discovery from External Data Store
- Error Handling
- Installation and Use
- Native Language Implementation
- Restricting Capabilities
- Service Connectors
- Storage Manager Assembly Contents
- Storage Manager Service API
- Storage Manager Transactions
- Storage Managers - Introduction
- Transaction Support
-
-
-
- App Pane
- Autopsies
- Defining a Run Policy
- Defining a Test Suite - Properties
- Defining an Input
- Defining an Output
- Error Pane
- Integration Tests
- Populate Testing Namespace With Data
- Procedure Pane
- Rule Pane
- Running a Test in the IDE
- Running a Test through the REST Interface
- Source Mocking For Tests
- Unit Tests
- Vantiq Testing Reference Guide - Introduction
- Show Remaining Articles ( 1 ) Collapse Articles
-
-
-
- AWS
- Azure OpenAI
- Bedrock
- Configuration
- Function Authorizer
- Gemini
- LLM Playground
- Main Chatting Area
- Navigation Panel
- NVIDIA NIM
- OpenAI
- SageMaker
- Settings Panel
- Testing Semantic Index
- Tool Authorizer
- Tools
- Show Remaining Articles ( 1 ) Collapse Articles
-
-
-
- Assembly Configs
- Audits
- Catalog Members
- Catalogs
- Debug Configs
- Delegated Requests
- Documents
- Event Generators
- Groups
- Images
- K8s Clusters
- K8s Installations
- K8s Workitems
- LLMs
- Logs
- Namespaces
- Nodes
- Organizations
- Procedures
- Profiles
- Projects
- Resource Definition
- Resource Events
- Resource Relationship Model
- Resource Security Model
- Rules
- Scheduled Events
- Secrets
- Semantic Indexes
- Service Connectors
- Services
- Sources
- StorageManagers
- TensorFlowModels
- Test Reports
- Test Suites
- Tests
- Tokens
- Topics
- TrackingRegions
- Types
- Users
- Vantiq Resources
- Videos
- Show Remaining Articles ( 29 ) Collapse Articles
-
- Before Rules
- Built-In Services
- Data Manipulation
- Data Model Declarations
- Declaring Packages
- Defining Remote Connections
- Distributed Processing
- Error Handling
- Event Sending
- External State
- Flow Control
- General Use Procedures
- In-Memory State Management
- Iteration
- Logging
- Operators
- Package Scoping and Name Resolution
- Packages
- Packages
- Persistent State
- Procedure Execution
- Procedures
- PROCESSED BY Clause
- Resource Definition
- RETURN
- Rules
- Services
- Syntax
- Type Specific Procedures
- VAIL Declarations
- VAIL Types
- Variables
- Show Remaining Articles ( 17 ) Collapse Articles
-
-
-
Articles
-
- Build Your Own Tools
- Cache Services
- Camel Assemblies
- Client to Component Conversaion
- Discovering Current Session Information
- Dynamic Client Content
- Dynamic Map View Widget
- Filters
- GenAI Builder Tools
- Generative AI Functions (Tools)
- Generative AI with Collaborations
- How To Video Shorts: Client Layouts
- How To Video Shorts: AI Functions
- How To Video Shorts: Analytics and ComputeStatistics
- How To Video Shorts: Calling Procedures by Properties
- How To Video Shorts: Client CSS
- How To Video Shorts: Invite Other Users to Your Namespace
- How To Video Shorts: SplitByGroup
- How To Video Shorts: The Vantiq API
- How To Video Shorts: The Vantiq IDE
- How To Video Shorts: The Vantiq Version Control System
- How To Video Shorts: Using Generative AI in Applications
- How-To Video Shorts: Managing AI Conversations
- How-To Videos: AI Design Model Assistant
- How-To Videos: AI Documentation Search
- Managing AI Conversation
- Production Applications Best Practices
- Public Clients
- Security Secrets
- Service Event Handlers
- Sharing Resources
- Streaming AI Output
- Transformations
- Using the Video Sources
- Web-Based APIs
- Show Remaining Articles ( 20 ) Collapse Articles