簡體   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