如何解决Python urllib3 Lambda:LocationValueError:未指定主机HTTP Webhook
我正在使用urllib3库和python3 lambda代码,这些代码从AWS Secret Manager中获取MSTeams的webhook网址,并发送http post
请求以发布SNS消息。
我的webhook url
带有https a的星星看起来像这样“ https://outlook.office.com/webhook / .......”。执行lambda函数时,出现如下所示的LocationValueError: No host specified
代码
import urllib3
http = urllib3.PoolManager()
MSTEAMS_WEBHOOK_SECRET_NAME = os.getenv('MSTEAMS_WEBHOOK_SECRET_NAME')
HOOK_URL = get_secret(MSTEAMS_WEBHOOK_SECRET_NAME)
def lambda_handler(event,context):
message = {
"@context": "https://schema.org/extensions","@type": "MessageCard","themeColor": data["colour"],"title": title,"text": "accountId:\n" + account_id + " <br/>\n"
}
webhook_encoded_body = json.dumps(message).encode('utf-8')
response = http.request('POST',HOOK_URL,body=webhook_encoded_body)
**在Python 3.7 lambda执行引擎上测试时出错**
Traceback (most recent call last):
File "/var/task/lambda_function.py",line 145,in lambda_handler
resp = http.request('POST',body=webhook_encoded_body)
File "/var/runtime/urllib3/request.py",line 80,in request
method,url,fields=fields,headers=headers,**urlopen_kw
File "/var/runtime/urllib3/request.py",line 171,in request_encode_body
return self.urlopen(method,**extra_kw)
File "/var/runtime/urllib3/poolmanager.py",line 325,in urlopen
conn = self.connection_from_host(u.host,port=u.port,scheme=u.scheme)
File "/var/runtime/urllib3/poolmanager.py",line 231,in connection_from_host
raise LocationValueError("No host specified.")```
References
https://aws.amazon.com/premiumsupport/knowledge-center/sns-lambda-webhooks-chime-slack-teams/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。