Creating Custom Connectors
Prerequisites
.Net Core SDK
.Net IDE of choice
Access to the DryvIQ SDK packages
DryvIQ SDK custom project template
Basic understanding of creating a DryvIQ Platform extension
Getting Started
The DryvIQ Platform allows users to connect to on-premise and cloud storage platforms and orchestrate the content contained within those platforms. In order to orchestrate the content, DryvIQ first needs to be able to talk to the storage platforms on both the source and the destination. This is accomplished by providing an implementation of an IConnectorProvider
interface. DryvIQ provides supported implementations for a number of storage platforms out of the box. However, when a customer has a platform that we do not support out of the box, then a custom connector must be provided that acts as the bridge between the native storage platform APIs and DryvIQ.
Creating a Custom Connector
In the previous tutorial, we created a basic platform extension. We also mentioned some additional parameters that can be used to customize the project that is generated by the template. One of those parameters is --extension
. It can be used to specify the exact type of extension that you would like to create. One of the available options is --extension=connector
that customizes the project as a custom connector:
dotnet new skysynclib --name MyCustomConnector --extension connector
Just as we had to do in the previous tutorial, we need to create a solution and add our new projects to it.
cd MyCustomConnector
dotnet new solution
dotnet sln add src\MyCustomConnector\MyCustomConnector.csproj
dotnet sln add test\MyCustomConnector.Tests\MyCustomConnector.Tests.csproj
Deployment
During development of this custom connector, it is recommended to just build the project using dotnet build
, which will build using the Debug configuration as well as copy the connector into the appropriate directory on your machine for DryvIQ to pick it up if you have a local copy that you can use to test live within the product. However, once you are ready to deploy this connector to customers then you will want to package it as a NuGet package (.nupkg file) using dotnet pack --configuration Release
and deploy it to a DryvIQ instance.