gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:30 25 4
gpt4 key购买 nike

我正在尝试通过运动数据流传输 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com