ภาพรวม

ถาม: Amazon SQS มีประโยชน์กว่าระบบจัดคิวข้อความแบบแพ็กเกจหรือแบบสร้างเองอย่างไรบ้าง

Amazon SQS มีข้อดีหลายข้อเมื่อใช้สร้างซอฟต์แวร์ของคุณเองสำหรับจัดการคิวข้อความหรือการใช้ระบบจัดคิวข้อความแบบโอเพนซอร์สหรือเชิงพาณิชย์ ซึ่งต้องใช้เวลานานมากในการพัฒนาและกำหนดค่าล่วงหน้า

ทางเลือกเหล่านี้ต้องมีทรัพยากรการบริหารระบบและการบำรุงรักษาฮาร์ดแวร์อย่างต่อเนื่อง ความซับซ้อนของการกำหนดค่าและการจัดการระบบเหล่านี้เพิ่มขึ้นตามความต้องการที่จะจัดเก็บข้อความซ้ำซ้อนเพื่อให้แน่ใจว่าข้อความจะไม่หายไปหากฮาร์ดแวร์บกพร่อง

ในทางตรงกันข้าม Amazon SQS ไม่จำเป็นต้องมีค่าใช้จ่ายในการบริหารและมีการกำหนดค่าเพียงเล็กน้อย Amazon SQS ดำเนินการประมวลผลข้อความเป็นจำนวนมากถึงหลายพันล้านข้อความต่อวัน คุณสามารถปรับความหนาแน่นของปริมาณข้อมูลที่คุณส่งไปยัง Amazon SQS ให้มากขึ้นหรือลดลงได้โดยไม่ต้องกำหนดค่าใดๆ นอกจากนี้ Amazon SQS ยังมีความทนทานของข้อความสูงมาก ซึ่งเพิ่มความมั่นใจให้แก่คุณและผู้ถือผลประโยชน์ร่วมได้

ถาม: Amazon SQS แตกต่างจาก Amazon SNS อย่างไร

Amazon SNS ให้แอปพลิเคชันสามารถส่งข้อความที่ให้ความสำคัญเรื่องเวลาเป็นอย่างมากแก่ผู้รับบริการหลายรายผ่านกลไกแบบ “พุช” ซึ่งช่วยลดการตรวจสอบหรือ “โพล” เพื่ออัปเดตเป็นระยะๆ Amazon SQS เป็นบริการคิวข้อความที่แอปพลิเคชันแบบกระจายใช้เพื่อแลกเปลี่ยนข้อความผ่านโมเดลการโพลและสามารถนำมาใช้ในการแยกส่วนประกอบที่ส่งและรับได้ 

ถาม: Amazon SQS แตกต่างจาก Amazon MQ อย่างไร

หากคุณกำลังใช้การส่งข้อความด้วยแอปพลิเคชันที่มีอยู่แล้วต้องการย้ายการส่งข้อความไปยังระบบคลาวด์อย่างรวดเร็วและง่ายดาย เราขอแนะนำให้คุณพิจารณา Amazon MQ ซึ่งรองรับโปรโตคอลและ API มาตรฐานอุตสาหกรรม ดังนั้นคุณสามารถสลับจาก Message Broker ตามมาตรฐานไปยัง Amazon MQ ได้โดยไม่ต้องเขียนโค้ดการส่งข้อความในแแอปพลิเคชันของคุณใหม่ หากคุณกำลังสร้างแอปพลิเคชันใหม่ล่าสุดในระบบคลาวด์ เราขอแนะนำให้คุณพิจารณา Amazon SQS และ Amazon SNS Amazon SQS และ SNS ใช้พื้นที่น้อย จัดการบริการคิวข้อความและหัวข้อซึ่งปรับขนาดได้เกือบไม่จำกัดได้อย่างครบถ้วน รวมทั้งมี API ที่ใช้งานได้ง่าย 

ถาม: Amazon SQS มีการจัดลำดับข้อความหรือไม่

ใช่ คิว FIFO (เข้าก่อน-ออกก่อน) จะรักษาลำดับที่แน่นอนในการส่งและรับข้อความ หากคุณใช้คิว FIFO คุณจะไม่ต้องใส่ข้อมูลลำดับในข้อความ โปรดดูข้อมูลเพิ่มเติมที่ ตรรกะของคิว FIFO ในคู่มือ Amazon SQS Developer

คิวมาตรฐานให้ความสามารถ FIFO แบบอิสระที่พยายามรักษาลำดับของข้อความ แต่เนื่องจากคิวมาตรฐานได้รับการออกแบบมาให้สามารถปรับขนาดได้หลากหลายโดยใช้สถาปัตยกรรมแบบกระจายเป็นอย่างสูง ระบบจึงไม่สามารถรับรองการรับข้อความได้ตรงตามลำดับที่ส่ง

ถาม: Amazon SQS รับรองการจัดส่งข้อความหรือไม่

คิวมาตรฐานมีการจัดส่งอย่างน้อยหนึ่งครั้ง นั่นหมายความว่าระบบจะส่งแต่ละข้อความอย่างน้อยหนึ่งครั้ง

คิว FIFO มีการประมวลผลเพียงครั้งเดียว นั่นหมายความว่าระบบจะส่งแต่ละข้อความหนึ่งครั้งและยังใช้ได้จนกระทั่งผู้ใช้บริการประมวลผลแล้วลบออก ระบบจะไม่นำรายการที่ซ้ำกันลงในคิว

ถาม: Amazon SQS แตกต่างจาก Amazon Kinesis Streams อย่างไร

Amazon SQS มอบคิวที่น่าเชื่อถือ ปรับขนาดได้หลากหลาย และโฮสต์ไว้สำหรับจัดเก็บข้อความขณะมีการรับส่งระหว่างแอปพลิเคชันหรือไมโครเซอร์วิส ซึ่งย้ายข้อมูลระหว่างส่วนประกอบของแอปพลิเคชันแบบกระจายและช่วยคุณแยกส่วนประกอบเหล่านี้ Amazon SQS มีการสร้าง Middleware ทั่วไป เช่น คิวที่ทำไม่สำเร็จ และการจัดการ Poison-Pill ซึ่งมี API สำหรับบริการเว็บทั่วไปและสามารถเข้าถึงได้โดยภาษาการเขียนโปรแกรมซึ่งรองรับ AWS SDK Amazon SQS รองรับทั้งคิวมาตรฐานและคิว FIFO

Amazon Kinesis Streams ให้การประมวลผลการสตรีมข้อมูลขนาดใหญ่ได้แบบเรียลไทม์และความสามารถในการอ่านเพื่อเล่นบันทึกไปยังแอปพลิเคชัน Amazon Kinesis หลายๆ แอปซ้ำอีกครั้ง Amazon Kinesis Client Library (KCL) จัดส่งบันทึกทั้งหมดของ Partition Key ไปยังโปรเซสเซอร์การบันทึกเดียวกัน ซึ่งทำให้การสร้างแอปพลิเคชันหลายๆ แอปที่อ่านจากการสตรีม Amazon Kinesis เดียวกันทำได้ง่ายยิ่งขึ้น (ตัวอย่างเช่น เพื่อดำเนินการนับ การรวม และการกรอง)

โปรดดูข้อมูลเพิ่มเติมที่เอกสาร Amazon Kinesis

ถาม: Amazon ใช้ Amazon SQS กับแอปพลิเคชันของตนเองหรือไม่

ใช่ Developer ของ Amazon ใช้ Amazon SQS กับหลากหลายแอปพลิเคชันที่ดำเนินการกับข้อความจำนวนมากทุกวัน กระบวนการทางธุรกิจที่สำคัญใน Amazon.com และ Amazon Web Services ล้วนใช้ Amazon SQS

การเรียกเก็บเงิน

ถาม: Amazon SQS มีค่าใช้จ่ายเท่าไร

จ่ายเฉพาะสิ่งที่คุณใช้เท่านั้นและไม่มีค่าธรรมเนียมขั้นต่ำ

ค่าใช้จ่ายของ Amazon SQS จะคำนวณตามคำขอ บวกกับค่าบริการถ่ายโอนข้อมูลสำหรับข้อมูลที่ถ่ายโอนจาก Amazon SQS (เว้นแต่จะมีการถ่ายโอนข้อมูลไปยัง Amazon EC2 Instance หรือฟังก์ชัน AWS Lambda ภายในภูมิภาคเดียวกัน) โปรดดูการแจกแจงราคาโดยละเอียดตามประเภทของคิวและภูมิภาคที่ราคา Amazon SQS

ถาม: ฉันจะใช้ Amazon SQS Free Tier ทำอะไรได้บ้าง

Amazon SQS Free Tier ให้คุณใช้ได้ 1 ล้านคำขอต่อเดือนโดยไม่มีค่าบริการ

