के तहत दो सेवाएं यदि मेरे पास दो सेवाएं हैं, 'उपयोगकर्ता' और 'उत्पाद', प्रत्येक के लिए परिभाषित एंडपॉइंट्स के साथ कई कार्यों (प्रत्येक पारंपरिक एपीआई के रूप में), क्या उनके लिए यह संभव है कोड बेस (स्पष्टता के लिए) में अलग से व्यवस्थित किया जाए, लेकिन एक बार तैनात एक ही एपीआई बेस यूआरएल साझा किया जाए?सर्वर रहित फ्रेमवर्क - एक एपीआईजीडब्ल्यू एंडपॉइंट
/src
-- /users
---- event.json
---- handler.js
---- serverless.yml
-- /products
---- event.json
---- handler.js
---- serverless.yml
और मेरे src/users/serverless.yml
परिभाषित निम्नलिखित है:
functions:
create:
handler: handler.create
events:
- http: POST user
read:
handler: handler.read
events:
- http: GET user
और मेरे src/products/serverless.yml
मूल रूप से 'उत्पाद' के लिए एक ही बात है, बस स्वैप 'उपयोगकर्ता है उदाहरण के लिए, मैं निम्नलिखित संरचना है पर विचार ।
वर्तमान में, उन सेवाओं में से दोनों को अलग एपीआई अंतिमबिंदुओं, एक यूआरएल https://fghijklmnop.execute-api...
के साथ एक और एक यूआरएल https://abcdevwxyz.execute-api....
मेरा प्रश्न है के साथ एक और, तैनात किया जाएगा यह इन सेवाओं तैनात किया है करने के लिए संभव हो जाएगा, लेकिन रहने के एक एकल यूआरएल के साथ एक एकल यूआरएल के तहत (तो दोनों यूआरएल https://abcdevwxyz.execute-api....
के तहत परोसा जाएगा)?
मुझे लगता है कि 'नहीं, क्योंकि क्लाउड फॉर्मेशन ...' का जवाब है, लेकिन मैंने सोचा कि मैं यहां चर्चा के लिए और सर्वर रहित अनुप्रयोगों के निर्माण की अपनी समझ में सहायता करने के लिए यहां प्रश्न पोस्ट करूंगा।
मुझे कस्टम डोमेन का उपयोग करने के बारे में पता है, the answer here के अनुसार, लेकिन एक त्वरित विकास चक्र के लिए यह वास्तव में एक आदर्श समाधान नहीं है।
मेरा एकमात्र समाधान अब तक 'एपीआई' नामक एक सेवा बनाना होगा जिसमें मेरे एपीआई की सभी अंतरालों को शामिल किया जाएगा जो पहले से कॉन्फ़िगर किए गए एंडपॉइंट्स के बजाय सीधे मेरी अन्य सेवाओं के लैम्ब्डा फ़ंक्शन का आह्वान करेंगे। यह वास्तव में एक अमूर्त परत होगा, लेकिन मेरे आवेदन में संभावित अनावश्यक परतें जोड़ें। फिर, यह देखने के लिए उत्सुक है कि समुदाय इस पर क्या महसूस करता है।
यह सच है, लेकिन फिर इन सेवाओं को कसकर जोड़ दिया गया है और हमेशा एक साथ तैनात और प्रबंधित किया जाना चाहिए। यदि आप सेवाओं को अलग-अलग अलग रखना चाहते हैं (लेकिन एपीआई परत के माध्यम से जुड़े हुए हैं) तो यह काम नहीं करता है। उदाहरण के लिए, सेवा का नाम वही होना चाहिए। –