发送消息至 HTTP/HTTPS 终端节点 - AWS Mobile SDK

AWS SDK for .NET 现在包括适用于 Xamarin 的 AWS Mobile SDK。本指南参考了适用于 Xamarin 的 Mobile SDK 的存档版本。

发送消息至 HTTP/HTTPS 终端节点

您可以使用 Amazon SNS 向一个或多个 HTTP 或 HTTPS 终端节点发送通知消息。过程如下所述:

  1. 配置您的终端节点以接收 Amazon SNS 消息。

  2. 为 HTTP/HTTPS 终端节点订阅一个主题。

  3. 确认订阅。

  4. 将通知发布到该主题。Amazon SNS 然后发送一个 HTTP POST 请求,向已订阅终端节点传递通知内容。

配置 HTTP/HTTPS 终端节点以接收 Amazon SNS 消息

按照将 Amazon SNS 消息发送至 HTTP/HTTPS 终端节点中第 1 步的说明操作,配置您的终端节点。

为您的 HTTP/HTTPS 终端节点订阅 Amazon SNS 主题

创建 SNS 客户端,传递您的凭证对象和身份池区域:

var snsClient = new AmazonSimpleNotificationServiceClient(credentials, region);

要通过主题向 HTTP 或 HTTPS 终端节点发送消息,必须为终端节点订阅 Amazon SNS 主题。您可以使用终端节点的 URL 指定终端节点:

var response = await snsClient.SubscribeAsync( "topicArn", "http", /* "http" or "https" */ "endpointUrl" /* endpoint url beginning with http or https */ );

确认订阅

完成为终端节点订阅后,Amazon SNS 会向该终端节点发送一条订阅确认消息。终端节点上的代码必须检索订阅确认消息中的 SubscribeURL值,并访问 SubscribeURL 自身指定的位置,或使其可供您使用,这样您就可以手动访问 SubscribeURL (例如,使用 Web 浏览器)。

在订阅得到确认前,Amazon SNS 不会向终端节点发送消息。当您访问 SubscribeURL时,该响应将包括 XML 文档,该文档包含指定订阅 ARN 的元素 SubscriptionArn

向 HTTP/HTTPS 终端节点发送消息

您可以通过发布到主题的方式,向主题的订阅发送消息。调用 PublishAsync 并向其传递主题 ARN 和您的消息。

var response = await snsClient.PublishAsync(topicArn, "This is your message");