แอปพลิเคชันขนาดเล็กจำนวนมากสามารถทำงานทั้งหมดได้ภายในขอบเขตของ Free Tier แต่อาจมีค่าบริการถ่ายโอนข้อมูล โปรดดูข้อมูลเพิ่มเติมที่ราคา Amazon SQS

Free Tier เป็นข้อเสนอรายเดือน การใช้งานฟรีไม่สามารถเก็บสะสมข้ามเดือนได้

ถาม: ฉันจะถูกคิดค่าบริการสำหรับคำขอ Amazon SQS ทั้งหมดหรือไม่

ใช่ สำหรับคำขอที่นอกเหนือจาก Free Tier คำขอ Amazon SQS ทั้งหมดจะมีการคิดค่าบริการและเรียกเก็บเงินในอัตราเดียวกัน

ถาม: การดำเนินการเป็นชุดของ Amazon SQS มีค่าใช้จ่ายมากกว่าคำขออื่นๆ หรือไม่

ไม่ การดำเนินการเป็นชุด (SendMessageBatch, DeleteMessageBatch และ ChangeMessageVisibilityBatch) ล้วนมีค่าใช้จ่ายเช่นเดียวกับคำขอ Amazon SQS อื่นๆ โดยการจับกลุ่มข้อความเป็นชุด คุณสามารถลดค่าใช้จ่ายของ Amazon SQS ลงได้

ถาม: ฉันจะถูกคิดค่าบริการและเรียกเก็บเงินสำหรับการใช้ Amazon SQS อย่างไร

ไม่มีค่าธรรมเนียมเริ่มต้นในการเริ่มใช้ Amazon SQS ในตอนสิ้นเดือน ระบบจะเรียกเก็บค่าบริการสำหรับการใช้งานในเดือนนั้นจากบัตรเครดิตของคุณโดยอัตโนมัติ

คุณสามารถดูค่าบริการสำหรับช่วงเวลาที่เรียกเก็บเงินปัจจุบันได้ทุกเมื่อที่เว็บไซต์ AWS:

  1. เข้าสู่บัญชี AWS ของคุณ
  2. ภายใต้ Your Web Services Account (บัญชี Web Services ของคุณ) เลือก Account Activity (กิจกรรมในบัญชี)

ถาม: ฉันสามารถติดตามและจัดการค่าใช้จ่ายที่เกี่ยวข้องกับคิว Amazon SQS ได้อย่างไร

คุณสามารถแท็กและติดตามคิวสำหรับการจัดการค่าใช้จ่ายและทรัพยากรได้โดยใช้แท็กการจัดสรรต้นทุน แท็กคือป้ายเมตาดาต้าที่ประกอบด้วยคู่คีย์-ค่า ตัวอย่างเช่น คุณสามารถแท็กคิวได้โดยศูนย์ต้นทุน จากนั้นจัดหมวดหมู่แล้วติดตามค่าใช้จ่ายตามศูนย์ต้นทุนเหล่านี้

โปรดดูข้อมูลเพิ่มเติมที่การแท็กคิว Amazon SQS ของคุณในคู่มือ Amazon SQS Developer สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการแท็กการจัดสรรต้นทุนของทรัพยากร AWS ดูที่การใช้แท็กการจัดสรรต้นทุนในคู่มือผู้ใช้ AWS Billing and Cost Management

ถาม: ราคาของคุณรวมภาษีหรือไม่

ราคาของเราไม่รวมภาษีและอากรที่เกี่ยวข้องใดๆ เช่น VAT หรือภาษีขายที่เกี่ยวข้อง เว้นแต่ระบุไว้เป็นอย่างอื่น

สำหรับลูกค้าที่มีที่อยู่เรียกเก็บเงินในประเทศญี่ปุ่น การใช้ AWS ในทุกภูมิภาคจะต้องเสียภาษีโภคภัณฑ์ของประเทศญี่ปุ่นด้วย โปรดดูข้อมูลเพิ่มเติมที่คำถามที่พบบ่อยเกี่ยวกับภาษีโภคภัณฑ์ของ Amazon Web Services

คุณสมบัติ ฟังก์ชัน และอินเทอร์เฟซ

ถาม: สามารถใช้ Amazon SQS กับบริการของ AWS ประเภทอื่นได้หรือไม่

ใช่ คุณสามารถทำให้แอปพลิเคชันมีความยืดหยุ่นและปรับขนาดได้มากขึ้นด้วยการใช้ Amazon SQS ที่มีบริการประมวลผล เช่น Amazon EC2, Amazon EC2 Container Service (Amazon ECS) และ AWS Lambda ตลอดจนบริการจัดเก็บข้อมูลและฐานข้อมูล เช่น Amazon Simple Storage Service (Amazon S3) และ Amazon DynamoDB

ถาม: ฉันสามารถตอบโต้กับ Amazon SQS ได้อย่างไร

คุณสามารถเข้าถึง Amazon SQS ได้โดยใช้ AWS Management Console ซึ่งช่วยให้คุณสร้างคิว Amazon SQS และส่งข้อความได้อย่างง่ายดาย

นอกจากนี้ Amazon SQS ยังมี API สำหรับบริการเว็บ ซึ่งผสานรวมกับ AWS SDK ที่ช่วยให้สามารถทำงานในภาษาการเขียนโปรแกรมที่คุณเลือกได้ด้วยเช่นกัน

ถาม: การดำเนินการ API ที่ใช้ได้กับ Amazon SQS มีอะไรบ้าง

โปรดดูข้อมูลเกี่ยวกับการดำเนินการคิวข้อความที่ข้อมูลอ้างอิง Amazon SQS API

ถาม: ใครสามารถดำเนินการเกี่ยวกับคิวข้อความได้บ้าง

เฉพาะเจ้าของบัญชี AWS (หรือบัญชี AWS ที่เจ้าของบัญชีได้มอบสิทธิ์ให้) เท่านั้นที่สามารถดำเนินการเกี่ยวกับคิวข้อความ Amazon SQS ได้

ถาม: ฉันสามารถใช้ Java Message Service (JMS) กับ Amazon SQS ได้หรือไม่

ใช่ คุณสามารถใช้ประโยชน์จากขนาด ต้นทุนต่ำ และความพร้อมใช้งานสูงของ Amazon SQS ได้โดยไม่ต้องกังวลและไม่มีค่าใช้จ่ายสูงในการเรียกใช้คลัสเตอร์ JMS ของคุณเอง

Amazon มีไลบรารีการส่งข้อความแบบ Java ของ Amazon SQS ที่นำข้อกำหนด JMS 1.1 ไปใช้และใช้ Amazon SQS เป็นผู้ใช้บริการ JMS โปรดดูข้อมูลเพิ่มเติมที่การใช้ JMS กับ Amazon SQS ในคู่มือ Amazon SQS Developer

ถาม: Amazon SQS ระบุข้อความได้อย่างไร

ข้อความทั้งหมดมีรหัสที่ไม่ซ้ำกันทั่วโลก ซึ่ง Amazon SQS ได้ส่งกลับเมื่อระบบได้จัดส่งข้อความไปยังคิวข้อความ รหัสไม่มีความจำเป็นต่อการดำเนินการใดๆ เกี่ยวกับข้อความ แต่ก็มีประโยชน์สำหรับการติดตามการรับข้อความที่เจาะจงในคิวข้อความ

เมื่อคุณได้รับข้อความจากคิวข้อความ การตอบกลับจะรวมถึงตัวระบุการรับที่คุณต้องแจ้งเมื่อมีการลบข้อความ

โปรดดูข้อมูลเพิ่มเติมที่ตัวระบุคิวและข้อความในคู่มือ Amazon SQS Developer

ถาม: Amazon SQS จัดการกับข้อความที่ไม่สามารถประมวลผลได้อย่างไร

ใน Amazon SQS คุณสามารถใช้ API หรือ Console เพื่อกำหนดค่าคิวที่ทำไม่สำเร็จ ซึ่งเป็นคิวที่ได้รับข้อความจากคิวแหล่งอื่น

หากคุณทำคิวลงในคิวที่ทำไม่สำเร็จ คิวดังกล่าวจะได้รับข้อความหลังจากพยายามประมวลผลจนครบจำนวนสูงสุดแต่ทำไม่สำเร็จ คุณสามารถใช้คิวที่ทำไม่สำเร็จแยกข้อความที่ไม่สามารถประมวลผลสำหรับการวิเคราะห์ในภายหลังได้

โปรดดูข้อมูลเพิ่มเติมที่ "สามารถใช้คิวที่ทำไม่สำเร็จกับคิว FIFO ได้หรือไม่" ในหน้านี้และการใช้คิวที่ทำไม่สำเร็จของ Amazon SQS ในคู่มือ Amazon SQS Developer

ถาม: หมดเวลาแสดงผลคืออะไร

