2015-08-25 30 views
9

Tôi đang sử dụng dịch vụ SQS SQS và tôi đang gặp khó khăn trong việc xác định quyền trên hàng đợi SQS của mình. Trong thiết lập của tôi, tôi đang sử dụng dịch vụ AWS Lambda, được kích hoạt khi một đối tượng được đẩy vào một thùng S3.Quyền AWS SQS cho AWS Lambda

Tuy nhiên để giữ cho câu hỏi của tôi một thời gian ngắn, đây là những gì tôi muốn đạt được:

  1. Object được đẩy lên một xô S3
  2. S3 xô gây AWS Lambda
  3. Lambda hiện một số tính toán, và push một sự kiện vào hàng đợi SQS của tôi (Permission cần phải được xác định)
  4. ứng dụng đọc từ SQS

Như bạn có thể đọc từ trường hợp sử dụng trước đó, tôi muốn phương thức AWS Lambda của mình là ứng dụng duy nhất, có thể gửi một thông điệp tới hàng đợi SQS. Tôi đã cố gắng để thiết lập một hiệu trưởng và một điều kiện "sourceArn". Nhưng không ai trong số họ làm việc ..

enter image description here

Có ai giúp được không?

Trả lời

6

Tôi không nghĩ trường SourceArn được điền bởi Lambda. Tôi biết SourceArn làm việc cho SNS, nhưng Lambda thực sự đang chạy mã tùy ý, không phải là một tính năng AWS như SNS.

Thay vào đó, bạn có thể đính kèm chính sách vào vai trò IAM mà hàm Lambda của bạn chạy.

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

Phương pháp này không yêu cầu chính sách được đính kèm trực tiếp vào hàng đợi.

Các vấn đề liên quan