0

끝점으로 람다 함수가있는 SNS 주제에 가입하려고합니다.끝점으로 람다가있는 SNS 주제 구독

AWS 콘솔을 통해 시도 할 때 완벽하게 작동합니다. 구독은 SNS-> Subscriptions에 추가되어 Lambda-> Functions-> [function_name] -> Triggers의 람다 함수에 트리거를 추가합니다.

boto3 또는 AWS cli를 통해 동일한 작업을 시도 할 때 새로운 구독하지만 Lambda-> Functions -> [function_name] -> Triggers에는 트리거가 추가되지 않습니다. 결과적으로이 SNS 주제에 대해 람다 함수가 트리거되지 않습니다.

import boto3 
client = boto3.client('sns') 
sns_topic_arn = '<sns_topic_arn>' 
lambda_fn_arn = '<lambda_fn_arn>' 

response = client.subscribe(TopicArn=sns_topic_arn,Protocol='lambda', 
Endpoint=lambda_fn_arn) 

나는 sns_topic_arn과 lambda_fn_arn이 올바른지 확인했습니다. 내가 빠진 것이 있습니까?

답변

0
  1. 확인 메시지의 토큰을 사용하여 람다 끝점이 ConfirmSubscription 작업을 호출합니까? 또한 이러한 확인 토큰은 일시적이며 3 일 동안 만 유효합니다. 당신은 그들을 상쾌하게하고 있습니까?

  2. 구독 API의 응답을 확인하고 응답이 유효하고 SubscriptionArn이 있는지 확인할 수 있습니까?

  3. 또한 람다를 트리거 할 수 있도록 boto3 클라이언트의 add_permission API를 통해 충분한 권한을 추가 했습니까?

참조 : API 문서 및 자세한 내용

내가 SNS 또는 람다에 대해 잘 모르는 것을 인정한다
+0

에 대한 http://boto3.readthedocs.io/en/latest/reference/services/sns.html#SNS.Client.subscribe. 난 그냥 문서를 따라 노력하고, 함께 뭔가를 끌어. 1. boto3에서 confirm_subscription을 사용하려고하는데 람다 함수로 보낸 임시 토큰을 어디서 받을지 알 수 없습니다. 2. 구독 API에서 응답을 확인했지만 유효합니다. 3. 충분한 권한을 어떻게 추가합니까? Boto3 워드 프로세서는이 API에 대해별로 말하지 않습니다. –

+0

권한 문제입니다. http://boto3.readthedocs.io/en/latest/reference/services/lambda.html#Lambda.Client.add_permission이 문제가 해결되었습니다. –

+0

좋습니다. 확인해 주셔서 감사합니다. – Karthikeyan