หมดเวลาแสดงผลคือช่วงระยะเวลาที่ Amazon SQS ป้องกันไม่ให้ส่วนประกอบอื่นๆ ที่ใช้ได้รับข้อความเพื่อประมวลผล โปรดดูข้อมูลเพิ่มเติมที่หมดเวลาแสดงผลในคู่มือ Amazon SQS Developer

ถาม: Amazon SQS รองรับเมตาดาต้าข้อความหรือไม่

ใช่ ข้อความ Amazon SQS มีคุณลักษณะเมตาดาต้าได้สูงสุด 10 รายการ คุณสามารถใช้คุณลักษณะข้อความเพื่อแยกตัวข้อความออกจากเมตาดาต้าที่อธิบายข้อความดังกล่าว การทำเช่นนี้ช่วยให้ประมวลผลและจัดเก็บข้อมูลได้ด้วยความเร็วและประสิทธิภาพมากขึ้น เนื่องจากแอปพลิเคชันไม่ต้องตรวจสอบข้อความทั้งหมดก่อนที่จะทำความเข้าใจวิธีการประมวลผลนั้น

คุณลักษณะข้อความ Amazon SQS ใช้รูปแบบสามชนิดของ name-type-value ประเภทที่รองรับประกอบด้วยสตริง เลขฐานสอง และจำนวน (รวมถึงจำนวนเต็ม จุดทศนิยมลอยตัว และสองเท่า) โปรดดูข้อมูลเพิ่มเติมที่การใช้คุณลักษณะข้อความ Amazon SQS ในคู่มือ Amazon SQS Developer

ถาม: ฉันสามารถกำหนดค่า time-in-queue ได้อย่างไร

หากต้องการกำหนดค่า time-in-queue คุณสามารถขอคุณลักษณะ SentTimestamp ได้เมื่อรับข้อความ การลบค่านั้นออกจากผลเวลาปัจจุบันในค่า time-in-queue

ถาม: เวลาแฝงโดยทั่วไปของ Amazon SQS คืออะไร

เวลาแฝงโดยทั่วไปของคำขอ API สำหรับ SendMessage, ReceiveMessage และ DeleteMessage อยู่ในหลักสิบหรือต่ำกว่าร้อยของมิลลิวินาที

ถาม: สำหรับการเข้าถึงที่ไม่ระบุชื่อ ค่าของคุณลักษณะ SenderId สำหรับข้อความคืออะไร

เมื่อไม่มีรหัสบัญชี AWS (ตัวอย่างเช่น เมื่อผู้ใช้ที่ไม่ระบุชื่อส่งข้อความ) Amazon SQS จะให้ที่อยู่ IP

ถาม: การโพลแบบยาวของ Amazon SQS คืออะไร

การโพลแบบยาวของ Amazon SQS เป็นวิธีหนึ่งในการเรียกใช้ข้อความจากคิว Amazon SQS ในขณะที่การโพลแบบสั้นปกติส่งคืนข้อมูลในทันทีแม้ว่าคิวข้อมูลที่ถูกโพลนั้นว่างเปล่า การโพลแบบยาวจะไม่ส่งคืนการตอบกลับจนกว่าข้อความจะมาถึงในคิวข้อความหรือโพลแบบยาวหมดเวลาลง

การโพลแบบยาวทำให้การเรียกใช้ข้อความจากคิว Amazon SQS ทันทีที่ข้อความนั้นพร้อมใช้งานมีราคาที่ย่อมเยา การใช้การโพลแบบยาวอาจลดค่าใช้จ่ายของการใช้ SQS ลง เนื่องจากคุณสามารถลดจำนวนการรับที่ว่างเปล่าได้ โปรดดูข้อมูลเพิ่มเติมที่การโพลแบบยาวของ Amazon SQS ในคู่มือ Amazon SQS Developer

ถาม: มีการคิดค่าบริการเพิ่มเติมสำหรับการใช้การโพลแบบยาวของ Amazon SQS หรือไม่

ไม่ การเรียกใช้ ReceiveMessage การโพลแบบยาวจะถูกเรียกเก็บเงินเช่นเดียวกับการเรียกใช้ ReceiveMessage การโพลแบบสั้น

ถาม: ฉันควรใช้การโพลแบบยาวของ Amazon SQS และการโพลแบบสั้นของ Amazon SQS เมื่อใด

ในเกือบทุกกรณี การโพลแบบยาวของ Amazon SQS ได้รับความนิยมกว่าการโพลแบบสั้น คำขอโพลแบบยาวช่วยให้ผู้ใช้บริการคิวของคุณได้รับข้อความทันทีที่มีข้อความมาถึงที่คิว ในเวลาเดียวกันระบบก็ลดจำนวนอินสแตนซ์ ReceiveMessageResponse ว่างเปล่าที่ถูกส่งคืนลง

การโพลแบบยาวของ Amazon SQS ให้ผลลัพธ์ที่มีประสิทธิภาพสูงขึ้นด้วยต้นทุนที่ลดลงในกรณีใช้งานส่วนใหญ่ แต่หากแอปพลิเคชันของคุณคาดหวังการตอบสนองทันทีจากการเรียกใช้ ReceiveMessage คุณอาจไม่สามารถใช้ประโยชน์จากการโพลแบบยาวได้โดยที่ไม่ต้องมีการปรับเปลี่ยนบางอย่างแก่แอปพลิเคชันนั้น

ตัวอย่างเช่น หากแอปพลิเคชันใช้เธรดเดี่ยวในการโพลคิวหลายคิว การสลับจากการโพลแบบสั้นเป็นการโพลแบบยาวอาจจะไม่สามารถใช้งานได้ เนื่องจากเธรดเดี่ยวจะรอให้หมดเวลาการโพลแบบยาวที่คิวว่างเปล่า ซึ่งทำให้การประมวลผลของคิวที่อาจมีข้อความเกิดความล่าช้า

ในแอปพลิเคชันดังกล่าว ควรใช้เธรดเดี่ยวในการประมวลผลคิวเดียวเท่านั้นเพื่อช่วยให้แอปพลิเคชันสามารถใช้ประโยชน์จากการโพลแบบยาวที่ Amazon SQS มีให้

ถาม: ฉันควรใช้ค่าใดสำหรับหมดเวลาการโพลแบบยาว

โดยทั่วไป 20 วินาทีควรเป็นเวลาสูงสุดที่ใช้สำหรับหมดเวลาการโพลแบบยาว เนื่องจากค่าหมดเวลาการโพลแบบยาวที่สูงขึ้นนั้นลดจำนวนอินสแตนซ์ ReceiveMessageResponse ว่างเปล่าที่ถูกส่งคืนลง ให้พยายามตั้งค่าหมดเวลาการโพลแบบยาวให้สูงที่สุดเท่าที่จะทำได้

หากเวลาสูงสุด 20 วินาทีไม่สามารถใช้ได้กับแอปพลิเคชันของคุณ (ดูตัวอย่างในคำถามก่อนหน้านี้) ให้ตั้งค่าหมดเวลาการโพลแบบยาวให้สั้นลง โดยให้สั้นเท่ากับ 1 วินาที

AWS SDK ทั้งหมดสามารถใช้ได้กับการโพลแบบยาว 20 วินาทีตามค่าเริ่มต้น หากคุณไม่ได้ใช้ AWS SDK เพื่อเข้าถึง Amazon SQS หรือหากคุณกำหนดค่า AWS SDK ไว้โดยเฉพาะเพื่อให้มีการหมดเวลาที่สั้นลง คุณอาจต้องปรับไคลเอ็นต์ของ Amazon SQS ให้ส่งคำขอยาวขึ้นหรือใช้หมดเวลาการโพลแบบยาวที่สั้นลง

ถาม: AmazonSQSBufferedAsyncClient for Java คืออะไร

AmazonSQSBufferedAsyncClient for Java มีการนำอินเทอร์เฟซ AmazonSQSAsyncClient มาใช้แล้วเพิ่มคุณสมบัติสำคัญหลายรายการ:

  • การสร้างชุดคำขออัตโนมัติของ SendMessage, DeleteMessage หรือ ChangeMessageVisibility หลายรายการโดยที่ไม่ต้องทำการเปลี่ยนแปลงแก่แอปพลิเคชัน
  • การพรีเฟชข้อความลงในบัฟเฟอร์เฉพาะที่ช่วยให้แอปพลิเคชันสามารถประมวลผลข้อความจาก Amazon SQS ได้ทันทีโดยไม่ต้องรอข้อความที่จะถูกเรียก

