Я пытаюсь получить EndpointArn по идентификатору регистрации, используя aws .net sdk. Но я не мог найти хороший способ сделать это.
Моя первая попытка заключалась в запуске CreatePlatformEndpointRequest с тем же регистрационным идентификатором, который ранее был зарегистрирован в приложении SNS, отправленном клиентом (Android). Таким образом, aws API предоставляет EndpointArn для этого регистрационного идентификатора.
Amazon: действие CreatePlatformEndpoint является идемпотентным, поэтому, если инициатор запроса уже владеет конечной точкой с тот же токен и атрибуты устройства, ARN этой конечной точки возвращается без создания новой конечной точки.
Но если вы сохранили что-то в CustomUserData, прежде чем вам нужно будет отправить те же пользовательские данные, чтобы получить конечную точку для этого идентификатора регистрации, в противном случае вы получите исключение, как показано ниже.
Недопустимый параметр: токен. Причина: конечная точка {My Endpoint ARN} уже существует с таким же токеном, но с другими атрибутами.
Я думаю, что буду использовать CreatePlatformEndpoint() без пользовательских данных, и когда мне понадобится Endpoint Arn для RegistrationId, я запущу CreatePlatFormEndpoint только с этим идентификатором регистрации.
Есть ли другой способ получить EndpointArn по токену лучше, чем решение выше?
Спасибо.