

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon SQS 入門
<a name="sqs-getting-started"></a>

本主題會引導您使用 Amazon SQS 主控台來建立和管理**標準佇列**和 **FIFO 佇列**。您將了解如何導覽主控台、檢視佇列屬性，以及區分佇列類型。關鍵任務包括傳送、接收和設定訊息、調整可見性逾時和訊息保留等參數，以及透過 政策管理佇列存取。

**Topics**
+ [設定](sqs-setting-up.md)
+ [了解 Amazon SQS 主控台](sqs-configure-overview.md)
+ [佇列類型](sqs-queue-types.md)
+ [建立標準佇列](creating-sqs-standard-queues.md)
+ [建立 FIFO 佇列](creating-sqs-fifo-queues.md)
+ [一般任務](get-started.md)

# 設定 Amazon SQS
<a name="sqs-setting-up"></a>

首次使用 Amazon SQS 之前，您必須先完成下列步驟：

## 步驟 1：建立 AWS 帳戶 和 IAM 使用者
<a name="sqs-creating-aws-account"></a>

若要存取任何 AWS 服務，您必須先建立 [AWS 帳戶](https://aws.amazon.com/)，這是可使用 AWS 產品的 Amazon.com 帳戶。您可以使用 AWS 帳戶 來檢視您的活動和用量報告，以及管理身分驗證和存取。

為了避免將您的 AWS 帳戶 根使用者用於 Amazon SQS 動作，最佳實務是為每個需要 Amazon SQS 管理存取權的人員建立 IAM 使用者。

### 註冊 AWS 帳戶
<a name="sign-up-for-aws"></a>

如果您沒有 AWS 帳戶，請完成下列步驟來建立一個。

**註冊 AWS 帳戶**

1. 開啟 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)。

