![]() |
VOOZH | about |
dotnet add package Pervaxis.Core.Messaging --version 1.6.0
NuGet\Install-Package Pervaxis.Core.Messaging -Version 1.6.0
<PackageReference Include="Pervaxis.Core.Messaging" Version="1.6.0" />
<PackageVersion Include="Pervaxis.Core.Messaging" Version="1.6.0" />Directory.Packages.props
<PackageReference Include="Pervaxis.Core.Messaging" />Project file
paket add Pervaxis.Core.Messaging --version 1.6.0
#r "nuget: Pervaxis.Core.Messaging, 1.6.0"
#:package Pervaxis.Core.Messaging@1.6.0
#addin nuget:?package=Pervaxis.Core.Messaging&version=1.6.0Install as a Cake Addin
#tool nuget:?package=Pervaxis.Core.Messaging&version=1.6.0Install as a Cake Tool
AWS SQS message publishing with typed domain event support and transport envelope metadata. Implements Section 13 of the Pervaxis Platform Spec.
AWS SQS only. RabbitMQ and other message brokers are not supported by design — all environments (dev, UAT, staging, production) use AWS SQS.
dotnet add package Pervaxis.Core.Messaging
builder.Services.AddPervaxisMessaging(options =>
{
options.ServiceName = "order-service";
options.Sqs.Region = "ap-south-1";
options.Sqs.DefaultQueueUrl = "https://sqs.ap-south-1.amazonaws.com/123456789/orders";
});
Or via appsettings.json:
{
"Pervaxis": {
"Messaging": {
"ServiceName": "order-service",
"Sqs": {
"Region": "ap-south-1",
"DefaultQueueUrl": "https://sqs.ap-south-1.amazonaws.com/123456789/orders",
"QueueUrlMappings": {
"OrderPlaced": "https://sqs.ap-south-1.amazonaws.com/123456789/order-events",
"PaymentProcessed": "https://sqs.ap-south-1.amazonaws.com/123456789/payment-events"
},
"EventBridgeBusArn": "arn:aws:events:ap-south-1:123456789:event-bus/pervaxis-platform"
}
}
}
}
public class OrderService(IMessagePublisher publisher)
{
public async Task PlaceOrderAsync(PlaceOrderCommand command, CancellationToken ct)
{
// ... domain logic ...
await publisher.PublishAsync(new OrderPlacedEvent
{
EventId = Guid.NewGuid(),
TenantId = command.TenantId,
CorrelationId = command.CorrelationId,
OccurredAt = DateTime.UtcNow,
OrderId = order.Id
}, ct);
}
}
await publisher.PublishBatchAsync(domainEvents, cancellationToken);
// Internally batches into 10-message SQS chunks per AWS SDK limit.
Every message is wrapped automatically:
{
"envelopeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"messageType": "Acme.Orders.Events.OrderPlacedEvent",
"messageVersion": 1,
"sourceService": "order-service",
"tenantId": "tenant-abc",
"correlationId": "req-corr-xyz",
"enqueuedAt": "2026-04-16T10:30:00Z",
"payload": "{ ... json serialized event ... }"
}
The service role requires the following SQS permissions:
{
"Effect": "Allow",
"Action": ["sqs:SendMessage", "sqs:SendMessageBatch"],
"Resource": "arn:aws:sqs:ap-south-1:123456789:*"
}
Pervaxis Platform · Clarivex Technologies · https://clarivex.tech
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. 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 |
|---|---|---|
| 1.6.0 | 96 | 6/6/2026 |