python - Terraform: Validation error ... Member must satisfy regular expression pattern: arn:aws:iam::
问题描述
I'm trying to stream rds through kinesis data stream but it is giving me this error:
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_.-]+
What can I do to fix this?
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”
推荐阅读
- php - 删除 OceanWP 主题中产品页面标题下的子标题文本
- jquery - 带有附加数据的标签中声明的 jQuery 触发事件
- python - 无法从购物车页面-django url 错误访问我的在线商店的订单页面
- solr - Solr Cloud - Solr 挂起/无法启动或无法完全创建集合:
- reactjs - React fetch 有错误 fetch 被 CORS 策略阻止
- ruby-on-rails - Rails 嵌套资源显示两次.. 一次在开始,一次在结束
- c++ - 使用 Matlab C++ 编译器将 C++ 代码转换为 Matlab
- php - 如何在引导程序中将 mysql 表记录显示为导航
- solr - Solr 突出显示以包括搜索返回的连字符结果
- c++ - 为未初始化的 std::string 变量分配了多少内存?