本文以运行一个Tornado应用为例介绍如何创建Python语言的Custom Runtime函数。

前提条件

安装Tornado

操作步骤

  1. 编写server.py代码,代码示例如下。
    import tornado.ioloop
    import tornado.web
    import os
    
    class MainHandler(tornado.web.RequestHandler):    
        def get(self):        
            self.write("GET: Hello world")     
    
        def post(self):        
            self.write("POST: Hello world")
    
    def make_app():    
        return tornado.web.Application([        
            r"/.*", MainHandler),    
        ])
    
    if __name__ == "__main__":    
        app = make_app()    
        port = os.environ.get("FC_SERVER_PORT", "9000")    
        app.listen(int(port))    
        tornado.ioloop.IOLoop.current().start()
  2. 编写一个具有执行权限的文件,名称为bootstrap,用于启动上述代码的HTTP Server,代码示例如下。
    注意 代码中必须包含#!/bin/bash注释。
    #!/bin/bash
    python server.py
  3. server.pybootstrap打包成ZIP包,然后基于这个ZIP包创建Runtime为Custom的函数。
    说明 此时函数的handler没有任何意义,您可以填写任意一个满足函数计算handler字符集约束的字符串。
    root@33a2b0c2****:/code# ls -ll 
    total 16
    -rwxr-xr-x   1 root  staff    17 Aug 16 22:19 bootstrap
    -rw-r--r--   1 root  staff   414 Aug 16 17:24 server.py
    drwxr-xr-x  38 root  staff  1216 Aug 16 22:20 tornado
    root@33a2b0c2****:/code# zip -r code.zip *
    root@33a2b0c2****:/code# ls -ll code.zip
    -rw-r--r--  1 root  staff  943389 Aug 16 22:24 code.zip