无法通过Django HTTP端点订阅主题

时间:2019-01-05 18:10:10

标签: django python-3.x amazon-sns subscription

我尝试了很多。我关注了帖子https://docs.aws.amazon.com/sns/latest/dg/sns-http-https-endpoint-as-subscriber.html 还将我的ec2安全组的入站更改更改为http端口80的任何位置。

我在这里How can i confirm the subscription request HTTP from amazon SNS也从类似问题中寻求帮助 也在这里 Cannot get HTTP subscription confirmation request

在views.py

def unsub(request):
    content = ""
    if request.POST:
        json1 = request.body.decode('utf-8')
        print(json1)
        f = open('home/json.py','w')
        f.write(json1)
        f.close()

    f = open('home/json.py','r')
    content = f.read()
    f.close()
    return render(request,'home/json.html',{'content':content})

在urls.py

 urlpatterns = [
     path('unsub2',views.unsubscribe,name="unsubscribe"), 
 ]

这是我的json.html,

<html>
 <head>
 </head>
 <body>
  <p>{{content|safe}}</p>
   <form method="post">
     <input type="text" name="i1" id="i1"></input>
     <input type="text" name="i2" id="i2"></input>
     <button type="submit" >submit</button>
   </form>
  </body></html>

我已将sns主题订阅到了http端点http://my-ec2-domain.com/unsub2,但是我对该页面没有任何响应,也没有日志记录。请告诉我我做错了什么。 python 3.5 django 2.1。

1 个答案:

答案 0 :(得分:0)

我知道了。尽管更改了实例的安全组设置,但我忘记在允许的设置主机中添加SNS服务ip。