我花了整整一周的时间尝试这个,所以这是一个冰雹玛丽.
我试图将Tesseract OCR打包到运行在Python上的AWS Lambda(我也使用PILLOW进行图像预处理,因此选择了Python).
我理解如何使用virtualenv将Python软件包部署到AWS,但是我似乎无法找到将实际的Tesseract OCR部署到环境中的方法(例如/ env /)
pip install py-tesseract在Python包装成/ ENV /的成功部署的结果,但是这依赖于一个单独的(本地)安装正方体的pip install tesseract-ocr在我错误输出之前做的事情让我只有一定距离,我假设是由于缺少leptonica依赖.但是,我不知道如何将leptonica打包成/ env /(如果可能的话)Run Code Online (Sandbox Code Playgroud)tesseract_ocr.cpp:264:10: fatal error: 'leptonica/allheaders.h' file not found #include "leptonica/allheaders.h"
Run Code Online (Sandbox Code Playgroud)Processing dependencies for python-tesseract==0.9.1 Searching for python-tesseract==0.9.1 Reading https://pypi.python.org/simple/python-tesseract/ Couldn't find index page for 'python-tesseract' (maybe misspelled?) Scanning index of all packages (this may take a while) Reading https://pypi.python.org/simple/ No local packages or download links found for python-tesseract==0.9.1
任何指针都将非常感激.
所以,
我正在使用AWS Lambda的自动日志记录.它生成的日志流的名称如下所示:2016/05/18/[$LATEST]99577d10a8cb420cb124a90c20d5653a
我可以使用'aws logs describe-log-streams'查询可用的日志流,并获取一些包含这些名称的JSON以及其他元数据.
但是,如果我尝试这样做:
aws logs get-log-events --log-group-name /aws/lambda/categorise --log-stream-name "2016/05/18/[$LATEST]99577d10a8cb420cb124a90c20d5653a"
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
A client error (ResourceNotFoundException) occurred when calling the GetLogEvents operation: The specified log stream does not exist.
Run Code Online (Sandbox Code Playgroud)
因此,如果describe log streams命令返回的日志流名称实际上不存在.它是什么?
我已经尝试了一下这个命令,删除它[$LATEST],引用它,逃避它.但没有快乐.有没有人设法使用aws cli检索他们的Lambda日志事件?
我正在测试aws lambda,使用4.3版本的nodejs.我能够在控制台测试中成功完成处理函数中的所有语句,包括连接到我们的vpc中的mongodb主机.但是,该功能总是超时.我发现了几个讨论使用回调,设置上下文属性和IAM角色权限的帖子和资源,但无论我做什么,它总是会超时.当前代码:
'use strict';
var Mongoose = require('mongoose');
var Device = require('./device_model');
var Alarm = require('./alarm_model');
var Event = require('./event_model');
var mongoConnection = process.env.MONGO_URL;
var connection = Mongoose.connect(mongoConnection);
Mongoose.connection.once('open', function() {
console.log("Connecting to mongo at: " + mongoConnection);
console.log("Mongoose connection in lambda opened");
});
Mongoose.connection.on('error', function(){
console.error("Error creating mongoose connection in lambda, exiting!");
process.exit(1);
});
exports.check_alarms = function(event, context, callback) {
context.callbackWaitsForEmtpyEventLoop = false;
console.log("The incoming event: " + JSON.stringify(event));
var device = null;
Device.findByUUID(event.uuid, function(error, result){
if(!error){
device = …Run Code Online (Sandbox Code Playgroud) 何时释放lambda中的连接和清理资源.在普通的Node JS应用程序中,我们使用钩子
process.on('exit', (code) => {
console.log(`About to exit with code: ${code}`);
});
Run Code Online (Sandbox Code Playgroud)
但是,这不适用于AWS Lambda.导致睡眠模式下的Mysql连接.我们没有足够的资源用于此类活动连接.AWS文档均未指定实现此目的的方法.
如何接收AWS Lambda容器的停止事件?
我正在使用AWS API Gateway和AWS Lambda.在尝试部署API时,我经常会遇到此类错误消息.错误消息表示选择部署阶段.但我仍然选择并尝试部署!但同样的错误发生!
在这个API中,我有多个具有多种方法的资源.以前我成功地以相同的方式部署这个相同的API.但现在我无法部署它.
请有人帮我修理它.另外:我不使用AWS CLI工具,只使用AWS Web仪表板.
我使用云形成在VPC中创建了一个lambda的堆栈.当我尝试删除整个堆栈时,需要40-45分钟的时间.
我的Iam角色具有以下权限:
Action:
- ec2:DescribeInstances
- ec2:CreateNetworkInterface
- ec2:AttachNetworkInterface
- ec2:DescribeNetworkInterfaces
- ec2:DeleteNetworkInterface
- ec2:DetachNetworkInterface
- ec2:ModifyNetworkInterfaceAttribute
- ec2:ResetNetworkInterfaceAttribute
- autoscaling:CompleteLifecycleAction
- iam:CreateRole
- iam:CreatePolicy
- iam:AttachRolePolicy
- iam:PassRole
- lambda:GetFunction
- lambda:ListFunctions
- lambda:CreateFunction
- lambda:DeleteFunction
- lambda:InvokeFunction
- lambda:GetFunctionConfiguration
- lambda:UpdateFunctionConfiguration
- lambda:UpdateFunctionCode
- lambda:CreateAlias
- lambda:UpdateAlias
- lambda:GetAlias
- lambda:ListAliases
- lambda:ListVersionsByFunction
- logs:FilterLogEvents
- cloudwatch:GetMetricStatistics
Run Code Online (Sandbox Code Playgroud)
如何改善堆栈的删除时间?
有没有办法在 AWS 控制台中按“最近”到最旧来过滤 CloudWatch 日志流?我不得不向下滚动得难以置信的远才能看到我最近的日志消息。
我尝试过按 30 秒 - 5 分钟进行过滤,现在可以使用,我只是认为可能有一种更简单的方法来列出所有日志流,这些日志流从最近的顶部而不是最旧的开始。
我有一个 SQS 队列,我想在消息到达队列时触发 lambda 函数。我已经编写了 lambda 函数,当我单击“测试”按钮时它可以成功运行。当我转到 SQS 并尝试将其配置为 lambda 触发器时,我看到以下错误消息。
我使用相同的用户和角色创建了 SQS 队列和 lambda 函数,并且 lambda 函数对同一角色具有执行权限。
我还添加了 SQS receiveMessage 权限,但它似乎没有什么区别,除非我在设置时做错了什么。
什么可能导致问题?
谢谢你的帮助
我目前正在 nodejs 中创建一个 Dialogflow 聊天机器人,在部署我的代码时,我收到一条错误消息。我试图取消对大多数事情的注释,只留下基本功能代码,但我仍然无法让它工作。我不完全确定这里的问题是什么
'use strict';
import {getAPIresponse} from "./api/index.js";
// const http = require('https');
// const respond = fulfillmentText => {
// return {
// statusCode: 200,
// body: JSON.stringify({
// fulfillmentText
// }),
// headers: {
// "Content-Type": "application/json"
// }
// }
//
// };
module.exports.dining = async (event,context) => {
const incoming= JSON.parse(event.body).queryResult;
console.log(`INCOMING: ${incoming.parameters.hall}`);
const {
displayName
} = incoming.intent;
console.log(displayName);
//const menu = getAPIresponse('https://esb.prod.uds.harvard.edu/api/dining/2.0/','events?locationId=36');
//console.log(menu);
// if(displayName === 'dining'){
// if(incoming.parameters.meal === 'breakfast'){ …Run Code Online (Sandbox Code Playgroud) 我已将查看器请求和源响应 Lambda 函数部署到 CloudFront 分配,这些函数正在触发,但未记录到 CloudWatch。我花了大量时间研究这个主题,并浏览了其他帖子的所有建议,包括:
有趣的是,当我故意将错误编码到一个 Lambda 函数中时,我确实在一个名为/aws/cloudfront/LambdaEdge/<cloudfront distribution id>包含错误日志的组中创建了日志,但是这里的 console.log 语句没有输出。
在我的一生中,我无法弄清楚如何将所有请求(成功和失败)记录到 CloudWatch,其中包含使用 console.log() 的调试语句。
AWSServiceRoleForCloudFrontLogger 包含一个策略AWSCloudFrontLogger:
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:/aws/cloudfront/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
编辑:
以下是 AWS 支持建议的 AWS 角色。我可以确认这有效并解决了问题。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:*:*:*"
]
}
]
}```
Run Code Online (Sandbox Code Playgroud) amazon-web-services amazon-cloudfront aws-lambda aws-lambda-edge
aws-lambda ×10
node.js ×3
amazon-sqs ×1
aws-cli ×1
containers ×1
python ×1
serverless ×1
tesseract ×1
virtualenv ×1