问题标签 [boto3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 在需要 sudo 的 elasticbeanstalk 上安装 python 库
我正在尝试为使用 aws elastic-beanstalk 部署的 django 项目安装 boto3。该库要求我以 sudo 身份运行,因此给了我一个权限被拒绝错误。
我只是将 boto3==1.2.1 放在我的 requirements.txt 文件中。
谢谢!
python - Python boto3 s3 库返回不同的字典到官方文档
我发现 boto3 的官方文档(https://boto3.readthedocs.org/en/latest/reference/services/s3.html#S3.Bucket.create)与实际返回的内容之间存在令人沮丧的不匹配.
只是为了确保,我使用的是 boto3 1.2.1 和 botocore 1.3.2(都安装了 pip)。
我专门谈论使用以下boto3.Session
方法创建存储桶:
我在文档中被告知该s3.Bucket('testbucket').create()
命令返回的字典看起来像
但相反,我得到了一个看起来像这样的字典:
如果我尝试通过调用它的delete()
方法来删除一个 S3 对象,我也会得到类似的东西,例如:
我在哪里得到:
而不是(https://boto3.readthedocs.org/en/latest/reference/services/s3.html#S3.Object.delete):
我知道 boto3 是 botocore 库的一个相关包装器,而RequestID
我要返回的字典中的键最终来自botocore/parsers.py
. 我理解create
return 因为它实际上有额外的信息,但我不明白的是put_object()
方法 return不包含任何类似于文档的内容
我正在努力解决的是官方文档是否对我撒谎。
proxy - 如何在 boto3 中使用 HTTP/HTTPS 代理?
在旧库上,打开连接时使用 、 和 参数非常简单boto
。但是,我找不到任何等效的方式以编程方式在 boto3 上定义代理参数。:(proxy
proxy_port
proxy_user
proxy_pass
python - 如何使用 boto3 从名称中带有句点 (.) 的存储桶访问密钥?
语境
我正在尝试获取所有存储桶的加密状态以获取安全报告。但是,由于加密是基于密钥级别的,我想遍历所有密钥并获得一般加密状态。例如,“是”是所有密钥都被加密,“否”如果没有被加密,“部分”是一些被加密。
我必须使用 boto3,因为 boto 存在一个已知问题,即每个密钥的加密状态始终返回 None。看这里。
问题
我正在尝试使用 boto3 迭代每个存储桶中的所有键。以下代码可以正常工作,直到它遇到名称包含句点的存储桶,例如“my.test.bucket”。
当它遇到名称中带有句点的存储桶时,它会在bucket.objects.all()
被调用时抛出此异常,告诉我将所有请求发送到特定端点。这个端点可以在抛出的异常对象中找到。
我尝试过的事情
- 将 endpoint_url 参数设置为异常响应中指定的存储桶端点,例如
s3_resource = session.resource('s3', endpoint_url='my.test.bucket.s3.amazonaws.com')
- 指定存储桶所在的区域,例如
s3_resource = session.resource('s3', region_name='eu-west-1')
我相信这个问题类似于boto中的这个stackoverflow问题,它通过在s3Connection构造函数中设置calling_format参数来解决这个问题。不幸的是,我不能使用 boto(见上文)。
更新
这就是最终为我工作的东西。这不是最优雅的方法,但它有效 =)。
python - 如何在亚马逊网络服务中从 boto3 生成 url
我在 s3 中有一个 Bucket,我正在尝试提取其中图像的 url。
我正在使用 boto3,而 boto3 似乎没有实现生成 url 方法。
他们有一个核心方法,可以生成这样的 url,
我被迫做的一件事是,我必须使用会话对象将参数与每个请求一起发送。并且上述方法不允许我设置会话变量(即 ..aws 凭据)
我能得到的最接近的是这个
这让我得到了 amazon s3 对象,它是一个名为
我可以通过这种方式获取图片的网址吗?
python - boto3 方法参数的默认值
我想以编程方式编写一个调用 boto3 方法并更改方法内的默认参数的方法。
例如,如果日志设置为 True,我想使用我的日志存储桶。否则,不要记录它。像这样的东西:
因此,对于默认值,我使用无。但是,boto3 需要一个字符串。我尝试了默认的空字符串,它不是有效值
我知道如果我不指定 logURI,它就不会被存储。所以我可以用 if 语句来做,像这样:
但这是可怕的方式。LogUri 只是一个例子。我希望能够更改其他参数。我就是不能做出那些嵌套的 if。
我可以使用 boto3 中的各种类型(如字符串)的默认值吗?
编辑 1
从下面的第一条评论, http://boto3.readthedocs.org/en/latest/guide/events.html#provide-client-params
有趣的 API。虽然没有很好的记录。他们的 s3 clistnt 示例工作正常,
然后反应很好,我也看到打印了“你好”。
但是现在我尝试为 emr 的 run_job_flow 做一个例子:
当我运行它时,我得到:输入中缺少必需的参数:“名称”
我是否以某种方式使用了错误的语法?我确实使用了从 current_emr.meta.method_to_api_mapping 获得的 RunJobFlow 也许它不是为 emr 提供客户端参数?
我也没有看到打印“你好”
amazon-web-services - 通过 aws Lambda 使用 boto3 拒绝访问
我使用构建的数据处理管道
S3 + SNS + Lambda
因为 S3 无法将通知发送到其存储区域之外,所以我利用 SNS 将 S3 通知发送到其他区域的 Lambda。
lambda 函数编码为
当我运行保存和测试时,出现以下错误
我配置了 lambda 角色
并在我的目标存储桶上设置存储桶策略
看来我没有好好制定政策。
amazon-web-services - 如何配置与boto3内联的授权机制
我在 aws lambda 中使用 boto3 来感染位于法兰克福地区的 S3 中的对象。
v4 是必要的。否则将返回以下错误
配置signature_version的实现方法http://boto3.readthedocs.org/en/latest/guide/configuration.html
但由于我使用的是 AWS lambda,因此我无权访问底层配置文件
我的 AWS lambda 函数的代码
是否可以在此代码中配置 signature_version ?以会话为例。或者有什么解决方法吗?
python - 解压缩超大文件时遇到问题
我收到了许多压缩文件,但解压缩后的文件大小为 30GB+,并且已在 Windows 中压缩。我正在尝试使用 EC2 实例创建一个系统来解压缩这些,但我一直在最大化内存(错误IOError: [Errno 28] No space left on device
)。我的解压脚本如下:
有没有更好的解压文件的方法?我尝试流式传输它,但由于最初压缩的方式,这很可能不起作用。
python - 您如何使用 Boto 3 创建角色和策略?
如何使用 Boto 3 创建角色和策略?我已经阅读了文档,但仍然无法弄清楚如何做到这一点。