我试图让我的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。
也不确定什么进入数据请求。
在这个拉请求中,他们建议不要再使用兜售版本的请求https://github.com/aws-quickstart/taskcat/pull/343了。不幸的是,许多AWS代码示例仍然使用它。
您可以使用官方的“请求”库(https://requests.readthedocs.io/en/master/)而代以:
from botocore.vendored import requests
具有
import requests
我有相同的错误,但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/