2017-10-26 11 views
0

私のラムダ機能は、完了したらSNSにメッセージを送信することになっており、以下のコードを使用しています。 SNSのトピックから私のTopicARNは間違いなく正しいものである、まだ私はまだ、次のエラーを取得しています:python3.6 Lambda関数 - TopicARNからのSNSメッセージのトリガーに問題がありますか?

"errorMessage": "Parameter validation failed:\nUnknown parameter in input: \"TopicARN\", must be one of: TopicArn, TargetArn, PhoneNumber, Message, Subject, MessageStructure, MessageAttributes", 
    "errorType": "ParamValidationError", 

誰かが私のコードを見直し、私はここの書式と間違って何かをやったなら、私に知らせていただけますか?

IAM権限:

{ 
      "Effect": "Allow", 
      "Action": "sns:publish", 
      "Resource": "*" 
     } 

コードスニペット:

def notify_when_bad(error_code, error_text): 
     sns = boto3.client(service_name="sns") 
     topicArn = 'arn:aws:sns:us-east-1:xxxxxxxxxxxx:TopicName' 

     if response.status_code == 200: 
      sns.publish(
       TopicARN = (topicArn), 
       Message = (str("Instance ") + str(centreon_instance_name) + str("has been successfully removed from Centreon"))) 
     else: 
      sns.publish(
       TopicArn = (topicArn), 
       Message = (str("Function failed with msg:") + str(error_text) + '\n' + str("Status Code:") + str(error_code))) 
     return 
    print(notify_when_bad(error_code, error_text)) 

答えて

2

彼らはcompalin:私はまた私が考えることができるように機能するために設定し、適切なIAM役割を持っていることを伝えることができ

Unknown parameter in input: \"TopicARN\", must be one of: TopicArn,

あなたがいる間

 sns.publish(
      TopicARN = (topicArn), 

したがって、パラメータ名はTopicARNで、TopicArnが必要です。

はい、パラメータでは大文字と小文字が区別されます。

+0

Wow。ありがとうございました。私はばかです。D – RaptorPete

+0

あなたは大歓迎です。あなた自身を悪く考えないでください。あなたはあなたのコードではありません。 – 9000

関連する問題