![]() |
VOOZH | about |
dotnet add package MeshWeaver.Import --version 2.5.0
NuGet\Install-Package MeshWeaver.Import -Version 2.5.0
<PackageReference Include="MeshWeaver.Import" Version="2.5.0" />
<PackageVersion Include="MeshWeaver.Import" Version="2.5.0" />Directory.Packages.props
<PackageReference Include="MeshWeaver.Import" />Project file
paket add MeshWeaver.Import --version 2.5.0
#r "nuget: MeshWeaver.Import, 2.5.0"
#:package MeshWeaver.Import@2.5.0
#addin nuget:?package=MeshWeaver.Import&version=2.5.0Install as a Cake Addin
#tool nuget:?package=MeshWeaver.Import&version=2.5.0Install as a Cake Tool
MeshWeaver.Import is a powerful module for importing data into the MeshWeaver data ecosystem. It supports complex data import scenarios with distributed processing capabilities, allowing data to be imported, transformed, and distributed across multiple message hubs.
The library provides:
graph TD
A[Client] -->|ImportRequest| B[Import Hub]
B -->|Parse Data| C[Data Parser]
C -->|Route Data| D{Data Router}
D -->|Reference Data| E[Reference Data Hub]
D -->|Transactional Data| F[Transactional Hub]
F -->|Compute| G[Computed Data Hub]
style A fill:#f9f,stroke:#333,stroke-width:2px
style B fill:#bbf,stroke:#333,stroke-width:2px
style D fill:#dfd,stroke:#333,stroke-width:2px
Import reference data (e.g., Lines of Business):
// Define import data
var importData = @"@@LineOfBusiness
SystemName,DisplayName
1,LoB_one
2,LoB_two";
// Create and send import request
var client = GetClient();
var importRequest = new ImportRequest(importData);
var importResponse = await client.AwaitResponse(
importRequest,
o => o.WithTarget(new ImportAddress(2024))
);
// Check import status
importResponse.Message.Log.Status.Should().Be(ActivityStatus.Succeeded);
Import multiple data types in a single request:
var multiTypeData = @"@@LineOfBusiness
SystemName,DisplayName
1,LoB_one
2,LoB_two
@@BusinessUnit
SystemName,DisplayName
BU1,BU_one
2,BU_two";
var importRequest = new ImportRequest(multiTypeData);
var response = await client.AwaitResponse(
importRequest,
o => o.WithTarget(new ImportAddress(2024))
);
Example of a complex distributed import scenario that processes transactional data and computes derived values:
// Define distributed import data
var distributedData = @"@@TransactionalData
Id,Year,LoB,BusinessUnit,Value
1,2024,1,1,1.5
2,2024,1,2,2
3,2024,2,1,3
4,2024,2,2,4";
// Configure import with format
var importRequest = new ImportRequest(distributedData) {
Format = "CashflowImport" // Specify import format
};
// Send to import hub
var importResponse = await client.AwaitResponse(
importRequest,
o => o.WithTarget(new ImportAddress(2024))
);
// Data is automatically distributed and processed:
// 1. Transactional data is stored in TransactionalDataHub
// 2. Computed values are generated in ComputedDataHub
Configure routing for distributed processing:
configuration.WithRoutes(forward =>
forward
.RouteAddressToHostedHub<ReferenceDataAddress>(c =>
c.ConfigureReferenceDataModel())
.RouteAddressToHostedHub<TransactionalDataAddress>(c =>
c.ConfigureTransactionalModel((TransactionalDataAddress)c.Address))
.RouteAddressToHostedHub<ComputedDataAddress>(c =>
c.ConfigureComputedModel((ComputedDataAddress)c.Address))
.RouteAddressToHostedHub<ImportAddress>(c =>
c.ConfigureImportHub((ImportAddress)c.Address))
);
Data Type Support
Import Formats
Distributed Processing
Activity Tracking
Data Organization
@@DataType1
field1,field2
value1,value2
@@DataType2
field1,field2
value1,value2
Error Handling
try
{
var response = await client.AwaitResponse(importRequest, options);
if (response.Message.Log.Status != ActivityStatus.Succeeded)
{
// Handle import failure
}
}
catch (Exception ex)
{
// Handle errors
}
Data Validation
services.AddMessageHub(hub => hub
.ConfigureServices(services => services
.AddImport()
.AddReferenceData()
.AddTransactionalData()
.AddComputedData()
)
);
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-preview1 | 110 | 4/16/2026 |
| 2.5.0 | 218 | 11/3/2025 |
| 2.4.0 | 196 | 10/2/2025 |
| 2.3.0 | 234 | 8/4/2025 |
| 2.2.0 | 546 | 7/21/2025 |
| 2.1.0 | 232 | 4/6/2025 |
| 2.0.3 | 537 | 3/24/2025 |
| 2.0.2 | 529 | 3/24/2025 |
| 2.0.1 | 176 | 3/21/2025 |
| 2.0.0 | 207 | 3/20/2025 |
| 2.0.0-preview3 | 152 | 2/28/2025 |
| 2.0.0-Preview2 | 151 | 2/10/2025 |
| 2.0.0-preview1 | 149 | 1/6/2025 |
| 1.0.1 | 184 | 10/8/2024 |
| 1.0.0 | 173 | 10/8/2024 |