Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过API网关在EC2上运行函数_Python_Amazon Web Services_Amazon Ec2_Aws Api Gateway - Fatal编程技术网

Python 通过API网关在EC2上运行函数

Python 通过API网关在EC2上运行函数,python,amazon-web-services,amazon-ec2,aws-api-gateway,Python,Amazon Web Services,Amazon Ec2,Aws Api Gateway,我想将AmazonAPI网关链接到我的EC2实例中的一个函数,但我在网上发现很少有关于hwo的内容可以这样做 目前,我已设置API调用,如下所示: 有人能告诉我如何将API调用连接到我的EC2实例根文件夹中名为“test.py”的python函数吗?我想你可以使用该服务来实现这一点,但这是一种奇怪的方式。AWS服务代理代理AWS API。因此,告诉它代理AWS EC2服务将公开AWS API来管理EC2实例。管理EC2实例包括创建和删除服务器等内容。它不包括启动到服务器的SSH连接、登录到服务

我想将AmazonAPI网关链接到我的EC2实例中的一个函数,但我在网上发现很少有关于hwo的内容可以这样做

目前,我已设置API调用,如下所示:


有人能告诉我如何将API调用连接到我的EC2实例根文件夹中名为“test.py”的python函数吗?

我想你可以使用该服务来实现这一点,但这是一种奇怪的方式。AWS服务代理代理AWS API。因此,告诉它代理AWS EC2服务将公开AWS API来管理EC2实例。管理EC2实例包括创建和删除服务器等内容。它不包括启动到服务器的SSH连接、登录到服务器,然后在服务器上运行命令


通过API网关在服务器上运行脚本的标准方法是通过EC2服务器上的web服务器公开该脚本,然后让API网关点击相应的URL。

API网关无法直接执行位于EC2实例文件系统上的Python函数。API网关只能通过http/https端点与EC2实例交互。如果必须在EC2实例上运行Python函数,则需要在EC2实例上运行web服务器或应用程序服务器,并将其设置为在收到特定路径上的请求时执行Python函数。然后设置API网关http集成端点以使用该路径


如果您只需要执行这个Python函数,而不一定需要它在这个EC2实例上运行,那么您可以设置一个包含Python函数的Lambda函数。然后设置API网关以调用Lambda函数。使用Lambda方法意味着您不需要管理EC2实例。此外,对于低容量用例,Lambda可以比运行专用EC2实例更具成本效益。

您可以通过调用API网关集成请求中的System manager“发送命令”来实现这一点。EC2实例必须由SSM和与EC2实例关联的实例角色管理