python - Terraform:验证错误...成员必须满足正则表达式模式:arn:aws:iam::

标签 python amazon-rds amazon-kinesis

我正在尝试通过运动数据流传输 rds,但它给了我这个错误:

botocore.exceptions.ClientError: An error occurred (ValidationException) when calling the PutRecord operation: 1 validation error detected: Value 'arn:aws:kinesis:us-west-2:xxxxxxxxxx:stream/rds-temp-leads-stream' at 'streamName' failed to satisfy constraint: Member must satisfy regular expression pattern: [a-zA-Z0-9_.-]+

我该怎么做才能解决这个问题?


import json
import boto3
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)

def main():
  mysql = {
      "host": "",
      "port":,
      "user": "",
      "passwd": "",
      "db": ""}
  kinesis = boto3.client("kinesis", region_name = 'us-west-2')

  stream = BinLogStreamReader(
    connection_settings = mysql,
    server_id=100,
    blocking = True,
    log_file='mysql-bin.000003',
    resume_stream=True,
    only_events=[DeleteRowsEvent, WriteRowsEvent, UpdateRowsEvent]) 
  for binlogevent in stream:
    for row in binlogevent.rows:
      print row
      event = {"schema": binlogevent.schema,
      "table": binlogevent.table,
      "type": type(binlogevent).__name__,
      "row": row
      }

      kinesis.put_record(StreamName="jhgjh", Data=json.dumps(event, cls=DateTimeEncoder), PartitionKey="default")
      #print json.dumps(event)

if __name__ == "__main__":
   main()

最佳答案

从流名称中删除 'arn:aws:kinesis:us-west-2:xxxxxxxxxx:stream/rds-temp-leads-stream'。只需将流的名称放在那里,例如“rds-temp-leads-stream”

关于python - Terraform:验证错误...成员必须满足正则表达式模式:arn:aws:iam::,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55897065/

相关文章:

php - AWS php5.4无法连接RDS

apache-flink - 如何阻止高负载导致级联 Flink 检查点故障

java - Kinesis 工作人员错误 : Caught exception when initializing LeaseCoordinator

python - 使用 Tkinter 显示 numpy 数组中的图像

python - 如何使用 Python3 在 Linux 中比较两个不同日期的文件大小

python - 如何右键保存图片或文件?

sql-server - AWS RDS MS SQL 无法连接

python - 我怎样才能 'de-merge' Pandas 数据帧产生 2 个不同的集合

mysql - RDS 与 EC2 for MySQL 在故障转移/复制设置方面有何区别?

amazon-web-services - AWS Kinesis Firehose 和 Streams 的处理时间有什么不同吗?