[TIẾNG VIỆT]:
## Hướng dẫn của Amazon SNS: Hướng dẫn từng bước
Dịch vụ thông báo đơn giản của Amazon (SNS) là một dịch vụ dựa trên đám mây cho phép bạn gửi tin nhắn đến các dịch vụ khác của Amazon, thiết bị di động, địa chỉ email và điểm cuối HTTP.SNS là một cách tuyệt vời để gửi thông báo về các sự kiện quan trọng, chẳng hạn như đơn đặt hàng mới, cập nhật tài khoản hoặc phát hành phần mềm.
Trong hướng dẫn này, bạn sẽ học cách sử dụng SNS để gửi tin nhắn đến hàng đợi Amazon Sqs.Bạn cũng sẽ học cách sử dụng SNS với Lambda để kích hoạt chức năng khi nhận được tin nhắn.
### Điều kiện tiên quyết
Để làm theo hướng dẫn này, bạn sẽ cần những điều sau đây:
* Tài khoản Amazon Web Services (AWS)
* Giao diện dòng lệnh AWS (CLI)
* SDK AWS cho ngôn ngữ lập trình ưa thích của bạn
### Bước 1: Tạo chủ đề SNS
Bước đầu tiên là tạo ra một chủ đề SNS.Một chủ đề là một nhóm hợp lý của các thuê bao có thể nhận được tin nhắn.
Để tạo một chủ đề, hãy sử dụng lệnh sau:
`` `
AWS SNS Created-topic--name My-Topic
`` `
Lệnh này sẽ tạo ra một chủ đề có tên là `my-topic`.
### Bước 2: Đăng ký chủ đề
Khi bạn đã tạo một chủ đề, bạn cần đăng ký nó.Đăng ký cho phép người nhận nhận tin nhắn từ một chủ đề.
Để đăng ký một chủ đề, hãy sử dụng lệnh sau:
`` `
AWS SNS Đăng ký-Topic-Arn Arn: AWS: SNS: US-EAST-1: 123456789012: My-topic --Protocol SQS --endPoint https://sqs.us-east-1.amazonaws.com/123456789012của tôi
`` `
Lệnh này sẽ đăng ký hàng đợi có tên là `my-queue` vào chủ đề có tên là` my-topic`.
### Bước 3: Gửi tin nhắn đến chủ đề
Bây giờ bạn đã đăng ký chủ đề, bạn có thể gửi tin nhắn cho nó.Để gửi tin nhắn, hãy sử dụng lệnh sau:
`` `
AWS SNS Publish-Topic-Arn Arn: AWS: SNS: US-EAST-1: 123456789012: My-Topic-Message "Đây là một thông điệp thử nghiệm."
`` `
Lệnh này sẽ gửi một tin nhắn với văn bản "Đây là thông báo kiểm tra" đến chủ đề có tên là `my-topic`.
### Bước 4: Nhận tin nhắn trong SQS
Thông điệp mà bạn đã gửi đến chủ đề sẽ được nhận bởi hàng đợi mà bạn đã đăng ký.Để nhận tin nhắn, hãy sử dụng lệnh sau:
`` `
AWS SQS Nhận-Message --queue-URL https://sqs.us-east-1.amazonaws.com/123456789012/my-queue
`` `
Lệnh này sẽ trả về một tin nhắn từ hàng đợi.Tin nhắn sẽ chứa văn bản mà bạn đã gửi đến chủ đề.
### Bước 5: Kích hoạt chức năng Lambda
Bạn cũng có thể sử dụng SNS để kích hoạt chức năng Lambda.Để làm điều này, bạn cần tạo một chức năng Lambda lắng nghe các tin nhắn từ SNS.
Để tạo chức năng Lambda, hãy sử dụng lệnh sau:
`` `
AWS Lambda tạo chức năng-chức năng của tôi-chức năng-RUNTIM
`` `
Lệnh này sẽ tạo ra một hàm Lambda có tên là `my-function`.Hàm sẽ được viết bằng Python và sẽ sử dụng hàm `index.handler` làm điểm nhập.
Khi bạn đã tạo chức năng Lambda, bạn cần định cấu hình nó để nghe tin nhắn từ SNS.Để làm điều này, bạn cần thêm mã sau vào hàm `index.handler`:
`` `
Def Handler (Sự kiện, Bối cảnh):
# Nhận tin nhắn từ SNS
message = event ['bản ghi'] [0] ['sns'] ['message']]
# Làm điều gì đó với thông điệp
in (tin nhắn)
# Trả lại phản hồi thành công
trở lại {
'StatusCode': 200,
'thân hình': '
[ENGLISH]:
## Amazon SNS Tutorial: A Step-by-Step Guide
Amazon Simple Notification Service (SNS) is a cloud-based service that allows you to send messages to other Amazon services, mobile devices, email addresses, and HTTP endpoints. SNS is a great way to send notifications about important events, such as new orders, account updates, or software releases.
In this tutorial, you will learn how to use SNS to send messages to an Amazon SQS queue. You will also learn how to use SNS with Lambda to trigger a function when a message is received.
### Prerequisites
To follow this tutorial, you will need the following:
* An Amazon Web Services (AWS) account
* The AWS Command Line Interface (CLI)
* The AWS SDK for your preferred programming language
### Step 1: Create an SNS topic
The first step is to create an SNS topic. A topic is a logical grouping of subscribers that can receive messages.
To create a topic, use the following command:
```
aws sns create-topic --name my-topic
```
This command will create a topic named `my-topic`.
### Step 2: Subscribe to the topic
Once you have created a topic, you need to subscribe to it. A subscription allows a recipient to receive messages from a topic.
To subscribe to a topic, use the following command:
```
aws sns subscribe --topic-arn arn:aws:sns:us-east-1:123456789012:my-topic --protocol sqs --endpoint https://sqs.us-east-1.amazonaws.com/123456789012/my-queue
```
This command will subscribe the queue named `my-queue` to the topic named `my-topic`.
### Step 3: Send a message to the topic
Now that you have subscribed to the topic, you can send a message to it. To send a message, use the following command:
```
aws sns publish --topic-arn arn:aws:sns:us-east-1:123456789012:my-topic --message "This is a test message."
```
This command will send a message with the text "This is a test message" to the topic named `my-topic`.
### Step 4: Receive the message in SQS
The message that you sent to the topic will be received by the queue that you subscribed to. To receive the message, use the following command:
```
aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/my-queue
```
This command will return a message from the queue. The message will contain the text that you sent to the topic.
### Step 5: Trigger a Lambda function
You can also use SNS to trigger a Lambda function. To do this, you need to create a Lambda function that listens for messages from SNS.
To create a Lambda function, use the following command:
```
aws lambda create-function --function-name my-function --runtime python3.8 --handler index.handler --code <path-to-code>
```
This command will create a Lambda function named `my-function`. The function will be written in Python and will use the `index.handler` function as the entry point.
Once you have created the Lambda function, you need to configure it to listen for messages from SNS. To do this, you need to add the following code to the `index.handler` function:
```
def handler(event, context):
# Get the message from SNS
message = event['Records'][0]['Sns']['Message']
# Do something with the message
print(message)
# Return a success response
return {
'statusCode': 200,
'body': '
## Hướng dẫn của Amazon SNS: Hướng dẫn từng bước
Dịch vụ thông báo đơn giản của Amazon (SNS) là một dịch vụ dựa trên đám mây cho phép bạn gửi tin nhắn đến các dịch vụ khác của Amazon, thiết bị di động, địa chỉ email và điểm cuối HTTP.SNS là một cách tuyệt vời để gửi thông báo về các sự kiện quan trọng, chẳng hạn như đơn đặt hàng mới, cập nhật tài khoản hoặc phát hành phần mềm.
Trong hướng dẫn này, bạn sẽ học cách sử dụng SNS để gửi tin nhắn đến hàng đợi Amazon Sqs.Bạn cũng sẽ học cách sử dụng SNS với Lambda để kích hoạt chức năng khi nhận được tin nhắn.
### Điều kiện tiên quyết
Để làm theo hướng dẫn này, bạn sẽ cần những điều sau đây:
* Tài khoản Amazon Web Services (AWS)
* Giao diện dòng lệnh AWS (CLI)
* SDK AWS cho ngôn ngữ lập trình ưa thích của bạn
### Bước 1: Tạo chủ đề SNS
Bước đầu tiên là tạo ra một chủ đề SNS.Một chủ đề là một nhóm hợp lý của các thuê bao có thể nhận được tin nhắn.
Để tạo một chủ đề, hãy sử dụng lệnh sau:
`` `
AWS SNS Created-topic--name My-Topic
`` `
Lệnh này sẽ tạo ra một chủ đề có tên là `my-topic`.
### Bước 2: Đăng ký chủ đề
Khi bạn đã tạo một chủ đề, bạn cần đăng ký nó.Đăng ký cho phép người nhận nhận tin nhắn từ một chủ đề.
Để đăng ký một chủ đề, hãy sử dụng lệnh sau:
`` `
AWS SNS Đăng ký-Topic-Arn Arn: AWS: SNS: US-EAST-1: 123456789012: My-topic --Protocol SQS --endPoint https://sqs.us-east-1.amazonaws.com/123456789012của tôi
`` `
Lệnh này sẽ đăng ký hàng đợi có tên là `my-queue` vào chủ đề có tên là` my-topic`.
### Bước 3: Gửi tin nhắn đến chủ đề
Bây giờ bạn đã đăng ký chủ đề, bạn có thể gửi tin nhắn cho nó.Để gửi tin nhắn, hãy sử dụng lệnh sau:
`` `
AWS SNS Publish-Topic-Arn Arn: AWS: SNS: US-EAST-1: 123456789012: My-Topic-Message "Đây là một thông điệp thử nghiệm."
`` `
Lệnh này sẽ gửi một tin nhắn với văn bản "Đây là thông báo kiểm tra" đến chủ đề có tên là `my-topic`.
### Bước 4: Nhận tin nhắn trong SQS
Thông điệp mà bạn đã gửi đến chủ đề sẽ được nhận bởi hàng đợi mà bạn đã đăng ký.Để nhận tin nhắn, hãy sử dụng lệnh sau:
`` `
AWS SQS Nhận-Message --queue-URL https://sqs.us-east-1.amazonaws.com/123456789012/my-queue
`` `
Lệnh này sẽ trả về một tin nhắn từ hàng đợi.Tin nhắn sẽ chứa văn bản mà bạn đã gửi đến chủ đề.
### Bước 5: Kích hoạt chức năng Lambda
Bạn cũng có thể sử dụng SNS để kích hoạt chức năng Lambda.Để làm điều này, bạn cần tạo một chức năng Lambda lắng nghe các tin nhắn từ SNS.
Để tạo chức năng Lambda, hãy sử dụng lệnh sau:
`` `
AWS Lambda tạo chức năng-chức năng của tôi-chức năng-RUNTIM
`` `
Lệnh này sẽ tạo ra một hàm Lambda có tên là `my-function`.Hàm sẽ được viết bằng Python và sẽ sử dụng hàm `index.handler` làm điểm nhập.
Khi bạn đã tạo chức năng Lambda, bạn cần định cấu hình nó để nghe tin nhắn từ SNS.Để làm điều này, bạn cần thêm mã sau vào hàm `index.handler`:
`` `
Def Handler (Sự kiện, Bối cảnh):
# Nhận tin nhắn từ SNS
message = event ['bản ghi'] [0] ['sns'] ['message']]
# Làm điều gì đó với thông điệp
in (tin nhắn)
# Trả lại phản hồi thành công
trở lại {
'StatusCode': 200,
'thân hình': '
[ENGLISH]:
## Amazon SNS Tutorial: A Step-by-Step Guide
Amazon Simple Notification Service (SNS) is a cloud-based service that allows you to send messages to other Amazon services, mobile devices, email addresses, and HTTP endpoints. SNS is a great way to send notifications about important events, such as new orders, account updates, or software releases.
In this tutorial, you will learn how to use SNS to send messages to an Amazon SQS queue. You will also learn how to use SNS with Lambda to trigger a function when a message is received.
### Prerequisites
To follow this tutorial, you will need the following:
* An Amazon Web Services (AWS) account
* The AWS Command Line Interface (CLI)
* The AWS SDK for your preferred programming language
### Step 1: Create an SNS topic
The first step is to create an SNS topic. A topic is a logical grouping of subscribers that can receive messages.
To create a topic, use the following command:
```
aws sns create-topic --name my-topic
```
This command will create a topic named `my-topic`.
### Step 2: Subscribe to the topic
Once you have created a topic, you need to subscribe to it. A subscription allows a recipient to receive messages from a topic.
To subscribe to a topic, use the following command:
```
aws sns subscribe --topic-arn arn:aws:sns:us-east-1:123456789012:my-topic --protocol sqs --endpoint https://sqs.us-east-1.amazonaws.com/123456789012/my-queue
```
This command will subscribe the queue named `my-queue` to the topic named `my-topic`.
### Step 3: Send a message to the topic
Now that you have subscribed to the topic, you can send a message to it. To send a message, use the following command:
```
aws sns publish --topic-arn arn:aws:sns:us-east-1:123456789012:my-topic --message "This is a test message."
```
This command will send a message with the text "This is a test message" to the topic named `my-topic`.
### Step 4: Receive the message in SQS
The message that you sent to the topic will be received by the queue that you subscribed to. To receive the message, use the following command:
```
aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/my-queue
```
This command will return a message from the queue. The message will contain the text that you sent to the topic.
### Step 5: Trigger a Lambda function
You can also use SNS to trigger a Lambda function. To do this, you need to create a Lambda function that listens for messages from SNS.
To create a Lambda function, use the following command:
```
aws lambda create-function --function-name my-function --runtime python3.8 --handler index.handler --code <path-to-code>
```
This command will create a Lambda function named `my-function`. The function will be written in Python and will use the `index.handler` function as the entry point.
Once you have created the Lambda function, you need to configure it to listen for messages from SNS. To do this, you need to add the following code to the `index.handler` function:
```
def handler(event, context):
# Get the message from SNS
message = event['Records'][0]['Sns']['Message']
# Do something with the message
print(message)
# Return a success response
return {
'statusCode': 200,
'body': '