我正在尝试连接到 Amazon Keyspaces,利用Assume role provider
它在凭证过期时刷新凭证。如文档所述,我已经设置了我的 aws 配置文件
[profile cassandra]
role_arn=role_to_assume
source_profile=default
role_session_name=testingCassandraConnection
duration_seconds=900
然后,在代码中,我开始使用该配置文件进行会话
boto_session = boto3.Session(profile_name='cassandra', region_name='us-east-1')
auth_provider = SigV4AuthProvider(boto_session)
cluster = Cluster(
[CASSANDRA_CLUSTER],
ssl_context=ssl_context,
auth_provider=auth_provider,
port=9142
)
session = cluster.connect()
但我得到了错误Error from server: code=0100 [Bad credentials] message="Authentication failure: SessionId mismatch
我还尝试使用sts_client.assume_role
凭据并将其直接传递给boto3.Session()
它,它以这种方式工作,但是当它们过期时我将无法刷新凭据。
有没有人遇到过这个问题?