boto3 s3 已初始化会话 return 凭据
boto3 s3 initialized session return credentials
我面临着类似于
的问题
但是,我已经有一个初始化的 s3 会话(来自 boto3)。
我怎样才能获得从它返回的凭据以将这些直接提供给 pandas?
IE。如何从初始化的 boto3 s3 客户端中提取 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY?
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 对象:pd.read_csv(s3_client.get_object(Bucket='Bucket', Key ='FileName').get('Body'))
我面临着类似于
但是,我已经有一个初始化的 s3 会话(来自 boto3)。 我怎样才能获得从它返回的凭据以将这些直接提供给 pandas? IE。如何从初始化的 boto3 s3 客户端中提取 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY?
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 对象:pd.read_csv(s3_client.get_object(Bucket='Bucket', Key ='FileName').get('Body'))