Создать подписку
- В консоли управления
выберите каталог, в котором находится топик. - В списке сервисов выберите Cloud Notification Service.
- Слева выберите раздел Топики.
-
Выберите топик.
-
Слева выберите Подписки.
-
Нажмите кнопку Создать подписку.
-
Выберите тип канала уведомлений:
-
Мобильные push-уведомления.
Введите ARN эндпоинта в формате:
arn:aws:sns::<cloud_id>:endpoint/<platform>/<channel_name>/<endpoint_unique_id>. Скопировать ARN эндпоинта можно на странице его настроек. -
Push-уведомления в браузере.
Введите ARN эндпоинта в формате:
arn:aws:sns::<cloud_id>:endpoint/<platform>/<channel_name>/<endpoint_unique_id>. -
SMS.
Введите номер телефона в формате E.164
, например+79991112233. Телефон не требуется предварительно добавлять в канале уведомлений SMS, при этом сам канал должен быть создан.
-
-
Нажмите Создать подписку.
Таким же образом подпишите на топик другие эндпоинты.
-
Если у вас еще нет AWS CLI, установите и сконфигурируйте его.
-
Выполните команду:
aws sns subscribe \ --topic-arn <ARN_топика> \ --protocol <тип_канала> \ --notification-endpoint <ARN_эндпоинта_или_номер_телефона>Где:
topic-arn— ARN топика.protocol— тип канала отправки уведомлений, например,sms,application.notification-endpoint— ARN эндпоинта, который подписывается на топик, в форматеarn:aws:sns::<cloud_id>:endpoint/<platform>/<channel_name>/<endpoint_unique_id>. Для SMS — номер телефона в формате E.164 , например+79991112233.
Подробнее о команде
aws sns subscribeсм. в документации AWS .
-
Если у вас еще нет AWS SDK для Python (boto3), установите и настройте его.
-
Чтобы подписать эндпоинт на уведомления в топике, используйте следующий код:
try: response = client.subscribe( TopicArn = "<ARN_топика>", Protocol = "<тип_канала>", Endpoint = "<ARN_эндпоинта_или_номер_телефона>" ) print(f"Topic ARN: {response['TopicArn']}") except botocore.exceptions.ClientError as error: print(f"Error: {error}")Где:
TopicArn— ARN топика.Protocol— тип канала для отправки уведомлений, например,sms,application.Endpoint— ARN эндпоинта, который подписывается на топик, в форматеarn:aws:sns::<cloud_id>:endpoint/<platform>/<channel_name>/<endpoint_unique_id>. Для SMS — номер телефона в формате E.164 , например+79991112233.