ด้วยการทำงานร่วมกัน การสร้างชุดคำขออัตโนมัติและการพรีเฟชจะเพิ่มปริมาณการประมวลผลและลดเวลาแฝงของแอปพลิเคชัน ในเวลาเดียวกันก็ลดค่าใช้จ่ายโดยการส่งคำขอ Amazon SQS น้อยลง โปรดดูข้อมูลเพิ่มเติมที่การบัฟเฟอร์ฝั่งไคลเอ็นต์และการสร้างชุดคำขอในคู่มือ Amazon SQS Developer

ถาม: ฉันสามารถดาวน์โหลด AmazonSQSBufferedAsyncClient for Java ได้จากไหน

คุณสามารถดาวน์โหลด AmazonSQSBufferedAsyncClient ให้เป็นส่วนหนึ่งของ AWS SDK for Java ได้

ถาม: ฉันต้องเขียนแอปพลิเคชันใหม่เพื่อใช้ AmazonSQSBufferedAsyncClient for Java หรือไม่

ไม่ คุณสามารถนำ AmazonSQSBufferedAsyncClient for Java มาใช้เป็นบริการที่สามารถใช้ทดแทน AmazonSQSAsyncClient ที่มีอยู่ได้

หากคุณอัปเดตแอปพลิเคชันเพื่อใช้ AWS SDK ล่าสุดและเปลี่ยนไคลเอ็นต์เพื่อใช้ AmazonSQSBufferedAsyncClient for Java แทน AmazonSQSAsyncClient แอปพลิเคชันของคุณจะได้รับประโยชน์ของการสร้างชุดคำขออัตโนมัติและการพรีเฟชที่เพิ่มเข้ามา

ถาม: ฉันสามารถสมัครคิวข้อความ Amazon SQS เพื่อรับการแจ้งเตือนจากหัวข้อ Amazon SNS ได้อย่างไร

  1. ใน Amazon SQS Console ให้เลือก Amazon SQS standard queue (คิวมาตรฐาน Amazon SQS)
  2. ใต้ Queue Actions (การดำเนินการคิว) ให้เลือก Subscribe Queue to SNS Topic (สมัครคิวหัวข้อ SNS) จากรายการดรอปดาวน์
  3. ในกล่องโต้ตอบ ให้เลือกหัวข้อจากรายการดรอปดาวน์ Choose a Topic (เลือกหัวข้อ) แล้วคลิก Subscribe (สมัคร)

โปรดดูข้อมูลเพิ่มเติมที่การสมัครคิวหัวข้อ Amazon SNS ในคู่มือ Amazon SQS Developer

ถาม: สามารถลบข้อความทั้งหมดในคิวข้อความโดยไม่ลบตัวคิวข้อความนั้นได้หรือไม่

ใช่ คุณสามารถลบข้อความทั้งหมดในคิวข้อความ Amazon SQS ได้โดยใช้การดำเนินการ PurgeQueue

เมื่อคุณล้างคิวข้อความ ระบบจะลบข้อความทั้งหมดที่ก่อนหน้านี้ถูกส่งไปยังคิวข้อความที่ถูกลบนั้น เนื่องจากคิวข้อความและคุณลักษณะของคิวนั้นยังคงอยู่ จึงไม่ต้องกำหนดค่าคิวข้อความดังกล่าวอีกครั้ง คุณสามารถใช้ต่อไปได้เลย

หากต้องการลบเฉพาะข้อความที่ระบุเท่านั้น ให้ใช้การดำเนินการ DeleteMessage หรือ DeleteMessageBatch

โปรดดูข้อมูลเพิ่มเติมที่บทแนะนำสอนการใช้งาน: การล้างข้อความจากคิว Amazon SQS

คิว FIFO

ถาม: คิว FIFO สามารถใช้ได้ในภูมิภาคใดบ้าง

ขณะนี้คิว FIFO มีให้บริการในภูมิภาคต่อไปนี้:

  • สหรัฐอเมริกาฝั่งตะวันตก (ออริกอน แคลิฟอร์เนียเหนือ)
  • สหรัฐอเมริกาฝั่งตะวันออก (โอไฮโอ เวอร์จิเนียเหนือ)
  • GovCloud (สหรัฐอเมริกาฝั่งตะวันออก)
  • GovCloud (สหรัฐอเมริกาฝั่งตะวันตก)
  • สหภาพยุโรป (ไอร์แลนด์ แฟรงเฟิร์ต ลอนดอน ปารีส สตอกโฮล์ม)
  • เอเชียแปซิฟิก (ซิดนีย์ โตเกียว มุมไบ โซล สิงคโปร์)
  • แคนาดา (ภาคกลาง)
  • อเมริกาใต้ (เซาเปาลู)
  • จีน (หนิงเซี่ย) ดำเนินการโดย NWCD
  • จีน (ปักกิ่ง) ดำเนินการโดย SINNET
  • เอเชียแปซิฟิก (ฮ่องกง) 

ถาม: ฉันจะได้รับสำเนาข้อความกี่ฉบับ

คิว FIFO ไม่ได้รับการออกแบบมาให้ทำข้อความซ้ำ แต่ตัวผลิตข้อความของคุณอาจทำซ้ำได้ในบางสถานการณ์: ตัวอย่างเช่น หากตัวผลิตส่งข้อความ ไม่ได้รับการตอบกลับ จากนั้นจึงส่งข้อความเดิมอีกครั้ง Amazon SQS API มีฟังก์ชันขจัดการทำซ้ำที่ป้องกันไม่ให้ตัวผลิตข้อความส่งข้อความซ้ำ ทั้งนี้ระบบจะลบข้อความซ้ำที่ตัวผลิตข้อความได้ทำไว้ภายใน 5 นาทีของช่วงเวลาขจัดการทำซ้ำ

สำหรับคิวมาตรฐาน บางครั้งคุณอาจได้รับสำเนาของข้อความ (อย่างน้อยหนึ่งครั้งเมื่อจัดส่ง) หากคุณใช้คิวมาตรฐาน คุณต้องออกแบบแอปพลิเคชันให้มีผลลัพธ์เป็นค่าเดิมเสมอ (นั่นคือต้องไม่มีผลกระทบในทางตรงข้ามเมื่อประมวลผลข้อความเดิมมากกว่าหนึ่งครั้ง)

โปรดดูข้อมูลเพิ่มเติมที่การประมวลผลเพียงครั้งเดียวในคู่มือ Amazon SQS Developer

ถาม: คิว Amazon SQS ที่ใช้ก่อนหน้านี้จะเปลี่ยนไปเป็นคิว FIFO หรือไม่

ไม่ได้ คิวมาตรฐานของ Amazon SQS (ชื่อใหม่สำหรับคิวที่มีอยู่) ยังคงไม่เปลี่ยนแปลงและคุณยังสามารถสร้างคิวมาตรฐานได้ คิวเหล่านี้ยังคงมีความสามารถในการปรับขนาดและปริมาณการประมวลผลสูงสุดต่อไปแต่คุณจะไม่ได้รับการรับรองเรื่องการจัดลำดับและอาจมีการทำซ้ำ

คิวมาตรฐานเหมาะสมกับหลายสถานการณ์ เช่น การกระจายงานเกี่ยวกับผู้ใช้บริการหลายรายที่มีผลลัพธ์เป็นค่าเดิมเสมอ

ถาม: ฉันจะแปลงคิวมาตรฐานที่มีอยู่ไปเป็นคิว FIFO ได้หรือไม่

ไม่ได้ คุณต้องเลือกประเภทของคิวเมื่อสร้างคิวนั้นขึ้น แต่คิวดังกล่าวสามารถย้ายไปยังคิว FIFO ได้ โปรดดูข้อมูลเพิ่มเติมที่การย้ายจากคิวมาตรฐานไปยังคิว FIFO ในคู่มือ Amazon SQS Developer

ถาม: คิว FIFO ของ Amazon SQS เข้ากันได้กับระบบเก่าหรือไม่

หากต้องการใช้ประโยชน์จากฟังก์ชันคิว FIFO คุณต้องใช้ AWS SDK รุ่นล่าสุด

คิว FIFO ใช้การดำเนินการ API เดียวกันกับคิวมาตรฐาน รวมทั้งกลไกในการรับและการลบข้อความตลอดจนการเปลี่ยนแปลงการหมดเวลาแสดงผลแบบเดียวกัน แต่เมื่อส่งข้อความ คุณต้องระบุรหัสกลุ่มของข้อความ โปรดดูข้อมูลเพิ่มเติมที่ตรรกะของคิว FIFO ในคู่มือ Amazon SQS Developer

ถาม: คิว FIFO ของ Amazon SQS เข้ากันได้กับบริการของ AWS หรือบริการจากภายนอก

บริการ AWS หรือบริการจากภายนอกบางบริการที่ส่งการแจ้งเตือนไปยัง Amazon SQS อาจเข้ากันไม่ได้กับคิว FIFO แม้ว่าบริการดังกล่าวจะให้คุณตั้งค่าคิว FIFO เป็นเป้าหมายก็ตาม

