@serverless/tencent-pyramid

Tencent Cloud Python Pyramid Serverless Component

Usage no npm install needed!

<script type="module">
  import serverlessTencentPyramid from 'https://cdn.skypack.dev/@serverless/tencent-pyramid';
</script>

README

Serverless Pyramid Tencent Cloud

 

腾讯云 Pyramid Serverless Component

简介

腾讯云 Pyramid Serverless Component, 支持 Restful API 服务的部署.

目录

  1. 准备
  2. 安装
  3. 配置
  4. 部署
  5. 移除

0. 准备 `

安装Pyramid,新建python文件,例如app.py

from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response


def hello_world(request):
    return Response('Hello World!')


with Configurator() as config:
    config.add_route('hello', '/')
    config.add_view(hello_world, route_name='hello')
    app = config.make_wsgi_app()
    
if __name__ == "__main__":
    server = make_server('0.0.0.0', 6543, app)
    server.serve_forever()

并将python所需要的依赖安装到项目目录,例如本实例需要Pyramid,所以可以通过pip进行安装:

pip install Pyramid -t ./

如果因为网络问题,可以考虑使用国内源,例如:

pip install Pyramid -t ./ -i https://pypi.tuna.tsinghua.edu.cn/simple

1. 安装

通过 npm 全局安装 serverless cli

$ npm install -g serverless

2. 配置

本地创建 serverless.yml 文件,在其中进行如下配置

$ touch serverless.yml
PyramidTest:
  component: '@serverless/tencent-pyramid'
  inputs:
    region: ap-guangzhou
    functionName: PyramidFunctionTest
    pyramidProjectName: myPyramid
    code: ./
    functionConf:
      timeout: 10
      memorySize: 256
      environment:
        variables:
          TEST: vale
      vpcConfig:
        subnetId: ''
        vpcId: ''
    apigatewayConf:
      protocols:
        - http
      environment: release

注意,这里的pyramidProjectName必须要和你的项目名称一致!

这里要额外说明,pyramidProjectName实际上是包括你app的那个文件即app = config.make_wsgi_app(),并且要确保可以通过文件名.app从外引用该文件。

3. 部署

如您的账号未 登陆注册 腾讯云,您可以直接通过 微信 扫描命令行中的二维码进行授权登陆和注册。

通过 sls 命令进行部署,并可以添加 --debug 参数查看部署过程中的信息

$ sls --debug

4. 移除

通过以下命令移除部署的服务

$ sls remove --debug

账号配置(可选)

当前默认支持 CLI 扫描二维码登录,如您希望配置持久的环境变量/秘钥信息,也可以本地创建 .env 文件

$ touch .env # 腾讯云的配置信息

.env 文件中配置腾讯云的 SecretId 和 SecretKey 信息并保存

如果没有腾讯云账号,可以在此 注册新账号

如果已有腾讯云账号,可以在 API 密钥管理 中获取 SecretIdSecretKey.

# .env
TENCENT_SECRET_ID=123
TENCENT_SECRET_KEY=123