amazon-web-services - FunctionName 的调用容器没有响应
问题描述
尝试使用以下命令将dockerized Lambda端口转发到我的本地主机:
$ sam local start-api --docker-network host
每次尝试访问 Lambda 时都会出错:
FunctionName 的调用容器没有响应
也尝试使用host.docker.internal和host.docker.local网络但没有成功。
有任何想法吗?解决方法?
解决方案
这似乎不起作用,但使用主机的 IP 地址确实......
假设您的主机的 IP 地址是 192.168.1.111 。你可以从你的 Lambda 中使用它来攻击你的主机
您可以使其可配置:
模板.yml:
...
Environment:
Variables:
ENDPOINT_URL: null
环境.json:
{
"Parameters":{
"ENDPOINT_URL":"http://192.168.1.111:5000"
}
}
lambda_function.py:
...
default_sns_endpoint = f'https://sns.{os.environ["AWS_REGION"]}.amazonaws.com'
endpoint_url = os.environ.get("ENDPOINT_URL", "") or default_endpoint
sns = boto3.client("sns", endpoint_url=endpoint_url)
...
启动 SAM:
sam local invoke --env-vars env.json
推荐阅读
- python - 使用 Python 使用相对文件路径打开 csv
- c - 我在输出的末尾得到了 printf 行内的所有行
- flutter - Flutter - 找不到资产的文件或变体:lib/assets/images
- python - PyTorch 输入和隐藏张量不在同一设备上
- javascript - Firestore NoSql 数据库结构(作为 n 叉树)
- java - 带数据库的快速排名系统
- sparql - 在 where 子句中使用嵌套三元组时,SPARQL* DELETE/INSERT 返回错误
- kotlin - 为什么 Flux.flatMap() 不等待内部发布者完成?
- mysql - 许多大表中的mysql使一列相同
- qt - 菜单的 QML 动画