标签: serverless-framework

如果DynamoDb表已经存在,如何继续部署

我想继续部署(或强制),即使资源已经存在。

Atm我收到此错误:

Serverless Error ---------------------------------------

     An error occurred while provisioning your stack: AvailableDynamoDbTable
     - Available already exists.
Run Code Online (Sandbox Code Playgroud)

lambda amazon-dynamodb serverless-framework

11
推荐指数
3
解决办法
5179
查看次数

在本地使用Cognito [离线]

我有一种感觉这是一个noob问题...有没有办法模拟本地使用Cognito用户池(如此离线)?

我有一种感觉,在开发过程中使用aws cognito normal用户池有点不必要.我现在用无服务器有一个插件可以离线使用它,但没有找到一个用于cognito.

amazon-web-services amazon-cognito serverless-framework

11
推荐指数
2
解决办法
1972
查看次数

无服务器:指定的存储桶不存在

我愚蠢地删除了无服务器项目的s3存储桶.当我现在尝试部署或删除我的应用程序时,我收到此错误:The specified bucket does not exist如何从Serverless重新创建s3存储桶?

lambda serverless-framework serverless-architecture

11
推荐指数
1
解决办法
4807
查看次数

我不能只使用Serverless-framework 1.20.2部署一个函数

我想遵循这些提示

并且只是重新部署我的功能,因为serverless.yml没有改变.

然而,它只是悬挂在Serverless: Uploading function舞台上.永远,显然.

整个部署(有sls deploy)工作,虽然缓慢.

怎么可以调试这个,因为显然没有错误信息?

编辑

当我使用sls deploy我的项目需要大约4分钟和15秒来部署.

这对我来说似乎相当长,所以我想我会sls deploy function -f myFunction改用它,这应该会更快.

但是,当我尝试时sls deploy function -f myFunction,它似乎只是永远挂起Serverless: Uploading function: myFunction.

我不知道如何调试.

它似乎使用'详细',Serverless: Uploading function: myFunction --verbose没有什么区别,返回的消息是相同的.

我将尝试等待,看看最终功能部署是否完成......

好吧,我等了,它没有:大约8分30秒后,我收到以下错误信息:

无服务器错误--------------------------------------- 120000ms后连接超时获取支持 - ------------------------------------------文档:docs.serverless.com错误:github.com/serverless/serverless/issues论坛:forum.serverless.com聊天:gitter.im/serverless/serverless您的环境信息--------------------- -------- OS:linux节点版本:7.10.0无服务器版本:1.20.2

另一个奇怪的是:当悬挂时,它显示:

无服务器:上传功能:myFunction(12.05 MB)...

但功能本身只有3.2 kB,并且不包含任何包.

当我使用时sls deploy,显示的大小是相同的:

无服务器:将服务.zip文件上传到S3(12.05 MB)...

我的功能部署有什么问题?

编辑2

正如@dashmug暗示的那样,有一个配置问题serverless.yml.

functions我的无服务器项目的目录中,我希望有一个共同的package.jsonnode_modules.然后每个函数可以根据需要导入模块.

我试着按照官方指南 …

deployment aws-lambda serverless-framework

11
推荐指数
2
解决办法
1544
查看次数

如何在 Cloudformation 模板中引用 DynamoDB 表的最新流

我正在为无服务器框架编写一个插件,它通过 ARN 引用 DynamoDB Stream。我可以使用手头的信息构建 DynamoDB 表 ARN,但我不知道时间戳部分,这是构建完整流 ARN 所必需的。我无权访问原始 DynamoDB Cloudformation 定义,当我需要引用 Stream ARN 时,这两件事可能会在完全不同的模板中发生。此时我所拥有的只是已创建的 DynamoDB 的 ARN。

有没有办法通过类似于 的变量来引用最新的流 arn:aws:dynamodb:${AWS::Region}::${AWS::AccountId}:table/eventbus-test/stream/${LATEST}

或者我可以通过无服务器配置或 Cloudformation 模板以另一种方式构建它吗?

amazon-web-services aws-cloudformation amazon-dynamodb serverless-framework amazon-dynamodb-streams

11
推荐指数
1
解决办法
5186
查看次数

为什么在通过无服务器部署时,docker不能找到我自己的包?

我想将我的python包部署到亚马逊并通过lambda使其可用.为此,我正在尝试无服务器.

当我尝试部署我的包时,我收到以下错误消息:

SLS_DEBUG=* serverless deploy --stage dev --aws-profile default
Serverless: Load command config
Serverless: Load command config:credentials
Serverless: Load command create
Serverless: Load command install
Serverless: Load command package
Serverless: Load command deploy
Serverless: Load command deploy:function
Serverless: Load command deploy:list
Serverless: Load command deploy:list:functions
Serverless: Load command invoke
Serverless: Load command invoke:local
Serverless: Load command info
Serverless: Load command logs
Serverless: Load command login
Serverless: Load command logout
Serverless: Load command metrics
Serverless: Load command print
Serverless: Load command …
Run Code Online (Sandbox Code Playgroud)

docker aws-lambda serverless-framework

11
推荐指数
1
解决办法
787
查看次数

无服务器部署 - 未找到功能 - sls 部署

我正在尝试通过无服务器 CLI 部署无服务器功能,但出现以下错误:

发生错误:GenerateDownloadLinkLambdaFunction - 未找到函数:

奇怪的是,我已经为另一个阶段部署了这个函数qa,它部署得很好,但dev它只是抛出了上述错误。

如果我尝试从 AWS 控制台手动创建函数并部署它,Lambda 函数菜单会显示该函数是在 X 秒前部署的,但是它不会显示我serverless.yml在我的机器上的文件中的任何设置。

