> ## Documentation Index
> Fetch the complete documentation index at: https://pulse.mintlify.app/llms.txt
> Use this file to discover all available pages before exploring further.

# AWS SQS

> This health check verifies the ability to communicate with Amazon SQS and the existence of some queues. For more information about AWS SQS check the [AWS SQS Site](https://aws.amazon.com/sqs/)

## Installation

<Tabs>
  <Tab title=".NET CLI">
    ```bash theme={null}
    dotnet add package AspNetCore.Pulse.Aws.Sqs --version 8.0.4
    ```
  </Tab>

  <Tab title="Package Reference">
    ```xml theme={null}
    <PackageReference Include="AspNetCore.Pulse.Aws.Sqs" Version="8.0.4" />
    ```
  </Tab>

  <Tab title="Nuget">
    <a href="https://www.nuget.org/packages/AspNetCore.Pulse.Aws.Sqs/" target="_blank">Go to nuget page</a>
  </Tab>
</Tabs>

## Example Usage

With all of the following examples, you can additionally add the following parameters:

* `name`: The health check name. Default if not specified is `aws sqs`.
* `failureStatus`: The `HealthStatus` that should be reported when the health check fails. Default is `HealthStatus.Unhealthy`.
* `tags`: A list of tags that can be used to filter sets of health checks.
* `timeout`: A `System.TimeSpan` representing the timeout of the check.

### Basic

### Check existence of a queue and load credentials from the application's default configuration

```csharp theme={null}
public void ConfigureServices(IServiceCollection services)
{
    services
        .AddHealthChecks()
        .AddSqs(options =>
        {
            options.AddQueue("queueName");
        });
}
```

### Check existence of a queue and directly pass credentials

```csharp theme={null}
public void ConfigureServices(IServiceCollection services)
{
    services
        .AddHealthChecks()
        .AddSqs(options =>
        {
            options.AddQueue("queueName");
            options.Credentials = new BasicAWSCredentials("access-key", "secret-key");
        });
}
```

### Check existence of a queue and specify region endpoint

```csharp theme={null}
public void ConfigureServices(IServiceCollection services)
{
    services
        .AddHealthChecks()
        .AddSqs(options =>
        {
            options.AddQueue("queueName");
            options.RegionEndpoint = RegionEndpoint.EUCentral1;
        });
}
```

### Check existence of a queue and specify credentials with region endpoint

```csharp theme={null}
public void ConfigureServices(IServiceCollection services)
{
    services
        .AddHealthChecks()
        .AddSqs(options =>
        {
            options.AddQueue("queueName");
            options.Credentials = new BasicAWSCredentials("access-key", "secret-key");
            options.RegionEndpoint = RegionEndpoint.EUCentral1;
        });
}
```
