Goa.Clients.Sqs
0.0.3-preview.1
This is a prerelease version of Goa.Clients.Sqs.
dotnet add package Goa.Clients.Sqs --version 0.0.3-preview.1
NuGet\Install-Package Goa.Clients.Sqs -Version 0.0.3-preview.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="Goa.Clients.Sqs" Version="0.0.3-preview.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Goa.Clients.Sqs" Version="0.0.3-preview.1" />
<PackageReference Include="Goa.Clients.Sqs" />
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 Goa.Clients.Sqs --version 0.0.3-preview.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Goa.Clients.Sqs, 0.0.3-preview.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 Goa.Clients.Sqs@0.0.3-preview.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=Goa.Clients.Sqs&version=0.0.3-preview.1&prerelease
#tool nuget:?package=Goa.Clients.Sqs&version=0.0.3-preview.1&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Goa.Clients.Sqs
SQS client for queue operations in high-performance AWS Lambda functions. This package provides a lightweight, AOT-ready SQS client optimized for minimal cold start times.
Installation
dotnet add package Goa.Clients.Sqs
Features
- Native AOT support for faster Lambda cold starts
- Minimal dependencies and memory allocations
- Built-in error handling with ErrorOr pattern
- Support for standard and FIFO queues
- Batch operations for improved performance
- Dead letter queue support
Usage
Basic Setup
using Goa.Clients.Sqs;
using Microsoft.Extensions.DependencyInjection;
// Register SQS client
services.AddSqs();
Sending Messages
using Goa.Clients.Sqs.Operations.SendMessage;
using System.Text.Json;
public class QueueService
{
private readonly ISqsClient _sqs;
public QueueService(ISqsClient sqs)
{
_sqs = sqs;
}
public async Task<bool> SendMessageAsync(string queueUrl, object message)
{
var request = new SendMessageRequest
{
QueueUrl = queueUrl,
MessageBody = JsonSerializer.Serialize(message)
};
var result = await _sqs.SendMessageAsync(request);
return !result.IsError;
}
}
Receiving Messages
using Goa.Clients.Sqs.Operations.ReceiveMessage;
using Goa.Clients.Sqs.Models;
public async Task<List<SqsMessage>> ReceiveMessagesAsync(string queueUrl)
{
var request = new ReceiveMessageRequest
{
QueueUrl = queueUrl,
MaxNumberOfMessages = 10,
WaitTimeSeconds = 20
};
var result = await _sqs.ReceiveMessageAsync(request);
return result.IsError ? new List<SqsMessage>() : result.Value.Messages ?? new List<SqsMessage>();
}
Multiple Messages
public async Task SendMultipleMessagesAsync(string queueUrl, List<OrderEvent> orders)
{
foreach (var order in orders)
{
var request = new SendMessageRequest
{
QueueUrl = queueUrl,
MessageBody = JsonSerializer.Serialize(order)
};
var result = await _sqs.SendMessageAsync(request);
if (result.IsError)
{
Console.WriteLine($"Send failed: {result.FirstError}");
}
}
}
FIFO Queue Support
public async Task SendFifoMessageAsync(string queueUrl, object message, string groupId)
{
var request = new SendMessageRequest
{
QueueUrl = queueUrl,
MessageBody = JsonSerializer.Serialize(message),
MessageGroupId = groupId,
MessageDeduplicationId = Guid.NewGuid().ToString()
};
var result = await _sqs.SendMessageAsync(request);
if (result.IsError)
{
Console.WriteLine($"Send failed: {result.FirstError}");
}
}
Documentation
For more information and examples, visit the main Goa documentation.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. 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 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- ErrorOr (>= 2.0.1)
- Goa.Clients.Core (>= 0.0.3-preview.1)
-
net9.0
- ErrorOr (>= 2.0.1)
- Goa.Clients.Core (>= 0.0.3-preview.1)
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 |
---|---|---|
0.0.3-preview.1 | 50 | 8/23/2025 |
0.0.2-preview.2.3 | 114 | 8/18/2025 |
0.0.2-preview.2.2 | 116 | 8/17/2025 |
0.0.2-preview.2.1 | 112 | 8/17/2025 |
0.0.2-preview.2 | 109 | 8/9/2025 |
0.0.0-alpha.0.32 | 79 | 12/7/2024 |
0.0.0-alpha.0.20 | 75 | 10/27/2024 |