还值得注意的是,我已经设法在dev舞台上部署了此功能,但我不小心将其删除了。从那时起,它拒绝重新部署。

我一直在用头撞墙,想知道我做错了什么,但找不到任何东西,以前有没有其他人遇到过类似的 Serverless 问题?

amazon-web-services aws-lambda serverless-framework

11
推荐指数
2
解决办法
6189
查看次数

AWS SAM:嵌套堆栈,从根堆栈引用 API 网关

我想将我的 SAM 应用程序拆分为多个部分。

我想在根堆栈中创建一个 API ( AWS::Serverless::Api )。

我正在我的子堆栈中创建 lambda 函数,我想在其中提供从根堆栈到 API 事件的 API 引用。

这可行吗?我没有找到任何从根堆栈访问 API 到子堆栈的好例子?

我尝试使用以下模板 -

parenttemplateapi:
    Type: AWS::Serverless::Application
    Properties:
      Location:
        ApplicationId: arn:aws:serverlessrepo:us-east-1:account_id:applications/parent-template
        SemanticVersion: 1.0.0



HelloWorldFunction:
    Type: AWS::Serverless::Function 
    Properties:
      CodeUri: hello_world/
      Handler: app.lambda_handler
      Runtime: python2.7
      Events:
        HelloWorld:
          Type: Api
          Properties:
            Method: get
            Path: /hello
            RestApiId: !GetAtt parenttemplateapi.Outputs.ServerlessGW-restApiId
Run Code Online (Sandbox Code Playgroud)

当我尝试部署此模板时,出现以下错误 -

错误:无法为堆栈创建变更集:子模板,例如:Water ChangeSetCreateComplete 失败:Water 遇到终端故障状态状态:FAILED。原因:转换 AWS::Serverless-2016-10-31 失败:内部转换失败。

任何指示/建议?

我指的是以下链接 -

https://aws.amazon.com/blogs/compute/annoucing-nested-applications-for-aws-sam-and-the-aws-serverless-application-repository/

此处可以使用来自根堆栈的 API 网关 ID (AWS::ApiGateway::RestApi) 吗?

https://dev.to/grahamcox82/building-a-larger-serverless-application-part-3-modular-monorepos-3mon

这可以使用无服务器框架来实现吗?

amazon-web-services aws-cloudformation aws-api-gateway serverless-framework aws-sam

11
推荐指数
1
解决办法
554
查看次数

FUNCTION_ERROR_INIT_FAILURE AWS 拉姆达

我最近添加了很酷的 lambda 功能配置并发

经过几次成功部署后,我现在面临这个问题

无服务器错误 -------------------------------

ServerlessError:发生错误:GraphqlPrivateProvConcLambdaAlias - 无法应用预置并发配置。原因:FUNCTION_ERROR_INIT_FAILURE。在 C:\Users\theod\AppData\Roaming\npm\node_modules\serverless\lib\plugins\aws\lib\monitorStack.js:125:33 来自上一个事件:在 AwsDeploy.monitorStack (C:\Users\theod\AppData \Roaming\npm\node_modules\serverless\lib\plugins\aws\lib\monitorStack.js:28:12) 在 C:\Users\theod\AppData\Roaming\npm\node_modules\serverless\lib\plugins\aws\lib \updateStack.js:107:28 来自之前的活动:在 AwsDeploy.update

这是我的示例 serverless.yml 文件

service: backend-api

parameters:
  region: ap-southeast-2
  path: &path /

provider:
  name: aws
  runtime: nodejs12.x
  stage: ${env:STAGE, 'staging'}
  region: ap-southeast-2
  versionFunctions: true

plugins:
  - serverless-webpack
  - serverless-pseudo-parameters
  - serverless-prune-plugin
  # - serverless-offline-scheduler
  - serverless-offline

functions:
  # GRAPHQL APIs
  graphqlPrivate:
    handler: src/graphql/private/index.handler
    memorySize: 256
    timeout: 30
    name: ${self:service}-gqlPrivate-${self:provider.stage}
    vpc: ${file(./serverless/vpc.yml)}
    events:
        - http:
            path: /graphql/private
            method: ANY
            cors: true …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js aws-lambda serverless-framework serverless

11
推荐指数
1
解决办法
6522
查看次数

NextJS Stripe Webhook 原始主体

试图在 NextJS 上传递 Stripe webhook 的原始主体时,我费尽心思!

\n

尝试了很多来自各地的解决方案,但我似乎无法使其发挥作用。

\n

打开具有超能力的开发人员(我仍在获取其中)。

\n

条纹测试错误:

\n
\n

未找到与负载的预期签名匹配的签名。您是否传递了从 Stripe 收到的原始请求正文

\n
\n

我的 NextJS webhook 端点测试:

\n
import { buffer } from 'micro';\nconst stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);\n\nexport default async function handler(req, res) {\n\n    console.log("Payment intent")\n\n    const event = req.body\n\n    console.log(event)\n\n    if (process.env.STRIPE_WEBHOOK_ENDPOINT_SECRET) {\n        // Get the signature sent by Stripe\n        const signature = req.headers['stripe-signature'];\n        console.log(signature)\n        try {\n          event = stripe.webhooks.constructEvent(\n            req.body,\n            signature,\n            process.env.STRIPE_WEBHOOK_ENDPOINT_SECRET\n          );\n        } catch (err) {\n          console.log(`\xe2\x9a\xa0\xef\xb8\x8f  Webhook signature verification failed.`, err.message);\n …
Run Code Online (Sandbox Code Playgroud)

javascript webhooks stripe-payments serverless-framework next.js

11
推荐指数
1
解决办法
4083
查看次数