Python Lambda 函数捕获 AWS MQ 的 AWS cloudwatch 日志并发送到 kinesis
Python Lambda function to capture AWS cloud watch logs of AWS MQ and send to kinesis
我从 put_records() only accepts keyword arguments in Kinesis boto3 Python API 获得了一个 Python 脚本,它将 json 文件加载到运动流。
My architecture is something like this
在 AWS 控制台中,我创建了一个添加了上述代码的 Lambda 函数。Lambda Function
我将如何集成或告诉我的 lambda 函数它每隔一分钟唤醒一次。我是否需要通过 Cloud-watch 事件添加捕获消息。如果是怎么..?
我确实在下面 link 得到了这个解决方案表格。
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 ''
我从 put_records() only accepts keyword arguments in Kinesis boto3 Python API 获得了一个 Python 脚本,它将 json 文件加载到运动流。
My architecture is something like this
在 AWS 控制台中,我创建了一个添加了上述代码的 Lambda 函数。Lambda Function
我将如何集成或告诉我的 lambda 函数它每隔一分钟唤醒一次。我是否需要通过 Cloud-watch 事件添加捕获消息。如果是怎么..?
我确实在下面 link 得到了这个解决方案表格。
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 ''