Share #21 Cấu Hình Visibility Timeout Amazon SQS thông qua API Gateway

## 21 Thời gian chờ hiển thị Cấu hình SQS của Amazon thông qua Gateway API

** Thời gian chờ 21 khả năng hiển thị là gì? **

21 Thời gian chờ hiển thị là một cài đặt trong Dịch vụ Hàng đợi đơn giản Amazon (SQS) kiểm soát thời gian một thông điệp có thể hiển thị cho người tiêu dùng trước khi nó được coi là bị bỏ rơi.Cài đặt này có thể được sử dụng để ngăn tin nhắn bị mất nếu người tiêu dùng không xử lý chúng trong một khoảng thời gian nhất định.

** Cách định cấu hình 21 thời gian chờ hiển thị trong Amazon SQS? **

Để định cấu hình 21 thời gian chờ hiển thị trong Amazon SQS, bạn có thể sử dụng các bước sau:

1. Chuyển đến bảng điều khiển Amazon Sqs.
2. Nhấp vào tab ** hàng đợi **.
3. Chọn hàng đợi mà bạn muốn định cấu hình.
4. Nhấp vào tab ** Cài đặt **.
5. Trong phần thời gian chờ ** khả năng hiển thị **, nhập số giây mà bạn muốn hiển thị thông báo.
6. Nhấp vào nút ** Lưu **.

** Thời gian chờ có khả năng hiển thị hoạt động với API Gateway như thế nào? **

Khi một tin nhắn được gửi đến hàng đợi Amazon Sqs, nó được gán một mã định danh duy nhất được gọi là ID tin nhắn ** **.ID này được sử dụng để theo dõi thông điệp khi nó di chuyển qua hệ thống.Khi người tiêu dùng nhận được tin nhắn từ hàng đợi, nó được chỉ định một tay cầm ** Biên lai **.Tay cầm này được sử dụng để thừa nhận rằng người tiêu dùng đã nhận được tin nhắn.

Nếu người tiêu dùng không thừa nhận một thông điệp trong khoảng thời gian chờ 21 khả năng hiển thị, tin nhắn sẽ được coi là bị bỏ rơi và sẽ bị xóa khỏi hàng đợi.Đây có thể là một vấn đề nếu người tiêu dùng không thể xử lý thông điệp trong thời gian quy định.

Để tránh vấn đề này, bạn có thể sử dụng API Gateway để tạo tích hợp tùy chỉnh sẽ thừa nhận thông điệp thay mặt cho người tiêu dùng.Điều này có thể được thực hiện bằng cách sử dụng hoạt động api `sqs: deletemessage`.

**Ví dụ:**

Sau đây là một ví dụ về tích hợp tùy chỉnh có thể được sử dụng để xác nhận tin nhắn thay mặt cho người tiêu dùng:

`` `
// Tạo tài nguyên cổng API mới.

const api = new Apigateway ();
const tài nguyên = api.createresource ({
Tên: 'Sqs-ack-resource',
đường dẫn: '/sqs/ack',
});

// Tạo phương thức Gateway API mới.

const method = resource.createMethod ({
Tên: 'Bài đăng',
requestModels: {
'Ứng dụng/json': {
Loại: 'Đối tượng',
của cải: {
ID tin nhắn: {
Loại: 'Chuỗi',
},
},
},
},
Phản hồi: {
'200': {
lược đồ: {
Loại: 'Đối tượng',
của cải: {},
},
},
},
});

// Thêm tích hợp lambda vào phương thức.

const lambda = new lambda ();
Phương thức.Addintegration ({
Loại: 'AWS_PROXY',
URI: Lambda.Functionarn ('MySQSackFunction'),
});

// Triển khai API cổng API.

api.deploy ();
`` `

Việc tích hợp này sẽ sử dụng chức năng Lambda 'MySQSackFunction` để xác nhận các tin nhắn thay mặt cho người tiêu dùng.Hàm Lambda sẽ cần được cấu hình để chấp nhận các tham số đầu vào sau:

* `messageId`: ID của tin nhắn được thừa nhận.

Hàm Lambda sẽ trả về một phản hồi thành công nếu tin nhắn được thừa nhận thành công.

## hashtags

* #AmazonsQs
* #ApigateWay
* #21VISILEDTITYOUT
*
* #Lambda
=======================================
## 21 Visibility Timeout Amazon SQS configuration via API Gateway

**What is 21 Visibility Timeout?**

21 Visibility Timeout is a setting in Amazon Simple Queue Service (SQS) that controls how long a message is visible to a consumer before it is considered to be abandoned. This setting can be used to prevent messages from being lost if a consumer fails to process them within a certain amount of time.

**How to configure 21 Visibility Timeout in Amazon SQS?**

To configure 21 Visibility Timeout in Amazon SQS, you can use the following steps:

1. Go to the Amazon SQS console.
2. Click on the **Queues** tab.
3. Select the queue that you want to configure.
4. Click on the **Settings** tab.
5. Under the **Visibility Timeout** section, enter the number of seconds that you want the message to be visible for.
6. Click on the **Save** button.

**How does 21 Visibility Timeout work with API Gateway?**

When a message is sent to an Amazon SQS queue, it is assigned a unique identifier called a **Message ID**. This ID is used to track the message as it moves through the system. When a consumer receives a message from a queue, it is assigned a **Receipt Handle**. This handle is used to acknowledge that the consumer has received the message.

If a consumer fails to acknowledge a message within the 21 Visibility Timeout period, the message will be considered to be abandoned and will be deleted from the queue. This can be a problem if the consumer is unable to process the message within the allotted time.

To avoid this problem, you can use API Gateway to create a custom integration that will acknowledge messages on behalf of the consumer. This can be done by using the `sqs:DeleteMessage` API operation.

**Example:**

The following is an example of a custom integration that can be used to acknowledge messages on behalf of a consumer:

```
// Create a new API Gateway resource.

const api = new ApiGateway();
const resource = api.createResource({
name: 'sqs-ack-resource',
path: '/sqs/ack',
});

// Create a new API Gateway method.

const method = resource.createMethod({
name: 'POST',
requestModels: {
'application/json': {
type: 'object',
properties: {
messageId: {
type: 'string',
},
},
},
},
responses: {
'200': {
schema: {
type: 'object',
properties: {},
},
},
},
});

// Add a Lambda integration to the method.

const lambda = new Lambda();
method.addIntegration({
type: 'AWS_PROXY',
uri: lambda.functionArn('MySqsAckFunction'),
});

// Deploy the API Gateway API.

api.deploy();
```

This integration will use the `MySqsAckFunction` Lambda function to acknowledge messages on behalf of the consumer. The Lambda function will need to be configured to accept the following input parameters:

* `messageId`: The ID of the message to be acknowledged.

The Lambda function should return a success response if the message was successfully acknowledged.

## Hashtags

* #AmazonsQs
* #ApigateWay
* #21VisibilityTimeout
* #MessageAcknowledgement
* #Lambda
 
Join ToolsKiemTrieuDoGroup
Back
Top
AdBlock Detected

We get it, advertisements are annoying!

Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.

I've Disabled AdBlock