我试过下面的代码。
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 文件吗?请帮我。
我正在评估无服务器 v AWS SAM CLI。我试图了解在使用以下内容进行开发时如何促进本地开发工作流程:-
我可以从文档中看到无服务器具有以下本地选项:-
如果有以下解决方案,则不明显:-
我可以从 SAM 文档中看到,可以针对本地 DynamoDB 测试 python Lambdas。不清楚还有什么可能,或者您是否必须将其指向一个实际的 AWS 实例(S3、SQS 等)
任何指针?
我正在使用 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) 我计划将一组 Azure Functions(~15)推广到生产环境。今天,我们将消耗计划用于开发目的,但该计划的冷启动性质可能会影响整体体验。
我一直在寻找部署应用程序的最佳成本效益计划,发现 Elastic Plan EP1 可以满足我们的需求(例如,无冷启动、快速横向扩展、“...在多个功能应用程序之间共享应用程序服务计划” ...“, ETC)。
问题是我没有找到这个计划的具体收费方式......
在所公开的场景中,我是否需要为每个大约 388.67 雷亚尔支付 388.67 雷亚尔的费用。该计划部署了 15 项职能?或者,该费用是针对计划本身而各职能部门将共享该计划的资源吗?
而且,计划中的所有功能应用程序都会预热?
编辑:
即使没有在官方文档中找到明确的答案,我还是创建了 EP1 计划并部署了功能。
在 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
GCP / Cloud Functions 是否有类似于 AWS Lambda Layers 的库概念?这意味着,如果我们想减少代码重复并为 Google Cloud Functions 推出通用库层,我们会怎么做?
我正在尝试实现请求的自定义授权,在将请求发送到微服务之前,我使用 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) 创建新的 CloudFormation 堆栈时,CREATE 失败并出现以下错误:
[RESOURCE] already exists in stack [DELETE_COMPLETE status stack ARN]
Run Code Online (Sandbox Code Playgroud)
我已经验证该资源不再位于 AWS 账户中。
我正在尝试使用无服务器框架将 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) 我正在尝试运行命令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
论坛里好像没有类似的问题。
serverless ×10
node.js ×2
aws-lambda ×1
aws-sam-cli ×1
azure ×1
cloudflare ×1
forms ×1
jar ×1
javascript ×1
nestjs ×1
pip ×1
python ×1
typescript ×1
vercel ×1