将端点添加到无服务器 CLI 生成的函数

Add Endpoint to Serverless CLI Generated Function

我是无服务器 (www.serverless.com) 新手,正在学习 CLI。

我在为函数创建 POST、PUT 或 DELETE 端点时遇到问题。在查看文档时,我使用以下内容创建了一个函数:

sls function create mycomponent/myfunction

效果很好,生成的 s-function.json 自动添加了一个 'GET' 端点。我想要的是能够在某些函数上添加 'PUT'、'POST' 或 'DELETE' 端点。

从文档看来我可以使用端点部署,但我尝试这样做但没有成功:

sls endpoint deploy mycomponent/myfunction@myfunction/create~POST 

这个错误表明不存在这样的端点名称(我假设是因为它不在 s-function.json 文件中)。

我是否需要手动编写 s-function.json 文件以包含其他端点,或者是否有办法通过 CLI 执行此操作?

感谢您的帮助!

我刚刚开始更新 s-function.json 文件以设置 "sls" function/endpoint 的方法。

设置特定 statusCoderequestTemplates 等也是如此。

这是一个 POST function/endpoint s-function.json 配置文件的示例。

{
  "name": "create",
  "handler": "user/create/handler.handler",
  "timeout": 3,
  "memorySize": 128,
  "custom": {
    "excludePatterns": [],
    "envVars": []
  },
  "endpoints": [
    {
      "path": "user/create",
      "method": "POST",
      "type": "AWS",
      "authorizationType": "none",
      "apiKeyRequired": false,
      "requestParameters": {},
      "requestTemplates": "$${apiRequestTemplate}",
      "responses": {
        "400": {
          "statusCode": "400"
        },
        "default": {
          "statusCode": "201",
          "responseParameters": {},
          "responseModels": {},
          "responseTemplates": {
            "application/json": ""
          }
        }
      }
    }
  ]
}