2015-08-25 35 views
9

के लिए एडब्ल्यूएस एसक्यूएस अनुमतियां मैं एडब्ल्यूएस एसक्यूएस सेवा का उपयोग कर रहा हूं, और मुझे अपने एसक्यूएस कतार पर अनुमतियों को परिभाषित करने में कठिनाई हो रही है। मेरे सेटअप में मैं एडब्ल्यूएस लैम्ब्डा सेवा का उपयोग कर रहा हूं, जो एक वस्तु को एस 3 बाल्टी पर धकेलने पर ट्रिगर किया जाता है।AWS Lambda

हालांकि मेरे सवाल का संक्षिप्त रखने के लिए, यह है कि मैं क्या हासिल करना चाहते हैं:

  1. वस्तु एक S3 बाल्टी
  2. S3 बाल्टी से चलाता है एडब्ल्यूएस लैम्ब्डा को धक्का दे
  3. लैम्ब्डा कुछ गणना, और धक्का करता है मेरी SQS कतार में एक घटना (अनुमति परिभाषित करने की आवश्यकता)
  4. आवेदन SQS

से पढ़ता है आप कर सकते हैं के रूप में पिछले उपयोग-मामले से पढ़ें, मैं चाहता हूं कि मेरी एडब्ल्यूएस लैम्ब्डा विधि एकमात्र एप्लीकेशन हो, जो एसक्यूएस कतार में एक संदेश भेज सकती है। मैंने प्रिंसिपल और एक शर्त "SourceArn" सेट करने का प्रयास किया है। लेकिन उनमें से कोई भी काम ..

enter image description here

किसी को भी मदद कर सकते हैं?

उत्तर

6

मुझे नहीं लगता कि SourceArn फ़ील्ड Lambda द्वारा पॉप्युलेट हो जाता है। मुझे पता है कि SourceArn एसएनएस के लिए काम करता है, लेकिन लैम्ब्डा वास्तव में मनमाने ढंग से कोड चला रहा है, एसएनएस जैसी एडब्ल्यूएस सुविधा नहीं।

वैकल्पिक रूप से, आप आईएएम भूमिका के लिए एक पॉलिसी संलग्न कर सकते हैं जो आपके लैम्ब्डा फ़ंक्शन के रूप में चलता है।

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt1440529349000", 
      "Effect": "Allow", 
      "Action": [ 
       "sqs:SendMessage" 
      ], 
      "Resource": [ 
       "arn:aws:sqs:us-west-2:123456789012:test-queue" 
      ] 
     } 
    ] 
} 

इस विधि को सीधे कतार से जुड़ी नीति की आवश्यकता नहीं है।

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