Невозможно установить соединение с экземпляром RDS с помощью класса BinLogStreamReader PyMySQLReplication - PullRequest
0 голосов
/ 25 апреля 2019

Я устанавливаю 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...