Score:0

AWS HTTP Gateway: การกำหนดเส้นทางการผสานรวมแบบส่วนตัวโดยไม่มีตัวแปรเส้นทาง

ธง kr

ฉันตั้งค่าเกตเวย์ HTTP เป็นครั้งแรกและพบปัญหาเกี่ยวกับการรวมส่วนตัว ฉันต้องการให้การผสานรวมทั้งหมดเป็นแบบส่วนตัว แต่ใช้งานไม่ได้กับการกำหนดเส้นทาง

ฉันมีการผสานรวมแบบส่วนตัวกับ a $default เส้นทางและใช้งานได้ดี ตอนนี้ฉันต้องการติดตั้งการผสานรวมส่วนตัวอื่นภายใต้ เช่น /ไมโครเซอร์วิส/ และมีจุดสิ้นสุดพร็อกซีทั้งหมด

อย่างไรก็ตาม สิ่งนี้ดูเหมือนเป็นไปไม่ได้เนื่องจากการผสานรวมส่วนตัวขอ ARN แบ็กเอนด์จากคุณแทนที่จะเป็น URI ดังนั้นจึงไม่มีวิธีใดที่จะใช้ตัวแปรเส้นทางเช่น {พร็อกซี+}. ซึ่งส่งผลให้มีเพียงรูทของ microservice ของฉันเท่านั้นที่สามารถเข้าถึงได้ผ่านเกตเวย์ ส่วนเส้นทางอื่นๆ ทั้งหมดเพียงไปที่ $default เส้นทาง.

เราจะตั้งค่าการผสานรวมส่วนตัวเช่นนี้ได้อย่างไร เป็นการดีที่ฉันต้องการสิ่งนี้:

- /microservice1/{proxy+}
- /microservice2/{proxy+}
- $ค่าเริ่มต้น

ตอนนี้ฉันเข้าใจแล้ว ฉันมีเพียงสองทางเลือก:

  • เปิดเผยบริการของฉันให้โลกเห็นและใช้การผสานรวมแบบสาธารณะกับตัวแปรเส้นทางที่ละโมบ {พร็อกซี+} - ไม่เหมาะ
  • เก็บการผสานรวมแบบส่วนตัวไว้ แต่กำหนดตำแหน่งข้อมูลไมโครเซอร์วิสแต่ละจุดเป็นเส้นทางของตัวเองบนเกตเวย์ ซึ่งน่ารำคาญอย่างยิ่งในการบำรุงรักษา

มีวิธีที่ดีในการทำเช่นนี้หรือไม่?

Score:0
ธง kr

เพื่อตอบคำถามของฉันเอง - เป็นไปได้ด้วย ขอการแมปพารามิเตอร์ ที่แปลงคำขอก่อนที่จะถึงแบ็กเอนด์:

  1. สร้างเส้นทางด้วยตัวแปรเส้นทางโลภ: /microservice/${proxy}
  2. ในการรวมส่วนตัวของคุณ ให้สร้างการแมปพาธ: เขียนทับ:path = /$request.path.proxy

โพสต์คำตอบ

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