-
Notifications
You must be signed in to change notification settings - Fork 861
Open
Description
When calling health check endpoints, AWS-related health checks (S3, DynamoDB, and SQS) are throwing MissingMethodException errors:
- S3 health checks fail with: Method not found: 'Void Amazon.S3.Model.ListObjectsRequest.set_MaxKeys(Int32)'
- DynamoDB health checks fail with: Method not found: 'Void Amazon.DynamoDBv2.Model.ListTablesRequest.set_Limit(Int32)'
- SQS health checks fail with QueueDoesNotExistException (separate configuration issue)
What you expected to happen:
All AWS health checks should execute successfully and return healthy status when AWS services are properly configured.
How to reproduce it (as minimally and precisely as possible):
- Create a .NET 10 project
- Install the following packages:
- AspNetCore.HealthChecks.Aws.S3 v9.0.0
- AspNetCore.HealthChecks.DynamoDb v9.0.0
- AspNetCore.HealthChecks.Aws.Sqs v9.0.0
- AWSSDK.Core v4.0.3.10
- AWSSDK.S3 v4.0.6
- AWSSDK.DynamoDBv2 v4.0.10.9
- AWSSDK.SQS v4.0.2.5
- Configure health checks for AWS services
- Call the health check endpoint
- Observe MissingMethodException errors
Source code sample:
public static IServiceCollection AddBackendHealthChecks(
this IServiceCollection services,
IConfiguration configuration)
{
IHealthChecksBuilder healthChecks = services.AddHealthChecks();
// S3 Health checks - throws MissingMethodException
healthChecks.AddS3(
options =>
{
options.S3Config = new Amazon.S3.AmazonS3Config
{
RegionEndpoint = RegionEndpoint.EUWest1,
};
options.BucketName = "test-bucket";
},
name: "aws s3 - test"
);
// DynamoDB Health check - throws MissingMethodException
healthChecks.AddDynamoDb(options =>
{
options.RegionEndpoint = RegionEndpoint.EUWest1;
});
// SQS Health check
healthChecks.AddSqs(options =>
{
options.RegionEndpoint = RegionEndpoint.EUWest1;
options.AddQueue("queue-name");
});
return services;
}
Anything else we need to know?:
- The issue appears to be caused by breaking changes in AWS SDK v4.x where properties like MaxKeys and Limit were changed from property setters to methods
- This issue is critical for projects targeting .NET 10 that want to use the latest AWS SDK
Environment:
- .NET Core version: .NET 10 (targeting net10.0)
- Healthchecks version: 9.0.0 (AspNetCore.HealthChecks.Aws.S3, AspNetCore.HealthChecks.DynamoDb, AspNetCore.HealthChecks.Aws.Sqs)
- AWS SDK versions: 4.0.x (AWSSDK.Core 4.0.3.10, AWSSDK.S3 4.0.6, AWSSDK.DynamoDBv2 4.0.10.9, AWSSDK.SQS 4.0.2.5)
- Operative system: Windows (likely, based on file paths, but reproducible on Linux/Docker)
- Others: Using LocalStack for local AWS development
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels