Skyline.DataMiner.Utils.Json.Rpc.Api 1.0.0.1

Prefix Reserved
dotnet add package Skyline.DataMiner.Utils.Json.Rpc.Api --version 1.0.0.1                
NuGet\Install-Package Skyline.DataMiner.Utils.Json.Rpc.Api -Version 1.0.0.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Skyline.DataMiner.Utils.Json.Rpc.Api" Version="1.0.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Skyline.DataMiner.Utils.Json.Rpc.Api --version 1.0.0.1                
#r "nuget: Skyline.DataMiner.Utils.Json.Rpc.Api, 1.0.0.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Skyline.DataMiner.Utils.Json.Rpc.Api as a Cake Addin
#addin nuget:?package=Skyline.DataMiner.Utils.Json.Rpc.Api&version=1.0.0.1

// Install Skyline.DataMiner.Utils.Json.Rpc.Api as a Cake Tool
#tool nuget:?package=Skyline.DataMiner.Utils.Json.Rpc.Api&version=1.0.0.1                

Skyline.DataMiner.Utils.Json.Rpc

About

About Skyline.DataMiner.Utils.Json.Rpc

Skyline.DataMiner.Utils.Json.Rpc is a package available in the public nuget store that assist in implementing a custom API using the JSON-RPC protocol.

About DataMiner

DataMiner is a transformational platform that provides vendor-independent control and monitoring of devices and services. Out of the box and by design, it addresses key challenges such as security, complexity, multi-cloud, and much more. It has a pronounced open architecture and powerful capabilities enabling users to evolve easily and continuously.

The foundation of DataMiner is its powerful and versatile data acquisition and control layer. With DataMiner, there are no restrictions to what data users can access. Data sources may reside on premises, in the cloud, or in a hybrid setup.

A unique catalog of 7000+ connectors already exist. In addition, you can leverage DataMiner Development Packages to build you own connectors (also known as "protocols" or "drivers").

[!TIP] See also: About DataMiner

About Skyline Communications

At Skyline Communications, we deal in world-class solutions that are deployed by leading companies around the globe. Check out our proven track record and see how we make our customers' lives easier by empowering them to take their operations to the next level.

Requirements

The "DataMiner Integration Studio" Visual Studio extension is required for development of connectors and Automation scripts using NuGets.

See Installing DataMiner Integration Studio

[!IMPORTANT] NuGets are mandatory to be installed with PackageReferences. DIS was redesigned to work with PackageReferences and be future-proof.

For more information on how to migrate from packages.config to PackageReferences, see docs.microsoft.com.

Getting started

Creating a custom request using the JSON-RPC package and executing it:

public static class QAction
{
     /// <summary>
     /// The QAction entry point.
     /// </summary>
     /// <param name="protocol">Link with SLProtocol process.</param>
     public static void HandleRequest(SLProtocol protocol)
     {
         try
         {
             // Create Request
             string id = Convert.ToString(Guid.NewGuid());
             GetPeopleRequest request = new GetPeopleRequest(id);
             string requestString = JsonConvert.SerializeObject(request);
             
             // Execute Request
             protocol.SetParameter(Parameter.GetPeopleRequest, requestString);
             protocol.CheckTrigger(Trigger.RequestPeople);
         }
         catch (Exception ex)
         {
             protocol.Log("QA" + protocol.QActionID + "|" + protocol.GetTriggerParameter() + "|Run|Exception thrown:" + Environment.NewLine + ex, LogType.Error, LogLevel.NoLogging);
         }
     }

     public class GetPeopleRequest : Request
     {
         public GetPeopleRequest(string id) : base(id, "api/company/getpeople")
         {
         }
     }
}

Creating a custom response using the JSON-RPC package and parsing it:

public static class QAction
{
     /// <summary>
     /// The QAction entry point.
     /// </summary>
     /// <param name="protocol">Link with SLProtocol process.</param>
     public static void HandleResponse(SLProtocol protocol)
     {
         try
         {
             // Read Response
             string responseString = Convert.ToString(protocol.GetParameter(Parameter.GetPeopleResponse));
             GetPeopleResponse response = JsonConvert.DeserializeObject<GetPeopleResponse>(responseString);
             
             // Set Data
             protocol.FillArray(response.Result.People);
         }
         catch (Exception ex)
         {
             protocol.Log("QA" + protocol.QActionID + "|" + protocol.GetTriggerParameter() + "|Run|Exception thrown:" + Environment.NewLine + ex, LogType.Error, LogLevel.NoLogging);
         }
     }

     public class GetPeopleResponse : ResultResponse<GetPeopleResponseResult>
     {
         public override GetPeopleResponseResult Result { get; protected set; }
     }
     
     public class GetPeopleResponseResult
     {
         [JsonProperty("people", Required = Required.Always)]
         public Person[] People { get; private set; }
     }
     
     public class Person
     {
         [JsonProperty("id", Required = Required.Always)]
         public uint Id { get; private set; }
         
         [JsonProperty("name", Required = Required.Always)]
         public string Name { get; private set; }
     }
}
Product Compatible and additional computed target framework versions.
.NET Framework net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Skyline.DataMiner.Utils.Json.Rpc.Api:

Package Downloads
Skyline.DataMiner.Utils.AppearTV.X20.Api

Library providing AppearTV X20 API. Code Entry Point: Refer to the readme for more information.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0.1 696 3/13/2023