繁体   English   中英

boto3 s3 已初始化 session 返回凭据

[英]boto3 s3 initialized session return credentials

我面临的问题类似于如何使用 s3 URL 格式将文件从自定义托管的 Minio s3 存储桶加载到 pandas?

但是,我已经有一个初始化的 s3 session(来自 boto3)。 我怎样才能获得从它返回的凭据以将这些直接提供给 pandas? 即如何从初始化的 boto3 s3 客户端中提取 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY?

您可以使用session.get_credentials

import boto3

session = boto3.Session()
credentials = session.get_credentials()

AWS_ACCESS_KEY_ID = credentials.access_key
AWS_SECRET_ACCESS_KEY = credentials.secret_key
AWS_SESSION_TOKEN = credentials.token

如果您只能访问 boto 客户端(如 S3 客户端),您可以在此处找到隐藏的凭据:

client = boto3.client("s3")

client._request_signer._credentials.access_key
client._request_signer._credentials.secret_key
client._request_signer._credentials.token

如果您不想处理凭据(我假设您在这里使用 SSO),您可以直接使用 pandas 加载 S3 object: pd.read_csv(s3_client.get_object(Bucket='Bucket', Key ='FileName').get('Body'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM