【发布时间】:2019-05-31 00:46:44
【问题描述】:
我正在尝试在本地测试 aws lambda 函数,并成功地使用 moto 库模拟 dynamo DB 等 aws 资源,但是当引入组件时,即请求调用第三方库时,由于连接被拒绝,我收到错误。
requests.exceptions.ConnectionError: Connection refused: GET https://www.google.com/
主要是因为moto库reponse.py类,即httpPretty库。
我们可以使用哪些其他替代方法来修复这些问题或在本地测试具有 aws 资源的 lambda 函数以及调用第三方库。
我的 lambda 函数源码:
import boto3
import requests
def lambda_handler(event,context):
client=boto3.client('dynamodb')
response = client.put_item(TableName='divyanayan_test',
Item={'id': {'S': 'hello1'}})
r = requests.get('https://www.google.com/')
print(r)
也尝试过使用 localstack 库并将图像部署到 docker,但它给出的 url not 无法连接到端点 URL:“http://localhost:4569/”。
【问题讨论】:
标签: unit-testing aws-lambda localstack moto