2016-10-03 5 views
0

AWS의 람다 함수에 트리거로 프로그래밍 방식으로 SNS 토픽을 추가 한 사람이 있습니까? Powershell AWS SDK를 사용하여 다음을 시도하고 있으며 모든 것을 수행 할 수 있지만 사용하도록 설정합니다.AWS의 람다 함수에 SNS 트리거를 프로그래밍 방식으로 추가 (및 사용)

첫째, (에 MyTopic) 내 항목 중 하나를 찾습니다

$snsTopicArn = (Get-SNSTopic | {$_.TopicArn -match "myTopic"}).TopicArn 

는 람다 엔드 포인트에 가입 준비 ($의 lambdaARN)

Connect-SNSNotification -TopicArn $snsTopicArn -Protocol lambda -Endpoint $lambdaArn ` 
         -Confirm:$FALSE | Out-Null 
이 기능이 가입 ARN을 반환하기 때문에

하지 토큰을 보내면 설명서에 구독 정보가 자동으로 확인되어 "ConfirmSubscription"(Confirm-SNSSubscription) 호출이 필요 없다고 가정 해 보겠습니다.

다음은 람다를 실행하기 위해이 항목에 대한 람다의 리소스 정책에 대한 권한을 추가합니다.

Add-LMPermission -FunctionName $lambdaName -Action "lambda:Invoke" ` 
       -Principal sns.amazonaws.com -SourceArn $snsTopicArn ` 
       -StatementId (Get-Random) | Out-Null 

이 시점에서 항목은 해당 항목의 트리거 목록에 나타나지만 활성화되어 있지 않습니다.

아이디어가 있으십니까?

답변

0

관심있는 모든 사람들에게 대답을 찾았습니다. 유효한 람다 액션을 타이핑하는 것이 중요합니다. :)

는 AWS 지원 채팅 약 한 시간 후 나는 내가 "추가 허가"에 지정된 유효한 람다 조치를하지 않은 것을 발견 전화 :

lambda:Invoke 

그것은 사실이 있어야한다 :

lambda:InvokeFunction 

또는이 와일드 카드 표현 :

lambda:Invoke* 

는 "호출"는 함수 이름이 아닌 행위 ion (사용 권한) 이름. 그들의 관계는 여기에 언급되어 https://policysim.aws.amazon.com/

: http://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html

의심은, AWS는 서비스에 대한 AWS의 모든 작업을 나열하는 정책 시뮬레이터를 가지고

관련 문제