ปัจจุบันคุณสมบัติดังต่อไปนี้ของบริการของ AWS เข้ากันไม่ได้กับคิว FIFO:

สำหรับข้อมูลเกี่ยวกับบริการอื่นที่เข้ากันได้กับคิว FIFO โปรดดูเอกสารประกอบบริการ

ถาม: คิว FIFO ของ Amazon SQS เข้ากันได้กับ Amazon SQS Buffered Asynchronous Client, Amazon SQS Extended Client Library for Java หรือ Amazon SQS Java Message Service (JMS) Client หรือไม่

ปัจจุบันคิว FIFO เข้ากันไม่ได้กับ Amazon SQS Buffered Asynchronous Client

คิว FIFO เข้ากันได้กับ Amazon SQS Extended Client Library for Java และ Amazon SQS Java Message Service (JMS) client

ถาม: คิว FIFO ของ Amazon SQS รองรับตัววัด AWS CloudWatch ใด

คิว FIFO รองรับตัววัดทั้งหมดที่คิวมาตรฐานรองรับ สำหรับคิว FIFO แล้ว ตัววัดโดยประมาณทั้งหมดล้วนส่งกลับจำนวนที่แม่นยำ ตัวอย่างเช่น มีการรองรับตัววัด AWS CloudWatch ต่อไปนี้:

  • ApproximateNumberOfMessagesDelayed - จำนวนของข้อความที่อยู่ในคิวซึ่งล่าช้าและไม่สามารถอ่านได้ทันที
  • ApproximateNumberOfMessagesVisible - จำนวนของข้อความที่สามารถเรียกดูได้จากคิว
  • ApproximateNumberOfMessagesNotVisible - จำนวนของข้อความที่อยู่ระหว่างถ่ายโอน (ส่งไปยังไคลเอ็นต์แต่ยังไม่ได้ลบออกหรือยังไปไม่ถึงปลายหน้าต่างการแสดงผล)

ถาม: กลุ่มข้อความคืออะไร

ข้อความที่ถูกแบ่งกลุ่มเป็น "ชุด" ที่จัดลำดับแตกต่างกันไปในคิว FIFO โดยข้อความทั้งหมดจะถูกส่งและรับในลำดับที่เข้มงวดตามรหัสกลุ่มของข้อความแต่ละรหัส แต่ข้อความที่มีค่ารหัสกลุ่มของข้อความแตกต่างกันอาจถูกส่งและรับอย่างไม่เป็นลำดับ ทั้งนี้คุณต้องโยงรหัสกลุ่มของข้อความกับข้อความ หากไม่ระบุรหัสกลุ่มของข้อความ ระบบจะดำเนินการไม่สำเร็จ

หากหลายโฮสต์ (หรือมีหลายเธรดในโฮสต์เดียวกัน) ส่งข้อความที่มีรหัสกลุ่มของข้อความเดียวกันไปยังคิว FIFO ทาง Amazon SQS จะส่งข้อความตามลำดับที่ข้อความเหล่านั้นมาถึงเพื่อประมวลผล หากต้องการมั่นใจว่า Amazon SQS รักษาลำดับตามข้อความที่ถูกส่งและรับ ให้ตรวจสอบว่าผู้ส่งหลายรายได้ส่งแต่ละข้อความโดยมีรหัสกลุ่มของข้อความไม่ซ้ำกัน

โปรดดูข้อมูลเพิ่มเติมที่ตรรกะของคิว FIFO ในคู่มือ Amazon SQS Developer

ถาม: คิว FIFO ของ Amazon SQS FIFO รองรับตัวผลิตหลายตัวหรือไม่

ใช่ ตัวผลิตอย่างน้อยหนึ่งตัวสามารถส่งข้อความไปยังคิว FIFO ได้ ระบบจะจัดเก็บข้อความตามลำดับที่ Amazon SQS รับเรียบร้อยแล้ว

หากตัวผลิตหลายตัวส่งข้อความพร้อมกันโดยไม่รอการดำเนินการ SendMessage หรือ SendMessageBatch ตอบกลับว่าสำเร็จ ระบบอาจไม่รักษาลำดับระหว่างตัวผลิต การตอบกลับของการดำเนินการ SendMessage หรือ SendMessageBatch จะมีลำดับการจัดขั้นสุดท้ายที่คิว FIFO ใช้ในการใส่ข้อความลงในคิว ดังนั้นรหัสตัวผลิตพร้อมกันหลายตัวจึงสามารถระบุการจัดลำดับขั้นสุดท้ายของข้อความในคิวได้

ถาม: คิว FIFO ของ Amazon SQS รองรับผู้ใช้บริการหลายรายหรือไม่

ด้วยการออกแบบ คิว FIFO ของ Amazon SQS ไม่ให้บริการข้อความจากกลุ่มข้อความเดียวกันเพื่อส่งไปยังผู้ใช้บริการมากกว่าหนึ่งรายในแต่ละครั้ง แต่หากคิว FIFO ของคุณมีกลุ่มข้อความหลายกลุ่มคุณสามารถใช้ประโยชน์จากผู้ใช้บริการพร้อมกัน ซึ่งให้ Amazon SQS บริการข้อความจากกลุ่มข้อความที่แตกต่างกันเพื่อส่งไปยังผู้ใช้บริการแต่ละรายได้

ถาม: สามารถใช้คิวที่ทำไม่สำเร็จกับคิว FIFO ได้หรือไม่

ใช่ แต่คุณต้องใช้คิวที่ทำไม่สำเร็จของ FIFO กับคิว FIFO (ในทำนองเดียวกัน คุณสามารถใช้คิวที่ทำไม่สำเร็จแบบมาตรฐานกับคิวมาตรฐานเท่านั้น)

ถาม: คิว FIFO ของ Amazon SQS มีขีดจำกัดสำหรับปริมาณการประมวลผลอย่างไร

ตามค่าเริ่มต้น คิว FIFO รองรับข้อความได้สูงสุด 3,000 ข้อความต่อวินาทีพร้อมการสร้างชุด หรือสูงสุด 300 ข้อความต่อวินาที (การดำเนินการส่ง รับ หรือลบ 300 ข้อความต่อวินาที) โดยไม่มีการสร้างชุด หากต้องการขอเพิ่มขีดจำกัด ให้ส่งคำขอการสนับสนุน

ถาม: คุณลักษณะของคิว FIFO มีขีดจำกัดเฉพาะหรือไม่

ชื่อของคิว FIFO ต้องลงท้ายด้วยคำต่อท้าย .fifo คำต่อท้ายเป็นส่วนหนึ่งของขีดจำกัดชื่อคิวที่ยาว 80 ตัวอักขระ หากต้องการดูว่าเป็นคิว FIFO หรือไม่ คุณสามารถตรวจสอบได้ที่คำต่อท้ายชื่อของคิวนั้น

การรักษาความปลอดภัยและความเชื่อถือได้

ถาม: พื้นที่จัดเก็บข้อมูลใน Amazon SQS มีความน่าเชื่อถือเพียงใด

Amazon SQS จัดเก็บคิวข้อความและข้อความทั้งหมดไว้ภายในภูมิภาค AWS เดี่ยวพร้อมใช้งานสูงที่มี Availability Zone (AZ) มากมายจนเหลือเฟือกระทั่งเป็นไปไม่ได้เลยที่คอมพิวเตอร์ เครือข่าย หรือข้อบกพร่อง AZ จะทำให้เข้าถึงข้อความไม่ได้ โปรดดูข้อมูลเพิ่มเติมที่ภูมิภาคและ Availability Zone ในคู่มือผู้ใช้ Amazon Relational Database Service

ถาม: ฉันจะปกป้องข้อความในคิวข้อความของฉันได้อย่างไร

กลไกการตรวจสอบความถูกต้องช่วยให้มั่นใจได้ว่าข้อความที่จัดเก็บไว้ในคิวข้อความ Amazon SQS จะปลอดภัยจากการเข้าถึงโดยไม่ได้รับอนุญาต คุณสามารถควบคุมผู้ที่จะส่งข้อความไปยังคิวข้อความและผู้ที่จะรับข้อความจากคิวข้อความนั้นได้ หากต้องการเพิ่มความปลอดภัย คุณสามารถสร้างแอปพลิเคชันเพื่อเข้ารหัสข้อความก่อนที่จะใส่ข้อความดังกล่าวลงในคิวข้อความ

Amazon SQS มีระบบสิทธิ์ตามทรัพยากรของตนซึ่งใช้นโยบายที่เขียนขึ้นในภาษาเดียวกันกับนโยบาย AWS Identity and Access Management (IAM): ตัวอย่างเช่น คุณสามารถใช้ตัวแปรได้เหมือนกับในนโยบาย IAM โปรดดูข้อมูลเพิ่มเติมที่ตัวอย่างนโยบายของ Amazon SQS ในคู่มือ Amazon SQS Developer

