- Я публикую сообщение String как полезную нагрузку сообщения, используя уведомление SNS от Raspberry Pi, используя программу Python, и я хочу передать эту полезную нагрузку на функцию Lambda.
- Я настроил требование в консоли SNS на AWS, то есть создал тему и добавил ее лямбда-функцию своим подписчикам.
- Теперь я хочу получить эту полезную нагрузку сообщения в функции лямбда. Но я не могу найти какой-либо метод, который мог бы мне помочь. Например, что-то вроде getMessage или что-то похожее на это.
- Итак, мои вопросы: поскольку я настроил публикацию и подписку на AWS, могу ли я предположить, что клиенты подключены, и если я опубликую сообщение, я должен получить это на конце подписчика, который здесь является моей лямбда-функцией? Кроме того, что такое техника, в которой я могу получить полезную нагрузку сообщения в моей лямбда-функции? Я добавляю ниже, согласно предложению cjwfuller.
- Ниже я записал метод для публикации в Python
client_boto = boto3.client('sns', aws_access_key_id='@@@', aws_secret_access_key='@@@', region_name='us-west-2')
Программа AWS SNS Java для подписки
REGION = 'us-west-2'
TOPIC = 'arn:aws:sns:us-west-2:***:topic_name'
MSG = ntpath.basename(f_string)
SUBJECT_boto = 'File Name'
pub =client_boto.publish(TopicArn = TOPIC, Message = MSG, Subject=SUBJECT_boto)
Я пишу код подписки на Java. Так как моя lambda func уже подписана на нем на AWS-консоли, должна ли моя программа Java включать подписку снова или есть способ получить полезную нагрузку msg напрямую.
Ниже я записал метод для публикации в Python 'client_boto = boto3.client ('с.н.с.', aws_access_key_id = '***', aws_secret_access_key = '***', REGION_NAME = 'нас- запад-2') РЕГИОН = 'мы-запад-2' ТЕМЕ = 'ARN: AWS: SNS: нам-запад-2: ***: TOPIC_NAME' MSG = ntpath.basename (f_string) SUBJECT_boto = 'Имя файла' pub = client_boto.publish (TopicArn = TOPIC, Message = MSG, Subject = SUBJECT_boto) ' Я пишу код подписки в Java. Поскольку моя функция lambda уже подписана на нее на консоли AWS, должна ли моя программа Java включать подписку снова или есть способ получить полезную нагрузку msg напрямую. –
Если вы видите подписку в консоли AWS, подписка определенно находится между правильной темой SNS и правильной лямбда-функцией, а затем нет, вам не нужно повторно подписываться. Кроме того, какой код Java вы подписываете? Вы, вероятно, не должны подписываться в действительном коде функции Lambda, иначе он никогда не будет подписан, если не будет никакого ручного вызова. – cjwfuller
О, так работает ли абонент, чтобы подписываться первым, когда он может получать опубликованное сообщение? Если это так, то как работает прецедент, указанный AWS, в котором говорится, что SNS может публиковать полезную нагрузку сообщения для функции Lambda. Если лямбда вызывается SNS, то как она может быть подписана ранее? Источник: [http://docs.aws.amazon.com/sns/latest/dg/welcome.html] –