有什么方法可以使用 REST 或 SOAP API 而不是使用 SDK 来访问 Amazon SNS。 如果有任何方法,请建议我。这将对我有很大的帮助。
提前致谢。
最佳答案
是的,你可以。 Amazon SNS API 可访问并使用 HTTP 协议(protocol)工作。所有 SDK 都只是使这种通信更容易的实用工具。
正如您从 AWS SNS API docs here 中看到的那样,这是发送一个带有正确制定的 HTTP header 和正文的 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,因为它可以为您解决许多安全问题。
关于javascript - 使用 rest 或 soap api 访问 Amazon SNS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36820436/