2017-08-17 11 views
0

Ruby Amazon SDKを使用してAmazon SNSを使用してSMSテキストメッセージを送信しています。私が理解している限り、メソッドAws::SNS::Client#publishはメッセージの送信をキューに入れるだけです。Ruby SDKでSMSテキストメッセージが送信されたことを確認するAmazon SNS

messageIdが返されると、メッセージが保存され、Amazon SNSはトピックのサブスクライバにまもなく配信を試みます。

私はpublish方法は、単に送信をエンキューし、その場合、メッセージが正常に送信されたSDKを確認するどのような方法があるかどうかを知るためにいただきたいですか?

+0

タイトルに「SNS」と言っていたとしますか? – moveson

+0

必ずしもそうではありません。私は「SMS」(ショートメッセージサービス)という用語は、Amazon SNSのどの部分が問題を抱えているのかを明確にしていると思いますが、Amazon SNSも正しいとは心配しません。 –

+0

それは意味があります - 私は両方を含むように編集しました。 – moveson

答えて

1

トピックまたはサブスクリプションを照会できますが、公開メッセージを照会することはできません。私はAWSがそれらを保持しているかどうかは疑問ですが、もしそうであれば、私が知る限り、それらにアクセスするAPIはありません。

1つの回避策は、自分のサイトでhttpまたはhttpsエンドポイントを使用して、それぞれのトピックにサブスクライブすることです。あなたがトピックを作成するたびに、あなたはあなた自身のエンドポイントに対応したサブスクリプションを作成します。

def generate_sns_topic(topic_name) 
    sns_client = Aws::SNS::Client.new 
    response = sns_client.create_topic(name: topic_name) 
    if response.successful? 
    sns_client.subscribe(topic_arn: topic_response.topic_arn, 
          protocol: :https, 
          endpoint: <your_site_endpoint>) 
    else 
    <error_handling_here> 
    end 
end 

は今、あなたはそれがに来るようAWSメッセージを受け入れるようにPOST <your_site_endpoint>を作成する必要があり、あなたがそれを受け取ったら、あなたは知っていますよ。 SNSはそれを送った。おそらく、新しいpublished_messagesテーブルをデータベースに作成して、公開された内容を把握することになります。

+0

あなたの提案をお試しください!ありがとうございました! –

関連する問題