从AWS lambda函数获取EC2实例IP并使用请求库

2024-10-01 17:37:14 发布

您现在位置:Python中文网/ 问答频道 /正文

在 我在amazonawslambda上写一个lambda函数。它访问EC2实例的URL,我正在该实例上运行webrestapi。lambda函数由Alexa触发,并用Python语言(python3.x)编写。

目前,我已经在lambda函数中硬编码了EC2实例的URL,并成功地运行了Alexa技巧。

我希望lambda函数自动从EC2实例获取IP,每当我启动实例时,这个IP就会不断变化。这将确保我不必在每次启动EC2实例时都使用代码和硬编码URL。

我偶然发现了一个类似的问题,但没有得到回答。但是,有一个答复表明正在更新IAM角色。我以前已经为其他目的创建了IAM角色,但我仍然不习惯。 这可能吗?是否需要管理EC2实例的安全组? 我需要设置一些权限/配置/设置吗?lambda代码如何实现这一点?

此外,我在我的系统上安装了请求库,并尝试上载一个“.zip”文件,其结构如下:

  • 在 休息.zip/ 在
    • 在 请求库文件夹 在
    • 在 索引.py 在

在 我目前正在使用urllib库

当我使用zip文件上传代码时(我目前是内联编辑代码),它甚至不能访问索引.py文件来运行代码


Tags: 文件实例lambda函数代码pyipurl
1条回答
网友
1楼 · 发布于 2024-10-01 17:37:14

您可以使用boto3来实现它,但是我建议不要使用这种架构。更好的方法是使用负载平衡器(即使只有一个实例),然后在应用程序中使用负载平衡器的CNAME记录(只要LB存在,这种情况就不会改变)。在

如果您可以访问自己的域名,一个更好的方法是创建一个CNAME记录并将其指向负载平衡器的地址。然后,您可以在Lambda函数中愉快地使用DNS名称,而不必担心它会更改。在

相关问题 更多 >

    热门问题