Amazon SQS รองรับโปรโตคอล HTTP over SSL (HTTPS) และ Transport Layer Security (TLS) ไคลเอ็นต์ส่วนใหญ่สามารถโยกย้ายไปใช้ TLS เวอร์ชันที่ใหม่กว่าได้อย่างอัตโนมัติโดยไม่ต้องเปลี่ยนแปลงโค้ดหรือการกำหนดค่า Amazon SQS รองรับโปรโตคอล Transport Layer Security (TLS) เวอร์ชัน 1.0, 1.1 และ 1.2 ในภูมิภาคทั้งหมด

ถาม: ทำไมต้องแยกการดำเนินการ ReceiveMessage และ DeleteMessage ออกจากกัน

เมื่อ Amazon SQS ส่งกลับข้อความให้คุณ ข้อความดังกล่าวจะอยู่ในคิวข้อความไม่ว่าคุณจะได้รับข้อความนั้นจริงหรือไม่ก็ตาม คุณต้องลบข้อความและรับทราบคำขอลบที่คุณดำเนินการกับข้อความนั้น

หากคุณไม่ลบข้อความดังกล่าว Amazon SQS จะส่งข้อความอีกครั้งเมื่อได้รับคำขอรับอีกคำขอ โปรดดูข้อมูลเพิ่มเติมที่หมดเวลาแสดงผลในคู่มือ Amazon SQS Developer

ถาม: สามารถรับข้อความที่ลบแล้วได้อีกครั้งหรือไม่

ไม่ได้ คิว FIFO ไม่ทำข้อความซ้ำ

สำหรับคิวมาตรฐาน คุณอาจได้รับข้อความที่ก่อนหน้านี้ลบออกไปแล้วเป็นครั้งที่สอง แต่ก็เกิดขึ้นได้ยาก 

ถาม: จะเป็นอย่างไรหากออกคำขอ DeleteMessage ด้วยข้อความที่ก่อนหน้านี้ลบออกไปแล้ว

เมื่อคุณออกคำขอ DeleteMessage ด้วยข้อความที่ก่อนหน้านี้ลบออกไปแล้ว Amazon SQS จะส่งการตอบกลับว่าสำเร็จ

การเข้ารหัสฝั่งเซิร์ฟเวอร์ (SSE)

ถาม: การเข้ารหัสฝั่งเซิร์ฟเวอร์ (SSE) มีประโยชน์กับ Amazon SQS อย่างไรบ้าง

การเข้ารหัสฝั่งเซิร์ฟเวอร์ (SSE) ให้คุณส่งข้อมูลสำคัญในคิวที่เข้ารหัส SSE ปกป้องเนื้อหาของข้อความในคิว Amazon SQS โดยใช้คีย์ที่มีการจัดการใน AWS Key Management Service (AWS KMS) SSE เข้ารหัสข้อความทันทีที่ Amazon SQS ได้รับข้อความดังกล่าว ระบบจะจัดเก็บข้อความไว้ในรูปแบบที่เข้ารหัสและ Amazon SQS จะถอดรหัสข้อความเมื่อส่งให้ผู้ใช้บริการที่ได้รับอนุญาตเท่านั้น

โปรดดูข้อมูลเพิ่มเติมที่การปกป้องข้อมูลโดยใช้การเข้ารหัสฝั่งเซิร์ฟเวอร์ (SSE) และ AWS KMS ในคู่มือ Amazon SQS Developer

ถาม: สามารถใช้ SNS, Cloud Watch Events และ S3 Events กับคิวที่เข้ารหัสได้หรือไม่

ใช่ หากต้องการทำเช่นนี้ คุณต้องเปิดการใช้งานร่วมกันระหว่างบริการของ AWS (เช่น Amazon CloudWatch Events, Amazon S3 และ Amazon SNS) และคิวที่มี SSE โปรดดูคำแนะนำโดยละเอียดที่หมวดการใช้งานร่วมกันของคู่มือ SQS Developer  

ถาม: คิวที่มี SSE สามารถใช้ได้ในภูมิภาคใดบ้าง

การเข้ารหัสฝั่งเซิร์ฟเวอร์ (SSE) สำหรับ Amazon SQS สามารถใช้ได้ในภูมิภาคต่อไปนี้: เอเชียแปซิฟิก (มุมไบ โอซาก้า โซล สิงคโปร์ ซิดนีย์ และโตเกียว), แคนาดา (ภาคกลาง), สหภาพยุโรป (แฟรงเฟิร์ต ไอร์แลนด์ ลอนดอน และปารีส), อเมริกาใต้ (เซาเปาลู), สหรัฐอเมริกาฝั่งตะวันตก (แคลิฟอร์เนียเหนือ ออริกอน), สหรัฐอเมริกาฝั่งตะวันออก (เวอร์จิเนียเหนือ โอไฮโอ) และ GovCloud (US)

ถาม: เปิดใช้งาน SSE สำหรับคิว Amazon SQS คิวใหม่หรือคิวที่มีอยู่แล้วได้อย่างไร

หากต้องการเปิดใช้งาน SSE สำหรับคิวใหม่หรือคิวที่มีอยู่แล้วโดยใช้ Amazon SQS API ให้ระบุรหัสคีย์หลักของลูกค้า (CMK): นามแฝง, ARN นามแฝง, รหัสคีย์ หรือ ARN คีย์ของ CMK ที่มีการจัดการของ AWS หรือ CMK แบบกำหนดเองโดยการตั้งค่าคุณลักษณะ KmsMasterKeyId ของการดำเนินการ CreateQueue หรือ SetQueueAttributes

โปรดดูคำแนะนำโดยละเอียดที่การสร้างคิว Amazon SQS ที่มีการเข้ารหัสฝั่งเซิร์ฟเวอร์และการกำหนดค่าการเข้ารหัสฝั่งเซิร์ฟเวอร์ (SSE) สำหรับคิว Amazon SQS ที่มีอยู่ในคู่มือ Amazon SQS Developer

ถาม: คิว Amazon SQS ประเภทใดสามารถใช้ SSE ได้

ทั้งคิวมาตรฐานและคิว FIFO ต่างก็รองรับ SSE

ถาม: ต้องมีสิทธิ์ใดจึงจะใช้ SSE กับ Amazon SQS ได้

ก่อนที่จะใช้ SSE ได้ คุณต้องกำหนดค่านโยบายของคีย์ AWS KMS เพื่ออนุญาตการเข้ารหัสของคิว รวมทั้งการเข้ารหัสและการถอดรหัสของข้อความ

หากต้องการเปิดใช้งาน SSE สำหรับคิว คุณสามารถใช้คีย์หลักของลูกค้า (CMK) ที่มีการจัดการของ AWS สำหรับ Amazon SQS หรือ CMK แบบกำหนดเอง โปรดดูข้อมูลเพิ่มเติมที่คีย์หลักของลูกค้าในคู่มือ AWS KMS Developer

หากต้องการส่งข้อความไปยังคิวที่เข้ารหัส ตัวผลิตต้องมีสิทธิ์ kms:GenerateDataKey และ kms:Decrypt สำหรับ CMK

หากต้องการรับข้อความจากคิวที่เข้ารหัส ผู้ใช้บริการต้องมีสิทธิ์ kms:Decrypt สำหรับ CMK ที่ใช้เพื่อเข้ารหัสข้อความในคิวที่ระบุ หากคิวนั้นทำหน้าที่เป็นคิวที่ทำไม่สำเร็จ ผู้ใช้บริการยังต้องมีสิทธิ์ kms:Decrypt สำหรับ CMK ที่ใช้เพื่อเข้ารหัสข้อความในคิวต้นทางด้วยเช่นกัน

โปรดดูข้อมูลเพิ่มเติมที่ต้องมีสิทธิ์ใดจึงจะใช้ SSE ได้ในคู่มือ Amazon SQS Developer

ถาม: มีค่าบริการสำหรับการใช้ SSE กับ Amazon SQS หรือไม่

ไม่มีค่าบริการเพิ่มเติมของ Amazon SQS แต่มีค่าบริการเพิ่มเติมสำหรับการเรียกใช้จาก Amazon SQS ไปยัง AWS KMS โปรดดูข้อมูลเพิ่มเติมที่ราคา AWS Key Management Service

ค่าบริการสำหรับการใช้ AWS KMS ขึ้นอยู่กับการกำหนดค่าระยะเวลาการนำคีย์ข้อมูลมาใช้ใหม่สำหรับคิวของคุณ โปรดดูข้อมูลเพิ่มเติมที่ฉันจะประเมินค่าใช้จ่ายการใช้งาน AWS KMS ของฉันได้อย่างไรในคู่มือ Amazon SQS Developer

