标签: serverless

如何从 AWS Lambda Serverless 执行 .jar 文件?

我试过下面的代码。

var exec = require('child_process').execFile;
  var runCmd = 'java -jar ' + process.env.LAMBDA_TASK_ROOT + '/src/' + 'myjar.jar'

  exec(runCmd,
    function (err, resp) {
      if (err) {
        cb(null, { err: err})

      } else {
        cb(null, { resp: resp})
      }
    )
Run Code Online (Sandbox Code Playgroud)

在这里,我也将我的 jar 文件放在根文件夹和 src 文件夹中。但它给出了我的以下错误。我已经添加了带有代码的 .jar 文件。但是出现以下错误。

"err": {
    "code": "ENOENT",
    "errno": "ENOENT",
    "syscall": "spawn java -jar /var/task/src/myjar.jar",
    "path": "java -jar /var/task/src/myjar.jar",
    "spawnargs": [],
    "cmd": "java -jar /var/task/src/myjar.jar"
}
Run Code Online (Sandbox Code Playgroud)

那么如何,我可以在 AWS Lambda 环境中执行这个 .jar 文件吗?请帮我。

jar amazon-web-services aws-lambda serverless

6
推荐指数
2
解决办法
6499
查看次数

使用 SQS、SNS 和 APIGW 进行无服务器或 SAM 和本地开发

我正在评估无服务器 v AWS SAM CLI。我试图了解在使用以下内容进行开发时如何促进本地开发工作流程:-

  • Lambda 是用 Python 编写的
  • 由带有 SES 邮件负载的 SNS 通知触发
  • 读取 S3 对象
  • 读写dynamodb
  • 写入 SQS
  • 写到 SNS 话题

我可以从文档中看到无服务器具有以下本地选项:-

  • S3
  • 动态数据库
  • SNS 事件入站

如果有以下解决方案,则不明显:-

  • API 网关本地支持 python lambdas
  • 写入 SQS
  • 写入 SNS

我可以从 SAM 文档中看到,可以针对本地 DynamoDB 测试 python Lambdas。不清楚还有什么可能,或者您是否必须将其指向一个实际的 AWS 实例(S3、SQS 等)

任何指针?

amazon-web-services aws-sam-cli serverless

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

将 multipart/form-data POST 到 Serverless Next.js API(在 Vercel / Now.sh 上运行)

我正在使用 Vercel Serverless 函数来处理上传到 Digital Ocean Spaces 的文件(与 AWS S3 相同的 API)。但是,我在请求处理程序中处理多部分/表单数据时遇到了问题。

在前端,我使用 fetch 来发布带有文件和几个文本字段的 FormData() 对象。当在标题上记录主体和服务器时,我可以按预期看到那里的所有内容,但是当使用 Multer 处理多部分时(我也尝试了其他几个类似的包),我无法检索任何已发布的字段或文件。

另外值得注意的是,当使用 Postman 测试 POST 请求时,我遇到了完全相同的问题,因此我确信问题出在无服务器功能上。

前端:

const handleSubmit = async (values) => {
    const formData = new FormData();

    // build my Form Data from state.
    Object.keys(values).forEach(key => {
      formData.append(key, values[key]);
    });

    const response = await fetch("/api/post-submission", {
      method: "POST",
      headers: {
        Accept: "application/json",
      },
      body: formData,
    });
    const json = await response.json();
  };
Run Code Online (Sandbox Code Playgroud)

无服务器处理程序:

const util = require("util");
const multer = …
Run Code Online (Sandbox Code Playgroud)

forms multipartform-data node.js serverless vercel

6
推荐指数
2
解决办法
2万
查看次数

将多个 Azure Functions 部署到同一应用服务计划的定价(弹性高级计划 - EP1)

我计划将一组 Azure Functions(~15)推广到生产环境。今天,我们将消耗计划用于开发目的,但该计划的冷启动性质可能会影响整体体验。

我一直在寻找部署应用程序的最佳成本效益计划,发现 Elastic Plan EP1 可以满足我们的需求(例如,无冷启动、快速横向扩展、“...在多个功能应用程序之间共享应用程序服务计划” ...“, ETC)。

问题是我没有找到这个计划的具体收费方式......

在所公开的场景中,我是否需要为每个大约 388.67 雷亚尔支付 388.67 雷亚尔的费用。该计划部署了 15 项职能?或者,该费用是针对计划本身而各职能部门将共享该计划的资源吗?

而且,计划中的所有功能应用程序都会预热?

在此输入图像描述


编辑:

即使没有在官方文档中找到明确的答案,我还是创建了 EP1 计划并部署了功能。

  1. 我发现对于给定的应用程序服务计划(例如 Elastic Plan EP1),我可以向其部署许多功能应用程序,但它们共享该计划的资源,从而增加了“应用程序密度”。
  2. 我仍然没有得到冷启动问题的答案:对于该计划,如果我向其部署 15 个功能应用程序,它们会预热吗?我发现我可以在每个功能应用程序中设置“pre-warmed=1”,但仍然遇到冷启动。

azure azure-functions serverless

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

错误无法为无服务器自定义域设置基本域映射

在 serverless.yml 中,在自定义下,我有以下代码(此处带有虚拟值):

customDomain:
    domainName: myhost.mydomain.com
    basePath: ''
    stage: ${self:provider:stage}
    createRouteS3Record: true
    endpointType: 'edge'
    securityPolicy: tls_1_2
    certificateArn: 'arn:aws:acm:.................'
    hostZoneId: 'P4OCK4S1PSTZK' 
Run Code Online (Sandbox Code Playgroud)

当我执行无服务器部署时,一切都很顺利。为我的函数正确生成了 Api。(在我拥有的功能下events: http

但是,在部署 API 生成的 lambda 后,我收到以下错误:

Error: Error: Unable to setup base domain mappings for myhost.mydomain.com
Run Code Online (Sandbox Code Playgroud)

除了https://forum.serverless.com/t/error-unable-to-setup-base-domain-mappings/11395之外,我没有得到太多信息 不知道如何在无服务器中包含 api 版本(如果这是解决方案) 。

amazon-web-services aws-api-gateway serverless custom-domain aws-serverless

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

GCP / Cloud Functions 是否有像 AWS Lambda Layers 这样的库概念?

GCP / Cloud Functions 是否有类似于 AWS Lambda Layers 的库概念?这意味着,如果我们想减少代码重复并为 Google Cloud Functions 推出通用库层,我们会怎么做?

google-cloud-platform google-cloud-functions serverless

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

无法在 Cloudflare Worker 脚本上创建 MD5 哈希

我正在尝试实现请求的自定义授权,在将请求发送到微服务之前,我使用 Cloudflare 工作脚本进行授权,但无法通过工作脚本生成 MD5 哈希。

我在网上浏览了很多博客和文章,但未能达到最终结果。非常感谢任何帮助。

下面提到的是我正在尝试做的事情的一瞥

 addEventListener('fetch', event => {
    importScripts('https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/md5.js');
    let test = CryptoJS.MD5('test').toString();
    console.log(test);
    event.respondWith(handleRequest(event.request))
})
Run Code Online (Sandbox Code Playgroud)

javascript node.js cloudflare serverless

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

AWS CloudFormation 堆栈创建失败,因为堆栈中已存在资源但已被删除

创建新的 CloudFormation 堆栈时,CREATE 失败并出现以下错误:

[RESOURCE] already exists in stack [DELETE_COMPLETE status stack ARN]
Run Code Online (Sandbox Code Playgroud)

我已经验证该资源不再位于 AWS 账户中。

aws-cloudformation serverless

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

NestJS 和 Serverless - 处理程序“handler”不是一个函数

我正在尝试使用无服务器框架将 NestJS 实现为 AWS 无服务器功能。

我正在关注这个官方文档,我的代码与文档中的完全一样。但是,当我启动它时,我收到错误Failure: offline: handler 'handler' in [..] is not a function

如果我进入我编译的源代码main.js并将其更改exports.handler = handler;module.exports.handler = handler;它就开始工作。

我还尝试更改代码main.ts以适应这一点,但这没有帮助,因为 webpack 的编译方式不同。

// main.ts
const handler ...;
module.exports.handler = handler;
Run Code Online (Sandbox Code Playgroud)

这是我的main.ts

import { ValidationPipe } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
import { Callback, Context, Handler } from 'aws-lambda';
import serverlessExpress from '@vendia/serverless-express';
import { AppModule } from './app.module';

let server: Handler;

async function …
Run Code Online (Sandbox Code Playgroud)

typescript serverless-framework serverless nestjs

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

Python 在尝试无服务器部署时出错

我正在尝试运行命令serverless deploy,但即使我有 python,我也会收到以下错误:

Stack xxxxxx failed to deploy (0s)
Environment: win32, node 14.16.1, framework 3.2.1, plugin 6.0.0, SDK 4.3.1
Docs:        docs.serverless.com
Support:     forum.serverless.com
Bugs:        github.com/serverless/serverless/issues

Error:
Error: `python3 -m pip help install` Exited with code 9009
Run Code Online (Sandbox Code Playgroud)

我的python版本是Python 3.9.6,我的pip版本是pip 21.1.3

论坛里好像没有类似的问题。

python pip serverless-framework serverless

6
推荐指数
0
解决办法
605
查看次数