2016-10-30 6 views
0

системы: Windows, C#, Visual Studio 2015, AWSSDK.SimpleNotificationServiceAWS-SNS; Как получить действительный SubscriptionARN после подтверждения пользователя

Использование AWS-SNS, после создания темы я добавить подписку на эту тему следующим образом;

var response = SnsClient.Subscribe(topicArn, "email", email); 
var subscriptionArn = response.SubscriptionArn; 

Первоначально моя подписка ARN устанавливается в «ожидании подтверждения» - по-видимому, пока пользователь не подтвердит свою подписку по электронной почте. Я бы подумал, что вызов подписки снова с тем же адресом электронной почты после подтверждения вернет vilid ARN, но похоже, что это не так.

Отсутствие подписки ARN запрещает мне позднее отменять подписку на электронную почту от группы подписки. Я уверен, что есть способ преодолеть это, не требуя, чтобы пользователь копировал/пропустил токен электронной почты в мое приложение, но я не могу найти его.

Заранее спасибо.

SteveJ

(PS Я хотел бы отметить, что ответ должен быть C# конкретно -.. Только общий подход к проблеме с помощью их SDK или веб-API отлично)

ответ

1

Амазонка SNS Subscribe documentation говорит :

следующий элемент возвращается службой:

SubscriptionArn

ARN подписки, если услуга была способна немедленно создать подписку (без необходимости подтверждения владельца конечной точки).

Таким образом, представляется, что подписка на Email получает только в ARN , когда подписка была подтверждена.

Вам нужно будет определить подписку (один раз подписался) по телефону ListSubscriptionsByTopic, ищет Endpoint, который соответствует желанию адрес электронной почты. Затем вы можете извлечь ARN и использовать его при вызове Unsubscribe.

+0

Ох .. Не думал об этом - спасибо, позвольте мне отвести его и вернуться к вам. – SteveJ

+0

Спасибо, это действительно решение. – SteveJ

Смежные вопросы