Я устанавливаю rds с потоком данных кинезиса . После этой статьи https://aws.amazon.com/blogs/database/streaming-changes-in-a-database-with-amazon-kinesis/. При запуске кода Python он не входит в цикл for. Так что проблема с потоковым соединением. Печатный поток дает
pymysqlreplication.binlogstream.BinLogStreamReader объект в 0xxxxxxxxxxx . Пожалуйста, скажите мне, что я делаю не так.
Я добавил ip своего сервера в группу безопасности rds.
import boto3
from pymysqlreplication import BinLogStreamReader
from pymysqlreplication.row_event import (
DeleteRowsEvent,
UpdateRowsEvent,
WriteRowsEvent,
)
def main():
mysql = {
"host": "xxxxxxxxxxxxx.amazonaws.com",
"port": 3306,
"user": "xxxx",
"passwd": "xxx",
"db": "xxx"}
kinesis = boto3.client("kinesis", region_name = 'us-xx-xx')
stream = BinLogStreamReader(
connection_settings = mysql,
server_id=100,
blocking = true,
log_file='mysql-bin.000003',
resume_stream=True,
only_events=[DeleteRowsEvent, WriteRowsEvent, UpdateRowsEvent])
print stream
for binlogevent in stream:
print 1
if __name__ == "__main__":
main()