Ошибка проверки ...........: значение '<TestStream>' в 'streamName' не удовлетворяет ограничению - PullRequest
0 голосов
/ 25 мая 2020

Ошибка при переносе данных потока из MYSQL в Kinesis. Помогите мне это исправить.

botocore.exceptions.ClientError: Произошла ошибка (ValidationException) при вызове операции PutRecord: обнаружена 1 ошибка проверки: значение '' в 'streamName' не удалось удовлетворить ограничение: участник должен удовлетворять шаблон регулярного выражения: [a-zA-Z0-9 _.-] +

import json
import boto3
import pymysql
import socket,array
import pandas as pd
from datetime import datetime
from pymysqlreplication import BinLogStreamReader
from pymysqlreplication.row_event import (
    DeleteRowsEvent,
    UpdateRowsEvent,
    WriteRowsEvent,
)
class DateTimeEncoder(json.JSONEncoder):
    def default(self, o):
        if isinstance(o, datetime):
            return o.isoformat()

        return json.JSONEncoder.default(self, o)

connection = {
    "host": "127.0.0.1",
    "port": 3306,
    "user": "root",
    "passwd": "root"}

def main():
  kinesis = boto3.client("kinesis",region_name='ap-south-1')
  stream = BinLogStreamReader(
            connection_settings=connection,
            only_events=[DeleteRowsEvent, WriteRowsEvent, UpdateRowsEvent],
            server_id=100,
            blocking=True,
            log_file='mysql-bin.000003',
            resume_stream=True,
        )
  for binlogevent in stream:
    for row in binlogevent.rows:
      event = {"schema": binlogevent.schema,
      "table": binlogevent.table,
      "type": type(binlogevent).__name__,
      "row": row
      }       
      kinesis.put_record(StreamName="<MysqlKinesisStream>", Data=json.dumps(event,cls=DateTimeEncoder), 
PartitionKey="default",)
      print (json.dumps(event))
if __name__ == "__main__":
   main()

1 Ответ

0 голосов
/ 25 мая 2020

Это означает, что имя "<TestStream>" является недопустимым именем потока Kinesis. Используйте имя потока Kinesis, созданное в AWS.

Имена Kinesis должны соответствовать шаблону регулярного выражения [a-zA-Z0-9_.-]+

...