gpt4 book ai didi

amazon-rds - 在本地运行SAM时如何连接RDS实例?

转载 作者:行者123 更新时间:2023-12-04 01:13:37 26 4
gpt4 key购买 nike

我正在使用 SAM(无服务器应用程序模型)在本地测试连接到云中 Aurora RDS 实例的 Lambda 函数。

使用以下命令:

sam local invoke "lambda function name" --event event.json

Lambda 函数正在执行,但在返回 SQL 结果时,它返回 null 作为输出。

如何配置 Docker 容器与 RDS 实例通信?

最佳答案

如 sam local invoke 的帮助中所述,您可以将 Docker 容器连接到现有的 Docker 网络:

▶ sam local invoke --help                
...
--docker-network TEXT Specifies the name or id of an existing
docker network to lambda docker containers
should connect to, along with the default
bridge network. If not specified, the Lambda
containers will only connect to the default
bridge docker network.

因此,要列出您的 Docker 网络:
▶ docker network ls
NETWORK ID NAME DRIVER SCOPE
25a03c8453a6 bridge bridge local
00de89cf09d0 host host local
41597d91a389 none null local

然后,要将您的 Lambda 函数的 Docker 容器连接到主机网络:
▶ sam local invoke "lambda function name" --event event.json \
--docker-network 00de89cf09d0

请注意,您还可以使用环境变量 SAM_DOCKER_NETWORK :
▶ SAM_DOCKER_NETWORK=00de89cf09d0 sam local invoke "lambda function name" \
--event event.json

如前所述 here .

假设主机网络可以访问 RDS 实例,那应该可以解决您的问题。

关于amazon-rds - 在本地运行SAM时如何连接RDS实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54798633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com