Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes 3.8.1

Prefix Reserved
dotnet add package Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes --version 3.8.1
                    
NuGet\Install-Package Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes -Version 3.8.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="Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes" Version="3.8.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes" Version="3.8.1" />
                    
Directory.Packages.props
<PackageReference Include="Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes --version 3.8.1
                    
#r "nuget: Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes, 3.8.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.
#:package Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes@3.8.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes&version=3.8.1
                    
Install as a Cake Addin
#tool nuget:?package=Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes&version=3.8.1
                    
Install as a Cake Tool

Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes

The attribute types for the Kanject SQS queue provider, and nothing else: no runtime logic, no generator. Use them to declare queue messages, typed and routed consumers, consumer dependencies and filters. The source generator in Kanject.Core.Queue.Provider.AwsSqs.Annotations reads them at compile time and writes the corresponding registration, send and Lambda-dispatch code.

Installation

dotnet add package Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes

Targets netstandard2.0, net7.0 and net8.0. The netstandard2.0 build is the one the generator itself can load.

Most projects never reference this package directly. It arrives transitively through Kanject.Core.Queue.Provider.AwsSqs → Kanject.Core.Queue.Provider.AwsSqs.Annotations. Reference it directly when you want the attributes without the generator, for example to keep message types in a shared contracts library.

The generator only processes types declared in the project that references it. [QueueMessage] types in a library without the generator produce no send helpers. A [QueueConsumer(Message = typeof(...))] in another project can still read their queue name.

Example

using Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes;

[QueueMessage("orders")]
public sealed class OrderPlaced
{
    public string OrderId { get; set; } = string.Empty;
}

[QueueConsumer(Message = typeof(OrderPlaced))]
[QueueConsumerDependency(typeof(IFulfilmentService))]
public partial class OrderPlacedConsumer { /* override ConsumeAsync */ }

[RouteQueueConsumer(QueueName = "order-events", Message = typeof(OrderEvent))]
[QueueConsumerRoute("order.created")]
[QueueConsumerRoute("order.updated")]
public partial class OrderChangedHandler { /* override ConsumeAsync */ }

Attributes

All types are in the Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes namespace.

Attribute Applies to Purpose
[QueueMessage("queue-name")] class, record Marks a message type and names its queue. The generator emits queue registration (Add…Queue / Create…Queue) and typed Enqueue…Async / Dequeue…Async / Acknowledge…Async helpers
[QueueConsumer] (QueueName, QueueNamespace, Message) partial class Declares a consumer. It becomes typed (Message set) or raw (Message omitted)
[QueueConsumerDependency(typeof(TService), name)] consumer class, repeatable Adds a constructor-injected dependency, exposed as a protected property. name optionally overrides the property name
[QueueConsumerFilter("Property", new[] { "a", "b" })] [QueueConsumer] class Sends records whose JSON Property matches one of the values to this consumer, when several consumers share a queue. Not supported on route consumers
[QueueConsumerFilter<TEnum>("Property", values, comparisonMode)] [QueueConsumer] class Enum form of the filter. Generic attributes require C# 11 or later
EnumComparisonMode enum Name compares enum member names (for JsonStringEnumConverter). Value (the default) compares numeric values
[RouteQueueConsumer] (QueueName, QueueNamespace, Message) partial class Declares a consumer for one or more routes on a shared queue
[QueueConsumerRoute("route")] route consumer class, repeatable A route the [RouteQueueConsumer] handles. At least one is required (analyzer TRF001)
[EventQueue], [SubscribeToQueue], [EventHubQueueRouter] class Hooks for event-hub integrations that this SDK doesn't ship. See the generator package for what each one does on its own

The attributes carry no runtime behaviour. Applying them has no effect unless the generator package is referenced.

Package Role Availability
Kanject.Core.Queue.Provider.AwsSqs.Annotations Source generator and analyzers that consume these attributes nuget.org
Kanject.Core.Queue.Provider.AwsSqs SQS runtime the generated code targets nuget.org
Kanject.Core.Queue.Provider.AwsSqs.Abstractions SQS contracts and Lambda handler helpers nuget.org
Kanject.Core.Queue.Abstractions Provider-neutral queue contracts, including [QueueName] and the scheduling attributes nuget.org

License

Licensed under the Kanject Code Libraries License Agreement (KCLLA); the full text ships in this package as LICENSE.md. Organizations whose trailing-twelve-month gross revenue and total funding raised are each below US$250,000 may use it at no cost under the Free Tier. At or above either threshold a commercial license is required — contact commercial@kanjectbusiness.com.

Product 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 is compatible.  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 is compatible.  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.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.
  • net7.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Kanject.Core.Queue.Provider.AwsSqs.Annotations.Attributes:

Package Downloads
Kanject.Core.Queue.Provider.AwsSqs.Abstractions

Kanject Core Queue AWS Sqs Abstractions

Kanject.Core.Queue.Provider.AwsSqs.Annotations

Kanject Core Queue AWS Sqs Annotations

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.8.1 186 9/27/2026
3.8.0 129 9/27/2026
3.7.7 148 9/26/2026
3.7.6 174 9/7/2026
3.7.5 147 8/27/2026
3.7.4 154 8/22/2026
3.7.3 162 8/10/2026
3.7.2 163 8/9/2026
3.7.1 164 8/5/2026
3.7.0 162 8/5/2026
3.6.0 179 8/3/2026
3.5.4 246 7/18/2026
3.5.3 189 7/13/2026
3.5.2 159 7/11/2026
3.5.1 168 7/11/2026
3.5.0 210 7/9/2026
3.4.1 183 7/9/2026