0

我从put_records() 得到了一个 Python 脚本,它只接受 Kinesis boto3 Python API中的关键字参数,它将 json 文件加载到 kinesis 流中。

我的架构是这样的

在 AWS 控制台中,我创建了一个 Lambda 函数,并添加了上述代码。Lambda 函数

我将如何集成或告诉我的 lambda 函数它每分钟唤醒一次。我是否需要通过 Cloud-watch 事件添加捕获消息。如果是这样怎么..?

我确实在链接下面得到了这个解决方案。

Python脚本:-

import time
import boto3
import stomp

kinesis_client = boto3.client('kinesis')


class Listener(stomp.ConnectionListener):
    def on_error(self, headers, message):
        print('received an error "%s"' % message)

    def on_message(self, headers, message):
        print('received a message "%s"' % message)
        kinesis_client.put_record(
            StreamName='inter-lambda',
            Data=u'{}\r\n'.format(message).encode('utf-8'),
            PartitionKey='0'
        )


def handler(event, context):
    conn = stomp.Connection(host_and_ports=[('localhost', 61616)])
    conn.set_listener('', Listener(conn))
    conn.start()
    conn.connect(login='user', passcode='pass')
    conn.subscribe(destination='A.B.C.D', ack='auto')
    print('Waiting for messages...')
    time.sleep(10)
    conn.close()
    return ''

https://github.com/aws-samples/amazonmq-invoke-aws-lambda

4

1 回答 1

1

您可以使用 CloudWatch Events 安排 Lambda 函数运行

另一种选择可能是订阅日志事件并将它们传递给 Lambda

于 2018-11-17T21:45:48.947 回答