ถาม: SSE สำหรับ Amazon SQS เข้ารหัสและถูกเข้ารหัสอย่างไร

SSE เข้ารหัสตัวข้อความในคิว Amazon SQS

SSE ไม่เข้ารหัสองค์ประกอบต่อไปนี้:

  • เมตาดาต้าคิว (ชื่อคิวและคุณลักษณะ)
  • เมตาดาต้าข้อความ (รหัสข้อความ การประทับเวลา และคุณลักษณะ)
  • ตัววัดต่อคิว

Amazon SQS สร้างคีย์ข้อมูลตามคีย์หลักของลูกค้า (CMK) ที่มีการจัดการของ AWS สำหรับ Amazon SQS หรือ CMK แบบกำหนดเองเพื่อให้การเข้ารหัสซองและการถอดรหัสของข้อความสำหรับระยะเวลาที่กำหนด (ตั้งแต่ 1 นาทีจนถึง 24 ชั่วโมง)

โปรดดูข้อมูลเพิ่มเติมที่ SSE สำหรับ Amazon SQS เข้ารหัสอย่างไรในคู่มือ Amazon SQS Developer

ถาม: SSE สำหรับ Amazon SQS ใช้อัลกอริธึมใดเข้ารหัสข้อความ

SSE ใช้ AES-GCM 256 algorithm

ถาม: SSE จำกัดการทำรายการต่อวินาที (TPS) หรือจำนวนคิวที่สามารถสร้างด้วย Amazon SQS หรือไม่

SSE ไม่จำกัดปริมาณการประมวลผล (TPS) ของ Amazon SQS จำนวนของคิว SSE ที่คุณสร้างจะถูกจำกัดด้วยรายการต่อไปนี้:

  • ระยะเวลาการนำคีย์ข้อมูลมาใช้ใหม่ (1 นาทีจนถึง 24 ชั่วโมง)
  • ขีดจำกัด AWS KMS ต่อบัญชี (100 TPS ตามค่าเริ่มต้น)
  • จำนวนของบัญชีหรือผู้ใช้ IAM ที่เข้าถึงคิว
  • งานที่ยังทำไม่เสร็จมีมากมาย (ยิ่งมีงานที่ยังทำไม่เสร็จมาก ก็ยิ่งต้องเรียกใช้ AWS KMS มาก)

ตัวอย่างเช่น ลองสมมติขีดจำกัดต่อไปนี้:

  • คุณตั้งค่าระยะเวลาการนำคีย์ข้อมูลมาใช้ใหม่ให้อยู่ที่ 5 นาที (300 วินาที)
  • บัญชี KMS ของคุณมีขีดจำกัด AWS KMS TPS ตามค่าเริ่มต้นอยู่ที่ 100 TPS
  • คุณใช้คิว Amazon SQS ที่ไม่มีงานที่ยังทำไม่เสร็จและมีผู้ใช้ 1 IAM
  • การดำเนินการ SendMessage หรือ ReceiveMessage ไปยังคิวทั้งหมด

ในกรณีนี้คุณสามารถคำนวณจำนวนคิวสูงสุดทางทฤษฎีของ Amazon SQS กับ SSE ดังนี้:

300 วินาที × 100 TPS/ผู้ใช้ 1 IAM = 30,000 คิว

ถาม: ฉันจะประเมินค่าใช้จ่ายการใช้งาน AWS KMS ของฉันได้อย่างไร

หากต้องการคาดการณ์ค่าใช้จ่ายและเข้าใจใบแจ้งค่าบริการ AWS ให้ดียิ่งขึ้น คุณอาจต้องทราบว่า Amazon SQS ใช้ CMK ของคุณบ่อยเพียงใด

หมายเหตุ: แม้ว่าสูตรต่อไปนี้จะให้แนวคิดเกี่ยวกับค่าใช้จ่ายที่คาดไว้ได้ดีมาก ค่าใช้จ่ายจริงก็อาจสูงกว่าได้เนื่องจากลักษณะการทำงานแบบกระจายของ Amazon SQS

หากต้องการคำนวณจำนวนคำขอ API ต่อคิว (R) ให้ใช้สูตรต่อไปนี้:

R = B / D * (2 * P + C)

B คือช่วงเวลาที่เรียกเก็บเงิน (เป็นวินาที)

D คือระยะเวลาการนำคีย์ข้อมูลมาใช้ใหม่ (เป็นวินาที)

P คือจำนวนการผลิตหลักที่ส่งไปยังคิว Amazon SQS

C คือจำนวนการใช้หลักที่ได้รับจากคิว Amazon SQS

สิ่งสำคัญ: โดยทั่วไปการผลิตหลักจะก่อให้เกิดค่าใช้จ่ายเป็นสองเท่าของการใช้หลัก โปรดดูข้อมูลเพิ่มเติมที่ระยะเวลาการนำคีย์ข้อมูลมาใช้ใหม่ทำงานอย่างไรในคู่มือ Amazon SQS Developer

หากผู้ผลิตและผู้ใช้บริการมีผู้ใช้ IAM ที่แตกต่างกัน ค่าใช้จ่ายจะเพิ่มขึ้น

โปรดดูข้อมูลเพิ่มเติมที่ฉันจะประเมินค่าใช้จ่ายการใช้งาน AWS KMS ของฉันได้อย่างไรในคู่มือ Amazon SQS Developer

การปฏิบัติตามข้อกำหนด

ถาม: Amazon SQS PCI DSS ได้รับการรับรองหรือไม่

ใช่ Amazon SQS ได้รับการรับรอง PCI DSS Level 1 โปรดดูข้อมูลเพิ่มเติมที่การปฏิบัติตามกฎข้อบังคับ PCI

ถาม: Amazon SQS เข้าเกณฑ์ HIPAA หรือไม่

ใช่ AWS ได้ขยายโปรแกรมการปฏิบัติตามกฎข้อบังคับ HIPAA ให้รวม Amazon SQS เป็นบริการที่เข้าเกณฑ์ HIPAA หากคุณทำสัญญาข้อตกลงทางธุรกิจ (BAA) กับ AWS คุณสามารถใช้ Amazon SQS เพื่อสร้างแอปพลิเคชันที่สอดคล้องกับมาตรฐาน HIPAA จัดเก็บข้อความระหว่างจัดส่ง และส่งข้อความ ซึ่งรวมถึงข้อความที่มีข้อมูลสุขภาพที่ได้รับการคุ้มครอง (PHI)

หากคุณทำสัญญาข้อตกลงทางธุรกิจ BAA กับ AWS แล้ว คุณสามารถเริ่มใช้ Amazon SQS ได้ทันที หากคุณไม่มี BAA หรือมีคำถามเกี่ยวกับการใช้ AWS สำหรับแอปพลิเคชันที่สอดคล้องกับมาตรฐาน HIPAA โปรดติดต่อเราเพื่อสอบถามข้อมูลเพิ่มเติม

หมายเหตุ: หากคุณไม่ต้องการถ่ายโอน PHI ผ่าน Amazon SQS (หรือหากคุณมีข้อความขนาดใหญ่กว่า 256 KB) คุณสามารถเลือกส่งเพย์โหลดข้อความ Amazon SQS ผ่าน Amazon S3 โดยใช้ Amazon SQS Extended Client Library for Java (Amazon S3 คือบริการที่เข้าเกณฑ์ HIPAA ซึ่งไม่รวมการใช้งาน Amazon S3 Transfer Acceleration) โปรดดูข้อมูลเพิ่มเติมที่การใช้ Amazon SQS Extended Client Library for Java ในคู่มือ Amazon SQS Developer

ขอบเขตและข้อจำกัด

ถาม: สามารถเก็บข้อความไว้ในคิวข้อความ Amazon SQS ได้นานเพียงใด

การรักษาข้อความที่ยาวนานขึ้นให้ความยืดหยุ่นแก่ช่วงเวลาระหว่างการผลิตและการใช้ข้อความที่นานกว่าเดิมได้มากยิ่งขึ้น

คุณสามารถกำหนดค่าระยะเวลาการรักษาข้อความของ Amazon SQS ให้มีค่าตั้งแต่ 1 นาทีจนถึง 14 วัน ทั้งนี้มีค่าเริ่มต้นอยู่ที่ 4 วัน เมื่อถึงขีดจำกัดของการรักษาข้อความ ระบบจะลบข้อความโดยอัตโนมัติ

ถาม: สามารถกำหนดค่า Amazon SQS ให้รองรับการรักษาข้อความที่ยาวนานขึ้นได้อย่างไร

หากต้องการกำหนดค่าช่วงเวลาการรักษาข้อความ ให้ตั้งค่าคุณลักษณะ MessageRetentionPeriod โดยใช้ Console หรือใช้วิธีการ Distributiveness ใช้คุณลักษณะนี้เพื่อระบุจำนวนวินาทีที่จะรักษาข้อความไว้ใน Amazon SQS