1. 請遵循線上指示進行。

   部分註冊程序需接收來電或簡訊，並在電話鍵盤輸入驗證碼。

   當您註冊 時 AWS 帳戶，*AWS 帳戶根使用者*會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務，請將管理存取權指派給使用者，並且僅使用根使用者來執行[需要根使用者存取權的任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 會在註冊程序完成後傳送確認電子郵件給您。您可以隨時登錄 [https://aws.amazon.com/](https://aws.amazon.com/) 並選擇**我的帳戶**，以檢視您目前的帳戶活動並管理帳戶。

### 建立具有管理存取權的使用者
<a name="create-an-admin"></a>

註冊 後 AWS 帳戶，請保護 AWS 帳戶根使用者、啟用 AWS IAM Identity Center和建立管理使用者，以免將根使用者用於日常任務。

**保護您的 AWS 帳戶根使用者**

1.  選擇**根使用者**並輸入 AWS 帳戶 您的電子郵件地址，以帳戶擁有者[AWS 管理主控台](https://console.aws.amazon.com/)身分登入 。在下一頁中，輸入您的密碼。

   如需使用根使用者登入的說明，請參閱 *AWS 登入 使用者指南*中的[以根使用者身分登入](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 若要在您的根使用者帳戶上啟用多重要素驗證 (MFA)。

   如需說明，請參閱《*IAM 使用者指南*》中的[為您的 AWS 帳戶 根使用者 （主控台） 啟用虛擬 MFA 裝置](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**建立具有管理存取權的使用者**

1. 啟用 IAM Identity Center。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[啟用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，將管理存取權授予使用者。

   如需使用 IAM Identity Center 目錄 做為身分來源的教學課程，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[使用預設值設定使用者存取 IAM Identity Center 目錄](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理存取權的使用者身分登入**
+ 若要使用您的 IAM Identity Center 使用者簽署，請使用建立 IAM Identity Center 使用者時傳送至您電子郵件地址的簽署 URL。

  如需使用 IAM Identity Center 使用者登入的說明，請參閱*AWS 登入 《 使用者指南*》中的[登入 AWS 存取入口網站](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**指派存取權給其他使用者**

1. 在 IAM Identity Center 中，建立一個許可集來遵循套用最低權限的最佳實務。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[建立許可集](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 將使用者指派至群組，然後對該群組指派單一登入存取權。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[新增群組](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

## 步驟 2：授予程式設計存取權
<a name="sqs-getting-access-key-id-secret-access-key"></a>

若要使用 Amazon SQS 動作 （例如，使用 Java 或透過 AWS Command Line Interface)，您需要存取金鑰 ID 和私密存取金鑰。

**注意**  
存取金鑰 ID 和私密存取金鑰是特定的 AWS Identity and Access Management。請勿將它們與其他服務的登入 AWS 資料混淆，例如 Amazon EC2 金鑰對。

如果使用者想要與 AWS 外部互動，則需要程式設計存取 AWS 管理主控台。授予程式設計存取權的方式取決於正在存取的使用者類型 AWS。

若要授予使用者程式設計存取權，請選擇下列其中一個選項。


****  

| 哪個使用者需要程式設計存取權？ | 到 | 根據 | 
| --- | --- | --- | 
| IAM | （建議） 使用主控台登入資料做為臨時登入資料，以簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-setting-up.html)  | 
|  人力資源身分 (IAM Identity Center 中管理的使用者)  | 使用暫時登入資料簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-setting-up.html)  | 
| IAM | 使用暫時登入資料簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs | 遵循《IAM 使用者指南》中[將臨時登入資料與 AWS 資源](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)搭配使用的指示。 | 
| IAM | (不建議使用)使用長期登入資料來簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-setting-up.html)  | 

## 步驟 3：準備好開始使用範本程式碼
<a name="sqs-get-ready-to-use-example-code"></a>

本指南包含使用適用於 Java 的 AWS 開發套件的範例。若要執行範例程式碼，請遵循[適用於 Java 2.0 的 AWS 開發套件入門](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/)中的設定指示進行。

您可以開發其他程式設計語言 AWS 的應用程式，例如 Go、JavaScript、Python 和 Ruby。如需詳細資訊，請參閱[要建置的工具 AWS](https://aws.amazon.com/developer/tools/#sdk)。

**注意**  
您無需撰寫程式碼，就可以使用 AWS Command Line Interface (AWS CLI) 或 Windows PowerShell 等工具探索 Amazon SQS。您可以在 *AWS CLI 命令參考*的 [Amazon SQS 區段](https://docs.aws.amazon.com/cli/latest/reference/sqs/index.html)中找到 AWS CLI 範例。您可以在 *[AWS Tools for PowerShell Cmdlet 參考](https://docs.aws.amazon.com/powershell/latest/reference/)*的 Amazon Simple Queue Service 區段中找到 Windows PowerShell 範例。

## 後續步驟
<a name="sqs-next-steps-setting-up"></a>

您現在已準備好[開始](sqs-getting-started.md)使用 AWS 管理主控台管理 Amazon SQS 佇列和訊息。

# 了解 Amazon SQS 主控台
<a name="sqs-configure-overview"></a>

當您開啟 Amazon SQS 主控台時，請從導覽窗格中選擇**佇列**。**佇列**頁面提供作用中區域中所有佇列的相關資訊。

每個佇列項目都會提供有關佇列的基本資訊，包括其類型和金鑰屬性。[標準佇列](standard-queues.md)已針對最大輸送量和最佳訊息排序進行最佳化，與[First-In-First-Out(FIFO)](sqs-fifo-queues.md) 佇列不同，這些佇列會優先考慮需要嚴格訊息排序的應用程式的訊息排序和唯一性。

![\[Amazon SQS 主控台中的佇列頁面。\]](http://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-config-queue-list.png)


**互動式元素和動作**

在佇列頁面中，您有多個管理佇列的選項：

1. **快速動作** – 與每個佇列名稱相鄰的下拉式功能表可讓您快速存取常見動作，例如傳送訊息、檢視或刪除訊息、設定觸發，以及刪除佇列本身。

1. **詳細檢視和組態** – 按一下佇列名稱會開啟其詳細資訊頁面，您可以在其中深入了解佇列設定和組態。在這裡，您可以調整訊息保留期間、可見性逾時和訊息大小上限等參數，根據應用程式的需求量身打造佇列。

![\[Amazon SQS 主控台中的佇列詳細資訊頁面。\]](http://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/queue-details-page.png)


**區域選擇和資源標籤**

請確定您已正確 AWS 區域 存取和管理佇列。此外，請考慮使用資源標籤來整理和分類佇列，以便在 AWS 共用環境中實現更好的資源管理、成本分配和存取控制。

透過利用 Amazon SQS 主控台提供的功能和功能，您可以有效率地管理訊息基礎設施、最佳化佇列效能，並確保應用程式可靠的訊息傳遞。

# Amazon SQS 佇列類型
<a name="sqs-queue-types"></a>

Amazon SQS 支援兩種佇列類型：[**標準佇列**](standard-queues.md)和 [**FIFO**](sqs-fifo-queues.md) 佇列。使用下表來判斷哪個佇列最符合您的需求。


| 標準佇列 | FIFO 佇列 | 
| --- | --- | 
|  **無限制輸送量** – 標準佇列支援每個動作 ([https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)、 [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)或 ) 每秒非常高、幾乎無限制的 API 呼叫數量[https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html)。這種高輸送量使它們非常適合需要快速處理大量訊息的使用案例，例如即時資料串流或大規模應用程式。雖然標準佇列會隨需求自動擴展，但監控使用模式以確保最佳效能至關重要，尤其是工作負載較高的區域。 **At-least-once傳遞** – at-least-once傳遞，這表示每則訊息至少傳遞一次，但在某些情況下，由於重試或網路延遲，訊息可能會傳遞多次。您應該設計應用程式以使用等冪性操作來處理潛在的重複訊息，以確保多次處理相同的訊息不會影響系統的狀態。 **最努力排序** – 提供最努力的排序，這表示當 Amazon SQS 嘗試按照訊息傳送的順序傳遞訊息時，不保證這一點。在某些情況下，訊息可能無法按順序送達，尤其是在高輸送量或故障復原的情況下。對於訊息處理順序至關重要的應用程式，您應該處理應用程式中的重新排序邏輯，或使用 FIFO 佇列進行嚴格排序保證。 **耐用性和備援** – 標準佇列可跨多個 AWS 可用區域儲存每則訊息的多個副本，以確保高耐用性。這可確保即使發生基礎設施故障，訊息也不會遺失。 **可見性逾時** – Amazon SQS 可讓您設定可見性逾時，以控制訊息在收到訊息後隱藏的時間長度，確保其他消費者不會處理訊息，直到完全處理或逾時過期為止。  | **高輸送量** – 當您使用[批次處理](sqs-batch-api-actions.md)時，每個 API 方法 ([https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)、 或 ) 的 FIFO 佇列每秒最多處理 3[https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html)，000 則訊息[https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessageBatch.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessageBatch.html)。此輸送量依賴每秒 300 個 API 呼叫，每個 API 呼叫處理批次 10 個 messages.By 以啟用高輸送量模式，您可以在訊息群組內輕鬆排序，擴展至每秒 30，000 個交易 (TPS)。如果沒有批次處理，FIFO 佇列每個 API 方法 (`SendMessage`、 `ReceiveMessage`或 ) 每秒最多支援 300 個 API 呼叫`DeleteMessage`。如果您需要更多輸送量，您可以透過 [AWS 支援中心](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-sqs)請求提高配額。若要啟用高輸送量模式，請參閱 [在 Amazon SQS 中啟用 FIFO 佇列的高輸送量](enable-high-throughput-fifo.md)。 **精確處理一次** – FIFO 佇列會傳送每則訊息一次，並保持可用狀態，直到您處理和刪除訊息為止。透過使用 [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)或內容型重複資料刪除等功能，您可以防止重複的訊息，即使因網路問題或逾時而重試也一樣。 **First-in-first-out交付** – FIFO 佇列可確保您依訊息群組內傳送的順序接收訊息。透過將訊息分散到多個群組，您可以平行處理訊息，同時保持每個群組中的順序。  | 
|  ![\[標準佇列訊息傳遞。\]](http://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-what-is-sqs-standard-queue-diagram.png)  |  ![\[FIFO 佇列訊息傳遞。\]](http://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-what-is-sqs-fifo-queue-diagram.png)  | 
| 當輸送量至關重要時，使用標準佇列在應用程式之間傳送資料，例如：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-types.html) |  當事件順序很重要時，使用 FIFO 佇列在應用程式之間傳送資料，例如： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-types.html)  | 

# 在 Amazon SQS 中實作請求回應系統
<a name="implementing-request-response-systems"></a>

實作請求回應或遠端程序呼叫 (RPC) 系統時，請記住下列最佳實務：
+ 在**啟動時建立回覆佇列** – 不是為每個訊息建立回覆佇列，而是在啟動時為每個生產者建立回覆佇列。使用相互關聯 ID 訊息屬性，有效率地將回應映射至請求。
+ **避免在生產者之間共用回覆佇列** – 確保每個生產者都有自己的回覆佇列。共用回覆佇列可能會導致生產者接收其他生產者的回應訊息。

如需使用暫時佇列用戶端實作請求-回應模式的相關資訊，請參閱 [請求-回應訊息模式 (虛擬佇列)](sqs-temporary-queues.md#request-reply-messaging-pattern)。

# 建立 Amazon SQS 標準佇列並傳送訊息
<a name="creating-sqs-standard-queues"></a>

您可以使用 Amazon SQS 主控台建立[標準佇列](standard-queues.md)並傳送訊息。本主題也強調最佳實務，包括避免佇列名稱中的敏感資訊，以及利用受管伺服器端加密。

## 使用 Amazon SQS 主控台建立標準佇列
<a name="step-create-standard-queue"></a>

**重要**  
在 2022 年 8 月 17 日，預設伺服器端加密 (SSE) 已套用至所有 Amazon SQS 佇列。  
請勿在佇列名稱中新增個人身分識別資訊 (PII) 或其他機密或敏感資訊。許多 Amazon Web Services 都可以存取佇列名稱，包括計費和 CloudWatch 日誌。佇列名稱不適用於私有或敏感資料。

**若要建立 Amazon SQS 標準佇列**

1. 在 [https://console.aws.amazon.com/sqs/](https://console.aws.amazon.com/sqs/) 開啟 Amazon SQS 主控台。

1. 選擇**建立佇列**。

1. 針對**類型**，依預設會設定**標準**佇列類型。
**注意**  
您無法在建立佇列之後變更佇列類型。

1.  輸入佇列的**名稱**。

1. (選用) 主控台會設定佇列[組態參數](sqs-configure-queue-parameters.md)的預設值。在**組態**下，您可以為下列參數設定新值：

   1. 在**可見性逾時**中，輸入持續時間和單位。範圍是從 0 秒至 12 小時。預設值為 30 秒。

   1. 在**訊息保留期間**中，輸入持續時間和單位。範圍從 1 分鐘到 14 天。預設值為 4 天。

   1. 對於**遞送延遲**，請輸入持續時間和單位。範圍是從 0 秒至 15 分鐘。預設值為 0 秒。

   1. 在**訊息大小上限**中，輸入一個值。範圍從 1 KiB 到 1024 KiB。預設值為 1024 KiB。

   1. 針對**接收訊息等待時間**，輸入值。範圍是從 0 秒至 20 秒。預設值為 0 秒，它會設定[短輪詢](sqs-short-and-long-polling.md)。任何非零值都會設定長輪詢。

1. (選擇性) 定義**存取政策**。[存取政策](sqs-creating-custom-policies-access-policy-examples.md)會定義可存取佇列的帳戶、使用者和角色。存取政策也會定義使用者可存取的動作 (例如 [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)、[https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) 或 [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html))。預設政策只允許佇列擁有者傳送和接收訊息。

   若要複製存取政策，請執行下列其中一項動作：
   + 選擇**基本**以設定誰可以將訊息傳送到佇列，以及誰可以從佇列接收訊息。主控台會根據您的選擇建立政策，並在唯讀 JSON 面板中顯示產生的存取政策。
   + 選擇**進階**以直接修改 JSON 存取政策。這可讓您指定每個主體 (帳戶、使用者或角色) 可以執行的自訂動作集。

1. 對於**再驅動允許政策**，選擇**啟用**。選取下列其中一項：**全部允許**、**依佇列**或**全部拒絕**。選擇**依佇列**時，請依 Amazon Resource Name (ARN) 指定最多 10 個來源佇列的清單。

1. Amazon SQS 預設會提供受管伺服器端加密。若要選擇加密金鑰類型，或停用 Amazon SQS 受管伺服器端加密，請展開**加密**。如需加密金鑰類型的詳細資訊，請參閱 [使用 SQS 受管加密金鑰設定佇列的伺服器端加密](sqs-configure-sqs-sse-queue.md) 和 [使用 Amazon SQS 主控台設定佇列的伺服器端加密](sqs-configure-sse-existing-queue.md)。
**注意**  
啟用 SSE 後，對加密佇列的匿名 `SendMessage` 和 `ReceiveMessage` 請求將被拒絕。Amazon SQS 安全性最佳實務建議您不要使用匿名請求。如果您希望將匿名請求傳送到 Amazon SQS 佇列，請務必停用 SSE。

1. (選用) 若要設定[無效字母佇列](sqs-configure-dead-letter-queue.md)以接收無法傳遞的訊息，請展開**無效字母佇列**。

1. (選擇性) 若要將[標籤](sqs-configure-tag-queue.md)新增至佇列，請展開**標籤**。

1. 選擇**建立佇列**。Amazon SQS 會建立佇列並顯示佇列的**詳細資訊**頁面。

Amazon SQS 會在整個系統中傳播有關新佇列的資訊。由於 Amazon SQS 是分散式系統，因此在主控台在**佇列**頁面上顯示佇列之前，您可能會遇到輕微的延遲。

## 使用標準佇列傳送訊息
<a name="sqs-send-messages"></a>

建立佇列之後，您可以傳送訊息給佇列。

1. 在左側導覽窗格中，選擇**佇列**。在佇列清單中，選取您剛建立的佇列。

1. 在**動作**中選擇**傳送及接收訊息**。

   主控台會顯示**傳送和接收訊息**頁面。

1. 在**訊息內文**中，輸入訊息文字。

1. 對於標準佇列，您可以輸入**遞送延遲**的值並選擇單位。例如，輸入 `60` 並選擇**秒數**。如需詳細資訊，請參閱 [Amazon SQS 訊息計時器](sqs-message-timers.md)。

1. 選擇**傳送訊息**。

   訊息傳送完畢後，主控台會顯示成功訊息。選擇**檢視詳細資訊**以顯示已傳送訊息的相關資訊。

# 建立 Amazon SQS FIFO 佇列並傳送訊息
<a name="creating-sqs-fifo-queues"></a>

您可以使用 主控台建立 Amazon SQS FIFO 佇列並傳送訊息。本主題說明如何設定佇列參數，包括可見性逾時、訊息保留和重複資料刪除，同時遵循安全最佳實務，例如避免佇列名稱中的敏感資訊並啟用伺服器端加密。它還涵蓋定義存取政策、設定無效字母佇列，以及使用 FIFO 特定屬性傳送訊息，例如訊息群組 ID 和重複資料刪除 ID。

## 使用 Amazon SQS 主控台建立 FIFO 佇列
<a name="step-create-fifo-queue"></a>

您可以使用 Amazon SQS 主控台來建立 [FIFO 佇列](sqs-fifo-queues.md)。主控台提供所有設定的預設值 (佇列名稱除外)。

**重要**  
在 2022 年 8 月 17 日，預設伺服器端加密 (SSE) 已套用至所有 Amazon SQS 佇列。  
請勿在佇列名稱中新增個人身分識別資訊 (PII) 或其他機密或敏感資訊。許多 Amazon Web Services 都可以存取佇列名稱，包括計費和 CloudWatch 日誌。佇列名稱不適用於私有或敏感資料。

**若要建立 Amazon SQS FIFO 佇列**

1. 在 [https://console.aws.amazon.com/sqs/](https://console.aws.amazon.com/sqs/) 開啟 Amazon SQS 主控台。

1. 選擇**建立佇列**。

1. 針對**類型**，依預設會設定**標準**佇列類型。若要建立 FIFO 佇列，請選擇 **FIFO**。
**注意**  
您無法在建立佇列之後變更佇列類型。

1.  輸入佇列的**名稱**。

   FIFO 佇列名稱結尾必須是 `.fifo` 尾碼。尾碼會計入 80 個字元的佇列名稱配額中。若要判斷佇列是否為 [FIFO](sqs-fifo-queues.md)，可以檢查佇列名稱是否以尾碼結尾。

1. (選用) 主控台會設定佇列[組態參數](sqs-configure-queue-parameters.md)的預設值。在**組態**下，您可以為下列參數設定新值：

   1. 在**可見性逾時**中，輸入持續時間和單位。範圍是從 0 秒至 12 小時。預設值為 30 秒。

   1. 在**訊息保留期間**中，輸入持續時間和單位。範圍從 1 分鐘到 14 天。預設值為 4 天。

   1. 對於**遞送延遲**，請輸入持續時間和單位。範圍是從 0 秒至 15 分鐘。預設值為 0 秒。

   1. 在**訊息大小上限**中，輸入一個值。範圍從 1 KiB 到 1024 KiB。預設值為 1024 KiB。

   1. 針對**接收訊息等待時間**，輸入值。範圍是從 0 秒至 20 秒。預設值為 0 秒，它會設定[短輪詢](sqs-short-and-long-polling.md)。任何非零值都會設定長輪詢。

   1. 對於 FIFO 佇列，請選擇**內容型重複資料刪除**以啟用內容型重複資料刪除。預設設定為停用。

   1. (選用) 若要讓 FIFO 佇列啟用更高輸送量以傳送和接收佇列中的訊息，請選擇**啟用高輸送量 FIFO**。

      選擇此選項會將相關選項 (**重複資料刪除範圍**和 **FIFO 輸送量限制**) 變更為啟用 FIFO 佇列高輸送量的必要設定。如果您變更使用高輸送量 FIFO 所需的任何設定，則佇列的正常輸送量將生效，而重複資料刪除會依指定方式執行。如需詳細資訊，請參閱[Amazon SQS 中 FIFO 佇列的高輸送量](high-throughput-fifo.md)及[Amazon SQS 訊息配額](quotas-messages.md)。

1. (選用) 定義**存取政策**。[存取政策](sqs-creating-custom-policies-access-policy-examples.md)會定義可存取佇列的帳戶、使用者和角色。存取政策也會定義使用者可存取的動作 (例如 [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)、[https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) 或 [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html))。預設政策只允許佇列擁有者傳送和接收訊息。

   若要複製存取政策，請執行下列其中一項動作：
   + 選擇**基本**以設定誰可以將訊息傳送到佇列，以及誰可以從佇列接收訊息。主控台會根據您的選擇建立政策，並在唯讀 JSON 面板中顯示產生的存取政策。
   + 選擇**進階**以直接修改 JSON 存取政策。這可讓您指定每個主體 (帳戶、使用者或角色) 可以執行的自訂動作集。

1. 對於**再驅動允許政策**，選擇**啟用**。選取下列其中一項：**全部允許**、**依佇列**或**全部拒絕**。選擇**依佇列**時，請依 Amazon Resource Name (ARN) 指定最多 10 個來源佇列的清單。

1. Amazon SQS 預設會提供受管伺服器端加密。若要選擇加密金鑰類型，或停用 Amazon SQS 受管伺服器端加密，請展開**加密**。如需加密金鑰類型的詳細資訊，請參閱 [使用 SQS 受管加密金鑰設定佇列的伺服器端加密](sqs-configure-sqs-sse-queue.md) 和 [使用 Amazon SQS 主控台設定佇列的伺服器端加密](sqs-configure-sse-existing-queue.md)。
**注意**  
啟用 SSE 後，對加密佇列的匿名 `SendMessage` 和 `ReceiveMessage` 請求將被拒絕。Amazon SQS 安全性最佳實務建議您不要使用匿名請求。如果您希望將匿名請求傳送到 Amazon SQS 佇列，請務必停用 SSE。

1. (選用) 若要設定[無效字母佇列](sqs-configure-dead-letter-queue.md)以接收無法傳遞的訊息，請展開**無效字母佇列**。

1. (選擇性) 若要將[標籤](sqs-configure-tag-queue.md)新增至佇列，請展開**標籤**。

1. 選擇**建立佇列**。Amazon SQS 會建立佇列並顯示佇列的**詳細資訊**頁面。

Amazon SQS 會在整個系統中傳播有關新佇列的資訊。由於 Amazon SQS 是分散式系統，因此在主控台在**佇列**頁面上顯示佇列之前，您可能會遇到輕微的延遲。

建立佇列之後，您可以向其[傳送訊息](creating-sqs-standard-queues.md#sqs-send-messages)，以及[接收和刪除訊息](step-receive-delete-message.md)。您也可以[編輯](sqs-configure-edit-queue.md)佇列類型以外的任何佇列組態設定。

## 使用 FIFO 佇列傳送訊息
<a name="sqs-send-messages-fifo"></a>

建立佇列之後，您可以傳送訊息給佇列。

1. 在左側導覽窗格中，選擇**佇列**。在佇列清單中，選取您剛建立的佇列。

1. 在**動作**中選擇**傳送及接收訊息**。

   主控台會顯示**傳送和接收訊息**頁面。

1. 在**訊息內文**中，輸入訊息文字。

1. 對於先出 (FIFO) 佇列，請輸入**訊息群組 ID**。如需詳細資訊，請參閱 [Amazon SQS 中的 FIFO 佇列交付邏輯](FIFO-queues-understanding-logic.md)。

1. (選擇性) 對於 FIFO 佇列，您可以輸入**訊息重複資料刪除** ID。如果您啟用佇列的內容型重複資料刪除功能，則不需要訊息重複資料刪除 ID。如需詳細資訊，請參閱 [Amazon SQS 中的 FIFO 佇列交付邏輯](FIFO-queues-understanding-logic.md)。

1.  FIFO 佇列不支援個別訊息的計時器。如需詳細資訊，請參閱 [Amazon SQS 訊息計時器](sqs-message-timers.md)。

1. 選擇**傳送訊息**。

   訊息傳送完畢後，主控台會顯示成功訊息。選擇**檢視詳細資訊**以顯示已傳送訊息的相關資訊。

# Amazon SQS 入門常見任務
<a name="get-started"></a>

建立佇列並了解如何傳送、接收和刪除訊息後，建議您嘗試下列動作：
+ 觸發 [Lambda 函數](sqs-configure-lambda-function-trigger.md)以自動處理傳入訊息，啟用事件驅動的工作流程，而不需要持續輪詢。
+ [設定佇列，包括 SSE 和其他功能](sqs-configuring.md)。
+ [傳送具有屬性的訊息](sqs-using-send-message-with-attributes.md)。
+ [從 VPC 傳送訊息。](sqs-sending-messages-from-vpc.md)
+ 探索 Amazon SQS [的功能](sqs-queue-types.md)和[架構](welcome.md#sqs-basic-architecture)。
+ 探索可協助您充分利用 Amazon SQS 的[指導方針和警告](sqs-best-practices.md)。
+ 探索 AWS SDK 的 Amazon SQS 範例，例如 [AWS SDK for Java 2.x 開發人員指南](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/)。
+ 了解 [Amazon SQS AWS CLI 命令](https://docs.aws.amazon.com/cli/latest/reference/sqs/)。
+ 了解 [Amazon SQS API 動作](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_Operations.html)。
+ 了解如何以程式設計方式與 Amazon SQS 互動。請參閱[使用 APIs](sqs-making-api-requests-xml.md)和探索[AWS 開發中心](https://aws.amazon.com/developer/)：
  + [Java](https://aws.amazon.com/java/)
  + [JavaScript](https://aws.amazon.com/javascript/)
  + [PHP](https://aws.amazon.com/php/)
  + [Python](https://aws.amazon.com/python/)
  + [Ruby](https://aws.amazon.com/ruby/)
  + [Windows 與 .NET](https://aws.amazon.com/net/)
+ 了解如何監控[成本和資源](sqs-queue-tags.md)。
+ 了解如何[保護您的資料](data-protection.md)。
+ 進一步了解 [Amazon SQS 工作流程](sqs-creating-custom-policies-process-workflow.md)。