c# - 如何从 localstack 中的 Lambda 函数连接到 mysql?
问题描述
我已经设置了在 docker 上运行的 localstack。我有一个 .Net Core 2.1 c# Lambda 函数,它试图连接到本地主机上的 MySql 数据库。这是我在控制台中得到的:
“无法连接到任何指定的 MySQL 主机”
这是我的连接字符串的样子:
“数据源=本地主机;初始目录=xxx;主机=本地主机;连接超时=10;用户 ID=xxxx;密码=xxxx;SSL 模式=无”
我尝试了各种 IP 地址(127... 等),包括我们的实时数据库连接字符串。
编辑(2019 年 4 月 23 日):我在 localstack 文件夹上运行的命令:
docker-compose up
这是我正在使用的 docker 文件:
version: '2.1'
services: localstack:
image: localstack/localstack
ports:
- "4567-4593:4567-4593"
- "${PORT_WEB_UI-8080}:${PORT_WEB_UI-8080}"
environment:
- SERVICES=lambda,sqs,dynamodb,s3
- DEBUG=1
- DATA_DIR=/tmp/localstack/data
- PORT_WEB_UI=${PORT_WEB_UI- }
- LAMBDA_EXECUTOR=docker-reuse
- KINESIS_ERROR_PROBABILITY=${KINESIS_ERROR_PROBABILITY- }
- DOCKER_HOST=unix:///var/run/docker.sock
volumes:
- "${TMPDIR:-/tmp/localstack}:/tmp/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
解决方案
所以我自己解决了这个问题,毕竟我只是很傻......
我必须将 MySql 连接字符串的“主机”从“localhost”更新为以太网适配器 IP 的 IP 地址,如下所示:
“数据源= 172.xxx;初始目录=xxx;主机=本地主机;连接超时=10;用户ID=xxxx;密码=xxxx;SSL模式=无”
推荐阅读
- javascript - 从多个 Observable 传递值
- java - 从 IDE 运行服务时的 catalina.base 路径
- firebase - 如何从 firebase 获取新的 TXT 验证记录
- python - 如何在 install.sh 中缓存克隆 git repo
- angular - 角度路由器参数匹配正则表达式
- python - Flask + WTForms:一个函数提交按钮,用于n个迭代表单
- django - 获取用户名和uuid
- docker - 一些已安装的包在容器运行时不可用
- objective-c - MacOSX 将命令添加到 Dock 图标
- python - 张量流概率中的贝叶斯神经网络