小编gok*_*ack的帖子

AWS Lambda - Runtime.ImportModuleError:错误:找不到模块“jmespath”

我正在使用无服务器框架使用 aws lambda,我将运行时从 更改nodejs8.10nodejs10.x,然后我得到了一个错误跟踪,

{"errorType":"Runtime.ImportModuleError","errorMessage":"Error: Cannot find module 'jmespath'","stack":["Runtime.ImportModuleError: Error: Cannot find module 'jmespath'","    at _loadUserApp (/var/runtime/UserFunction.js:100:13)","    at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)","    at Object.<anonymous> (/var/runtime/index.js:36:30)","    at Module._compile (internal/modules/cjs/loader.js:701:30)","    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)","    at Module.load (internal/modules/cjs/loader.js:600:32)","    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)","    at Function.Module._load (internal/modules/cjs/loader.js:531:3)","    at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)","    at startup (internal/bootstrap/node.js:283:19)"]}
Run Code Online (Sandbox Code Playgroud)

这个问题的原因是什么,如何解决?

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

12
推荐指数
1
解决办法
1万
查看次数

我可以使用 aws cli 获取 lambda 函数触发器信息吗?

我正在处理一个无服务器项目,并且只能访问 aws cli,所以我想获取事件等函数的触发信息,并且由于我使用 sns 主题来触发该函数,所以我想获取该主题infomation 和 arn,我尝试了不同的选项,例如,

list-event-source-mapping- 返回一个空数组

get-function: 不具有该值

我是否有办法使用 aws cli 获取函数的触发信息?

amazon-web-services aws-cli aws-lambda

8
推荐指数
1
解决办法
5565
查看次数

AWS Textract StartDocumentAnalysis 函数未向 SNS 主题发布消息

我正在使用 AWS Textract 并且我想分析一个多页文档,因此我必须使用异步选项,所以我首先使用了startDocumentAnalysis函数,我得到了一个 JobId 作为返回,但它需要触发一个我设置为的函数当 SNS 主题收到消息时触发。

这些是我的无服务器文件和处理程序文件。

provider:
  name: aws
  runtime: nodejs8.10
  stage: dev
  region: us-east-1
  iamRoleStatements:
    - Effect: "Allow"
      Action:
       - "s3:*"
      Resource: { "Fn::Join": ["", ["arn:aws:s3:::${self:custom.secrets.IMAGE_BUCKET_NAME}", "/*" ] ] }
    - Effect: "Allow"
      Action:
        - "sts:AssumeRole"
        - "SNS:Publish"
        - "lambda:InvokeFunction"
        - "textract:DetectDocumentText"
        - "textract:AnalyzeDocument"
        - "textract:StartDocumentAnalysis"
        - "textract:GetDocumentAnalysis"
      Resource: "*"

custom:
  secrets: ${file(secrets.${opt:stage, self:provider.stage}.yml)}

functions:
  routes:
    handler: src/functions/routes/handler.run
    events:
      - s3:
          bucket: ${self:custom.secrets.IMAGE_BUCKET_NAME}
          event: s3:ObjectCreated:*

  textract:
    handler: src/functions/routes/handler.detectTextAnalysis
    events:
      - sns: "TextractTopic"

resources:
  Resources: …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-sdk aws-lambda aws-sdk-nodejs amazon-textract

7
推荐指数
3
解决办法
1868
查看次数

无服务器:部署错误 S3 存储桶已存在于堆栈中

我正在尝试部署一个 serverless 项目,该项目在 serverless.yml 文件中具有 s3 存储桶创建 cloudformation,但问题是当我尝试部署时,它说 s3 存储桶已经存在并且部署失败。

我知道 s3 存储桶名称应该是全局唯一的,而且我非常确定它是我正在使用的唯一名称,即使更改为其他名称,它仍然表示相同。

它说存在 s3 存储桶的 cloudformation 堆栈实际上是新创建的堆栈,不确定如何解决此问题。谁能帮我解决这个问题并告诉我如何解决部署问题和问题的原因:)。

提前致谢。

amazon-s3 amazon-web-services aws-cloudformation serverless-framework serverless

5
推荐指数
3
解决办法
4587
查看次数

如何忽略 Jest 中的空测试文件抛出错误

我正在做一个项目,我想维护它的文件夹结构,所以对于每个控制器文件,我都有一个controller.test文件,但有时,我可能有空的测试文件,由于某些原因,当我遇到这种情况时,Jest 会抛出错误,由于文件数量巨大,因此很难从大量空的测试文件消息中找到测试失败。

Jest 是否有任何配置可以防止在空测试文件上抛出错误消息?

testing unit-testing jestjs

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