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.
dotnet new solution
dotnet sln add src\MyCustomConnector\MyCustomConnector.csproj
dotnet sln add test\MyCustomConnector.Tests\MyCustomConnector.Tests.csproj
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.