当前位置: 首页 > 知识库问答 >
问题:

如何修复AttributeError:模块“botocore.vendored.requests”没有属性“Post”回溯

沃侯林
2023-03-14

我试图让我的LexBot与Lambda通信,所以我遵循了创建请求、签名和所需的一切的过程。但是我不确定是否需要从Python导入某些东西。当我要发布消息时,它失败了。签名和身份验证标头一起创建。

请告知伙计们,任何帮助将不胜感激!

我将这些文章用作指导方针:https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html

https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html

print ('\nBEGIN REQUEST++++++++++++++++++++++++++++++++++++')
print ('Request URL = ' + endpoint)
print('\n' + authorization_header)
print('\nX-Amz-content-Sha256 header is' + payload_hash)

r = requests.Post ('myendpoint'+ canonical_uri, data=payload, 
headers=headers)
data = r.json()
lex_message = data['message']
print ('' + lex_message)

所以我假设我的问题来自这段代码,我删除了我的endpoint。

也不确定什么进入数据请求。

共有2个答案

孙斌
2023-03-14

在这个拉请求中,他们建议不要再使用兜售版本的请求https://github.com/aws-quickstart/taskcat/pull/343了。不幸的是,许多AWS代码示例仍然使用它。

您可以使用官方的“请求”库(https://requests.readthedocs.io/en/master/)而代以:

from botocore.vendored import requests

具有

import requests
濮阳驰
2023-03-14

我有相同的错误,但GET使用python3.8。对GET/POST的支持已经从python3.8中的botocore.vendored.requests中删除。

作为一种变通方法,您可以对lambda使用python3.7,并且它仍然可以工作一段时间。然而,你会得到一个战争,支持这将被删除2020/03/31以及:

DeprecationWarning: You are using the put() function from 'botocore.vendored.requests'.  This dependency was removed from Botocore and will be removed from Lambda after 2020/03/31. https://aws.amazon.com/blogs/developer/removing-the-vendored-version-of-requests-from-botocore/. Install the requests package, 'import requests' directly, and use the requests.put() function instead.

所以没有太多的选择,使用pip来获取请求包,或者使用下面链接中显示的层。

更多信息可以在AWS Lambda中对Python SDK即将进行的更改中找到

 类似资料:
  • 问题内容: 这是我的课: 当我尝试运行该功能时: 我收到以下错误: 我该如何解决? 问题答案: 如果我不得不猜测,您这样做: 在代码的顶部。这意味着您必须执行以下操作: 访问该方法。或者,您可以将import语句更改为此: 并按原样访问它。 制作该模块的人员还命名了他们的班级:

  • 问题内容: 我一直在学习人工智能以及如何使用Python进行编码。我正在从事一个项目,因此我决定更新一些Python软件包,这些软件包并不是新手,然后发生了一些事情并且无法编译我的代码。我删除了Anaconda3并再次设置,但没有用。我一直把这个问题写为主题。如果有人帮助我,我会寻求帮助的。 问题答案: 相同的问题已作为GitHub问题发布。特别地,@allanlavoie建议的解决方案在这里也可

  • 问题内容: import attr >>> @attr.s … class SmartClass(object): … a=attr.ib() … b=attr.ib() … Traceback (most recent call last): File “ “, line 1, in AttributeError: module ‘attr’ has no attribute ‘s’ >>> 我

  • 问题内容: 我已经安装了tensorflow版本r0.11。 在我的文件名中,我已经导入: 并使用它: 尝试在PyCharm中运行我的项目时出现以下错误: 如何解决此错误? 问题答案: 您通常以书面形式汇入, 您可能已经在项目中命名了文件,并且语句正在从该文件导入。 另外,您也可以尝试一下

  • 问题内容: 我在Mac上工作。已安装Python 3.7.0。安装了Anaconda,Pandas和Numpy。 在命令行中,如果我输入Python并在Python shell内,我可以输入import Pandas,它看起来像是可行的。 但是在Komodo Editor中,如果执行: 我收到以下错误: 编辑: 这是完整的代码: 这是回溯: 问题答案: 查看共享者, 很可能您有一个名为’‘的文件,

  • 我已经在我的Ubuntu机器上安装了TensorFlow版本1.14.0。我正在尝试使用运行代码 我得到一个错误 完全回溯 Traceback(最近一次调用): File",第1行,在 File"/home/amitbhanja/python-环境/env/lib/python3.6/site-包/keras/init.py",第3行,在 from. index utils File"/home/