【问题标题】:Accessing Amazon SNS using rest or soap api使用 rest 或 soap api 访问 Amazon SNS
【发布时间】:2016-04-24 07:29:17
【问题描述】:

是否有任何方法可以使用 REST 或 SOAP API 来访问 Amazon SNS,而不是使用 SDK。 如果有什么办法,请给我建议。这对我有很大的帮助。

提前致谢。

【问题讨论】:

    标签: javascript android amazon-web-services push-notification amazon-sns


    【解决方案1】:

    是的,你可以。 Amazon SNS API 可使用 HTTP 协议进行访问和工作。所有的 SDK 都只是使这种通信更容易的实用工具。

    正如您从 AWS SNS API docs here 中看到的那样,发送带有正确格式的 HTTP 标头和正文的 POST 请求是一个问题。

    POST / HTTP/1.1
    x-amz-sns-message-type: Notification
    x-amz-sns-message-id: da41e39f-ea4d-435a-b922-c6aae3915ebe
    x-amz-sns-topic-arn: arn:aws:sns:us-west-2:123456789012:MyTopic
    x-amz-sns-subscription-arn: arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55
    Content-Length: 761
    Content-Type: text/plain; charset=UTF-8
    Host: ec2-50-17-44-49.compute-1.amazonaws.com
    Connection: Keep-Alive
    User-Agent: Amazon Simple Notification Service Agent
    
    {
      "Type" : "Notification",
      "MessageId" : "da41e39f-ea4d-435a-b922-c6aae3915ebe",
      "TopicArn" : "arn:aws:sns:us-west-2:123456789012:MyTopic",
      "Subject" : "test",
      "Message" : "test message",
      "Timestamp" : "2012-04-25T21:49:25.719Z",
      "SignatureVersion" : "1",
      "Signature" : "EXAMPLElDMXvB8r9R83tGoNn0ecwd5UjllzsvSvbItzfaMpN2nk5HVSw7XnOn/49IkxDKz8YrlH2qJXj2iZB0Zo2O71c4qQk1fMUDi3LGpij7RCW7AW9vYYsSqIKRnFS94ilu7NFhUzLiieYr4BKHpdTmdD6c0esKEYBpabxDSc=",
      "SigningCertURL" : "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem",
      "UnsubscribeURL" : "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55"
    } 
    

    您可以在他们的文档(上面提供的链接)中了解如何签署和构建正确的请求。因此,您不必使用 SDK,也不必提出自己的请求。但是,我建议使用 SDK,因为它为您解决了许多安全问题。

    【讨论】:

    • 感谢您的回复。现在我正在尝试在 NativeScript 中构建一个应用程序。但是 SDK 目前不适用于 nativescript。所以我想使用 api 调用来做。
    【解决方案2】:

    是的,例如见https://docs.aws.amazon.com/sns/latest/api/API_Publish.html

    https://sns.us-east-2.amazonaws.com/?Action=Publish
    &TopicArn=arn%3Aaws%3Asns%3Aus-east-2%3A698519295917%3AMy-Topic
    &Subject=My%20first%20message
    &Message=Hello%20world%21 
    &Version=2010-03-31
    &AUTHPARAMS
    

    其中AUTHPARAMSAWS Signature Version 4 signing process 的结果

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 2011-02-12
      • 2010-11-14
      • 2013-12-29
      • 1970-01-01
      相关资源
      最近更新 更多