Skyline.DataMiner.Core.ArtifactDownloader
2.0.0-alpha1
Prefix Reserved
See the version list below for details.
dotnet add package Skyline.DataMiner.Core.ArtifactDownloader --version 2.0.0-alpha1
NuGet\Install-Package Skyline.DataMiner.Core.ArtifactDownloader -Version 2.0.0-alpha1
<PackageReference Include="Skyline.DataMiner.Core.ArtifactDownloader" Version="2.0.0-alpha1" />
paket add Skyline.DataMiner.Core.ArtifactDownloader --version 2.0.0-alpha1
#r "nuget: Skyline.DataMiner.Core.ArtifactDownloader, 2.0.0-alpha1"
// Install Skyline.DataMiner.Core.ArtifactDownloader as a Cake Addin #addin nuget:?package=Skyline.DataMiner.Core.ArtifactDownloader&version=2.0.0-alpha1&prerelease // Install Skyline.DataMiner.Core.ArtifactDownloader as a Cake Tool #tool nuget:?package=Skyline.DataMiner.Core.ArtifactDownloader&version=2.0.0-alpha1&prerelease
Skyline.DataMiner.Core.ArtifactDownloader
Skyline.DataMiner.Core.ArtifactDownloader is a .NET library designed to simplify and streamline the process of downloading various artifacts (Low-Code Apps, Dashboards, and Catalog Items) from DataMiner systems and artifact catalogs. It offers a clean API to handle artifact retrieval efficiently.
📦 Features
- DataMiner Artifact Downloads: Download Low-Code Apps and Dashboards directly from DataMiner systems.
- Flexible Download Options: Retrieve artifacts as raw byte arrays or save them as
.zip
files. - Error Handling: Robust exception handling for invalid inputs and connection issues.
- Extensible Service Interfaces: Clean and well-structured service interfaces for easy integration.
🚀 Getting Started
📥 Installation
Install the package via NuGet:
dotnet add package Skyline.DataMiner.Core.ArtifactDownloader
🔧 Usage
1. Connecting to DataMiner
using System.Net.Http;
using Skyline.ArtifactDownloader;
using Skyline.DataMiner.Net.GRPCConnection;
var slnetConnection = new GRPCConnection("your-dataminer-host");
var httpClient = new HttpClient();
var dataMinerService = Downloader.FromDataMiner(slnetConnection, httpClient);
2. Downloading a Low-Code App
using Skyline.ArtifactDownloader.Identifiers;
var appId = new LowCodeAppIdentifier("AppName", "1.0.0");
string savePath = @"C:\Downloads";
string filePath = await dataMinerService.DownloadLowCodeAppAsync(appId, savePath);
Console.WriteLine($"Low-Code App downloaded to: {filePath}");
3. Downloading a Dashboard
using Skyline.ArtifactDownloader.Identifiers;
var dashboardId = new DashboardIdentifier("DashboardName", "2.1.0");
string dashboardPath = @"C:\Downloads";
string filePath = await dataMinerService.DownloadDashboardAsync(dashboardId, dashboardPath);
Console.WriteLine($"Dashboard downloaded to: {filePath}");
🛠️ API Overview
Downloader Factory
IDataMinerService Downloader.FromDataMiner(IConnection slnetConnection, HttpClient downloadClient)
- Initializes a connection to the DataMiner system for artifact downloading.
IDataMinerService Interface
DownloadLowCodeAppAsync:
Download a Low-Code App as a byte array or.zip
file.DownloadDashboardAsync:
Download a Dashboard as a byte array or.zip
file.
Task<byte[]> DownloadLowCodeAppAsync(LowCodeAppIdentifier id);
Task<string> DownloadLowCodeAppAsync(LowCodeAppIdentifier id, string directoryPath);
Task<byte[]> DownloadDashboardAsync(DashboardIdentifier id);
Task<string> DownloadDashboardAsync(DashboardIdentifier id, string directoryPath);
ICatalogService Interface (Future Support)
Planned support for downloading items directly from the Catalog Service.
Task<string> DownloadCatalogItemAsync(CatalogIdentifier id, string directoryPath);
Task<CatalogDownloadResult> DownloadCatalogItemAsync(CatalogIdentifier id);
⚠️ Error Handling
DataMinerException
: Thrown when the connection to DataMiner fails.ArtifactDownloadException
: Thrown when the artifact cannot be downloaded.ArgumentNullException
&ArgumentException
: Input validation errors.
🤝 Contributing
Contributions are welcome! Feel free to submit issues or pull requests to improve the library.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.AspNet.WebApi.Client (>= 6.0.0)
- Newtonsoft.Json (>= 13.0.3)
- Skyline.DataMiner.CICD.FileSystem (>= 1.0.6)
- Skyline.DataMiner.Files.SLNetTypes (>= 10.4.9)
- Skyline.DataMiner.Utils.SecureCoding (>= 1.0.0)
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Runtime.Serialization.Primitives (>= 4.3.0)
- System.ServiceModel.Duplex (>= 4.4.4)
- System.ServiceModel.Http (>= 4.4.4)
- System.ServiceModel.NetTcp (>= 4.4.4)
- System.ServiceModel.Security (>= 4.4.4)
- System.Text.Json (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.0.3 | 0 | 2/4/2025 |
2.0.3-alpha | 0 | 2/4/2025 |
2.0.2 | 47 | 1/31/2025 |
2.0.2-alpha | 0 | 2/4/2025 |
2.0.1 | 43 | 1/30/2025 |
2.0.0 | 55 | 1/28/2025 |
2.0.0-alpha4 | 32 | 1/21/2025 |
2.0.0-alpha3 | 41 | 1/20/2025 |
2.0.0-alpha2 | 38 | 1/16/2025 |
2.0.0-alpha1 | 38 | 1/16/2025 |