10

मैं अपने पर्यावरण के लिए एडब्ल्यूएस क्लाउडॉर्मेशन टेम्पलेट बना रहा हूं और मुझे एपीआई गेटवे विधि के लिए सीओआरएस सक्षम करने का कोई तरीका नहीं मिल रहा है।क्लाउडॉर्मेशन टेम्पलेट में एपीआई गेटवे के लिए सीओआरएस सक्षम करें

मैं इसे एडब्ल्यूएस कंसोल (here is the official doc) का उपयोग करके कॉन्फ़िगर कर सकता हूं, लेकिन मैं इसे क्लाउडॉर्मेशन टेम्पलेट में कैसे कर सकता हूं?

उत्तर

18

कुछ परीक्षण और त्रुटि के बाद, मैंने पाया कि निम्न CloudFormation टेम्पलेट टुकड़ा एक बराबर विकल्प विधि का उत्पादन करेगा जब CORS सांत्वना जादूगर की तुलना में:

OptionsMethod: 
    Type: AWS::ApiGateway::Method 
    Properties: 
    AuthorizationType: NONE 
    RestApiId: 
     Ref: MyApi 
    ResourceId: 
     Ref: MyResourceOnWhichToEnableCORS 
    HttpMethod: OPTIONS 
    Integration: 
     IntegrationResponses: 
     - StatusCode: 200 
     ResponseParameters: 
      method.response.header.Access-Control-Allow-Headers: "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'" 
      method.response.header.Access-Control-Allow-Methods: "'POST,OPTIONS'" 
      method.response.header.Access-Control-Allow-Origin: "'*'" 
     ResponseTemplates: 
      application/json: '' 
     PassthroughBehavior: WHEN_NO_MATCH 
     RequestTemplates: 
     application/json: '{"statusCode": 200}' 
     Type: MOCK 
    MethodResponses: 
    - StatusCode: 200 
     ResponseModels: 
     application/json: 'Empty' 
     ResponseParameters: 
      method.response.header.Access-Control-Allow-Headers: false 
      method.response.header.Access-Control-Allow-Methods: false 
      method.response.header.Access-Control-Allow-Origin: false 

* नोट 1: इस का एक उदाहरण है एक पोस्ट के लिए डिफ़ॉल्ट लेना। जाहिर है, आपको आवश्यक मूल्यों को शामिल करने के लिए आपको Access-Control-Allow-Methods अपडेट करना होगा।

* नोट 2: हाल ही में वाईएएमएल समर्थन शुरू करने के लिए एडब्ल्यूएस क्लाउडफॉर्मेशन टीम के लिए कुडोस। यदि आपको वाईएएमएल/जेएसओएन से/में कनवर्ट करने की आवश्यकता है, तो मुझे यह साइट आसान मिल गई है: http://www.json2yaml.com/

+1

अंत में बुलियन नहीं होना चाहिए, सभी 'झूठी' के बजाय 'सत्य' होना चाहिए? –

1

स्वचालित सीओआरएस कॉन्फ़िगरेशन के लिए एपीआई गेटवे समर्थन वर्तमान में केवल एपीआई गेटवे कंसोल के माध्यम से काम करता है। Swagger से एपीआई आयात करते समय या क्लाउडफॉर्मेशन के माध्यम से एपीआई को परिभाषित करते समय भी आप स्वयं को सीओआरएस सेट अप कर सकते हैं, लेकिन आपको विकल्प विधि सेट करने के साथ-साथ सीओआरएस विशिष्ट हेडर को अन्य तरीकों से जोड़ने के लिए सभी पैरामीटर निर्दिष्ट करना होगा।

This page दिखाता है कि स्वैगर आयात करते समय सीओआरएस कैसे सेट अप करें। क्लाउडफॉर्मेशन के माध्यम से सीओआरएस सेट करना अवधारणात्मक रूप से समान है, लेकिन swagger वाक्यविन्यास के बजाय क्लाउडफॉर्मेशन वाक्यविन्यास का उपयोग करता है।

संबंधित मुद्दे