คุณสามารถใช้คุณลักษณะ MessageRetentionPeriod เพื่อตั้งค่าช่วงเวลาการรักษาข้อความได้ตั้งแต่ 60 วินาที (1 นาที) จนถึง 1,209,600 วินาที (14 วัน) โปรดดูข้อมูลเพิ่มเติมเรื่องการทำงานกับคุณลักษณะข้อความนี้ที่ข้อมูลอ้างอิง Amazon SQS API

ถาม: สามารถกำหนดค่าขนาดข้อความสูงสุดสำหรับ Amazon SQS ได้อย่างไร

หากต้องการกำหนดค่าขนาดข้อความสูงสุด ให้ใช้ Console หรือวิธีการ SetQueueAttributes เพื่อตั้งค่าคุณลักษณะ MaximumMessageSize คุณลักษณะนี้ระบุขีดจำกัดของไบต์ที่ข้อความ Amazon SQS มีได้ ตั้งค่าขีดจำกัดนี้ให้มีค่าระหว่าง 1,024 ไบต์ (1 KB) และ 262,144 ไบต์ (256 KB) โปรดดูข้อมูลเพิ่มเติมที่การใช้คุณลักษณะข้อความ Amazon SQS ในคู่มือ Amazon SQS Developer

หากต้องการส่งข้อความขนาดใหญ่กว่า 256 KB ให้ใช้ Amazon SQS Extended Client Library for Java ไลบรารีนี้ให้คุณส่งข้อความ Amazon SQS ที่มีข้อมูลอ้างอิงไปยังเพย์โหลดข้อความใน Amazon S3 ซึ่งสามารถมีขนาดใหญ่ได้ 2 GB

ถาม: สามารถใส่ข้อมูลประเภทใดลงในข้อความได้บ้าง

ข้อความ Amazon SQS มีข้อมูลที่เป็นข้อความซึ่งรวมถึง XML, JSON และข้อความที่ไม่จัดรูปแบบได้สูงสุด 256 KB ระบบยอมรับตัวอักขระยูนิโค้ดต่อไปนี้:

#x9 | #xA | #xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] | [#x10000 to #x10FFFF]

โปรดดูข้อมูลเพิ่มเติมที่ข้อกำหนด XML 1.0

ถาม: คิวข้อความ Amazon SQS สามารถใหญ่ได้เพียงใด

คิวข้อความ Amazon SQS เดียวสามารถจุข้อความได้ไม่จำกัดจำนวน แต่มีขีดจำกัดของจำนวนข้อความที่อยู่ระหว่างถ่ายโอนคือ 120,000 ข้อความสำหรับคิวมาตรฐานและ 20,000 ข้อความสำหรับคิว FIFO ข้อความจะอยู่ระหว่างถ่ายโอนเมื่อองค์ประกอบที่ใช้ได้รับข้อความดังกล่าวจากคิวแล้วแต่ยังไม่ได้มีการลบข้อความออกจากคิวนั้น

ถาม: สามารถสร้างคิวข้อความได้กี่คิว

คุณจะสร้างคิวข้อความกี่คิวก็ได้

ถาม: ชื่อของคิวข้อความ Amazon SQS มีขนาดจำกัดหรือไม่

ชื่อคิวมีขีดจำกัดอยู่ที่ 80 ตัวอักขระ

ถาม: มีข้อจำกัดเกี่ยวกับชื่อของคิวข้อความ Amazon SQS หรือไม่

คุณสามารถใช้อักขระอักษรเลข, ยัติภังค์ (-) และสัญประกาศ (_) ได้

ถาม: สามารถนำชื่อคิวข้อความมาใช้ใหม่ได้หรือไม่

ชื่อของคิวข้อความต้องไม่ซ้ำกันภายในภูมิภาคและบัญชี AWS คุณสามารถนำชื่อของคิวข้อความมาใช้ใหม่ได้หลังจากที่ลบคิวข้อความนั้นแล้ว

การแชร์คิว

ถาม: สามารถแชร์คิวข้อความได้อย่างไร

คุณสามารถโยงคำสั่งนโยบายการเข้าถึง (และระบุสิทธิ์ที่ได้รับ) กับคิวข้อความที่จะแชร์ได้ Amazon SQS มี API สำหรับการสร้างและการจัดการคำสั่งนโยบายการเข้าถึง:

  • AddPermission
  • RemovePermission
  • SetQueueAttributes
  • GetQueueAttributes

โปรดดูข้อมูลเพิ่มเติมที่ข้อมูลอ้างอิง Amazon SQS API

ถาม: ใครจ่ายเงินสำหรับการเข้าถึงคิวที่แชร์

เจ้าของคิวข้อความจ่ายเงินสำหรับการเข้าถึงคิวข้อความที่แชร์

ถาม: สามารถระบุผู้ใช้ AWS คนที่ฉันต้องการแชร์คิวข้อความด้วยได้อย่างไร

Amazon SQS API ใช้หมายเลขบัญชี AWS เพื่อระบุผู้ใช้ AWS

ถาม: ต้องให้สิ่งใดแก่ผู้ใช้ AWS คนที่ฉันต้องการแชร์คิวข้อความด้วย

หากต้องการแชร์คิวข้อความกับผู้ใช้ AWS ให้มอบ URL เต็มจากคิวข้อความที่คุณต้องการแชร์ การดำเนินการ CreateQueue และ ListQueues จะส่งกลับ URL นี้ในการตอบกลับ

ถาม: Amazon SQS รองรับการเข้าถึงที่ไม่ระบุชื่อหรือไม่

ใช่ คุณสามารถกำหนดค่านโยบายการเข้าถึงซึ่งให้ผู้ใช้ที่ไม่ระบุชื่อสามารถเข้าถึงคิวข้อความได้

ถาม: ควรใช้ API สิทธิ์เมื่อใด

API สิทธิ์มีอินเทอร์เฟซสำหรับการแชร์การเข้าถึงคิวข้อความให้แก่ Developer แต่ API นี้ไม่สามารถให้การเข้าถึงแบบมีเงื่อนไขหรือกรณีการใช้งานในขั้นสูงขึ้นได้

ถาม: ควรใช้การดำเนินการ SetQueueAttributes กับอ็อบเจ็กต์ JSON เมื่อใด

การดำเนินการ SetQueueAttributes รองรับภาษาสำหรับนโยบายการเข้าถึงอย่างเต็มรูปแบบ ตัวอย่างเช่น คุณสามารถใช้ภาษาสำหรับนโยบายเพื่อจำกัดการเข้าถึงคิวข้อความตามที่อยู่ IP และช่วงเวลาในแต่ละวัน โปรดดูข้อมูลเพิ่มเติมที่ตัวอย่างนโยบายของ Amazon SQS ในคู่มือ Amazon SQS Developer

การเข้าถึงบริการและภูมิภาค

ถาม: Amazon SQS สามารถใช้ได้ในภูมิภาคใดบ้าง

โปรดดูความพร้อมใช้งานของภูมิภาคที่ให้บริการที่ตารางภูมิภาคสำหรับโครงสร้างพื้นฐานส่วนกลางของ AWS

ถาม: สามารถแชร์ข้อความระหว่างคิวในภูมิภาคที่แตกต่างกันได้หรือไม่

ไม่ได้ คิวข้อความ Amazon SQS แต่ละคิวในแต่ละภูมิภาคไม่มีความข้องเกี่ยวกัน

ถาม: ราคาระหว่างภูมิภาคแตกต่างกันหรือไม่

ราคา Amazon SQS เหมือนกันในทุกภูมิภาค ยกเว้นจีน (ปักกิ่ง) โปรดดูข้อมูลเพิ่มเติมที่ราคา Amazon SQS

ถาม: โครงสร้างราคาระหว่างภูมิภาคต่างๆ เป็นอย่างไร

คุณสามารถถ่ายโอนข้อมูลระหว่าง Amazon SQS และ Amazon EC2 หรือ AWS Lambda ภายในภูมิภาคเดียวได้โดยไม่มีค่าใช้จ่าย

เมื่อคุณถ่ายโอนข้อมูลระหว่าง Amazon SQS และ Amazon EC2 หรือ AWS Lambda ในภูมิภาคที่ต่างกัน คุณจะเสียค่าบริการตามอัตราการถ่ายโอนข้อมูลปกติ โปรดดูข้อมูลเพิ่มเติมที่ราคา Amazon SQS

เรียนรู้เพิ่มเติมเกี่ยวกับราคา Amazon SQS

ไปที่หน้าราคา
พร้อมสร้างหรือยัง
เริ่มต้นใช้งาน Amazon SQS
มีคำถามเพิ่มเติมหรือไม่
ติดต่อเรา