【问题标题】:Cant create s3 session无法创建 s3 会话
【发布时间】:2022-01-28 00:18:50
【问题描述】:

我正在尝试从我们的 s3 服务器下载一些数据,但无法创建会话。

我正在运行以下代码:

session = boto3.Session(
    aws_access_key_id = "###########",
    aws_secret_access_key = "###########",
)

s3 = session.resource('s3')
bucket = s3.Bucket('########')
file_names = []

但它会吐出以下错误:

DataNotFoundError: Unable to load data for: sdk-default-configuration

这些是我的导入:

import pandas as pd
import mysql.connector
import boto3
import s3fs
import botocore
import pandas as pd
import os

我安装的 boto3 和 botocore 版本是 boto3-1.20.44 和 botocore-1.23.44

我尝试下载不同版本的 boto3 和 botocore 都没有成功...

【问题讨论】:

  • 你试过boto3.session.Session(aws_access_key_id, aws_secret_access_key)吗?
  • 哪一行产生了错误?是session.resource('s3') 行吗?通常,您永远不应该将您的凭据放入代码中。相反,请使用 AWS CLI aws configure 命令将您的凭证存储在配置文件中。然后,只需使用s3 = boto3.resource('s3'),boto3 就会自动在配置文件中查找凭据。
  • 非常感谢@jarmod,这解决了我的问题
  • 感谢您的评论@John Rotenstein,下次我会这样做

标签: python amazon-web-services amazon-s3 package boto3


【解决方案1】:

问题似乎出在您的会话构造函数中:

boto3.Session(aws_access_key_id=a, aws_secret_access_key=b)

根据documentation,它应该改为如下:

boto3.session.Session(aws_access_key_id=a, aws_secret_access_key=b)

【讨论】:

    猜你喜欢
    • 2019-10-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 2019-09-22
    • 2016-03-03
    • 2013-12-12
    • 2018-01-14
    相关资源
    最近更新 更多