我尝试使用say-asterpret-as让 Alexa 说出数字中的数字
示例 - 9822 不得读为单词而是“9,8,2,2”
我尝试过的两种方法之一如下:
this.emit(':tell',"Hi "+clientname+" your "+theIntentConfirmationStatus+" ticket is sent to "+ "<say-as interpret-as='digits'>" + clientno + "</say-as>",'backup');
Run Code Online (Sandbox Code Playgroud)
另一件是这样的:
this.response.speak("Hi "+clientname+" your "+theIntentConfirmationStatus+" ticket is sent to "+ "<say-as interpret-as='digits'>" + clientno + "</say-as>");
Run Code Online (Sandbox Code Playgroud)
两者都没有工作,而是在开发一个单独的新功能。
我试图使用 Dynamodb 流和 ProcessPoolExecutor 同时触发 lambda。这是我收到的错误。
场景是当一堆记录(例如 1000 条记录)落入 dynamodb(批量大小 10)时,流会触发 lambda。我之前使用过 ThreadPoolExecutor,它可以工作,但是在一个批次的 10 个进程中,只有 5-8 条记录被处理,剩下的就剩下了。每条记录大约需要 50 秒才能完成。AWS lambda 的 5 分钟限制是否跳过了 ThreadPoolExecutor 中的其他记录。另外,使用 ProcessPoolExecutor 将帮助我解决 ThreadPoolExecutor 的问题???
[Errno 38] Function not implemented: OSError
Traceback (most recent call last):
File "/var/task/ycf_calculator.py", line 464, in main
with ProcessPoolExecutor(max_workers=25) as executor:
File "/var/lang/lib/python3.6/concurrent/futures/process.py", line 390, in __init__
EXTRA_QUEUED_CALLS)
File "/var/lang/lib/python3.6/multiprocessing/context.py", line 102, in Queue
return Queue(maxsize, ctx=self.get_context())
File "/var/lang/lib/python3.6/multiprocessing/queues.py", line 42,in __init__
self._rlock = ctx.Lock()
File "/var/lang/lib/python3.6/multiprocessing/context.py", line 67, in Lock …Run Code Online (Sandbox Code Playgroud) 我目前正在致力于在 aws lambda 上部署 python 包。使用 virtualenv 和 zip 工具,我可以轻松创建 lambda zip 文件,上传到 aws 并运行它。我使用以下博客来创建包: https: //joarleymoraes.com/hassle-free-python-lambda-deployment/。
但是,我需要使用构建工具将我的代码与公司中的 Jenkins 集成。我们使用 Maven 进行构建,我也需要遵循同样的方法。
我查看了maven-exec-plugin,了解如何按照博客中的步骤使用虚拟环境并创建 zip 文件。但是,我无法按照 Maven 教程中提到的步骤进行操作。
有人遇到过同样的问题吗?如果是这样,你是如何解决的?例如,您如何配置 pom.xml 来为 python aws lambdas 创建部署包?
快速帮助将受到高度赞赏。谢谢
我的目标是拥有一个动态框架,我可以在其中外部构建库 (DLL) 并将它们放置在 S3 存储桶中。在所需的执行时间,Lambda 函数必须有某种方式从 s3 存储桶加载 DLL 并实例化它。具有 .NET core 2.0+ 的 AWS 是否支持此功能?我没有找到太多与此相关的文档。
请求指点
我正在启动 AWS Lambda,并且爱上了 Chalice。据我了解,它与 Flask 具有相同的想法,但使用所有请求“无服务器”。我想将一个复杂的结构与几个 lambda 脚本文件放在一起。我找不到这样的例子。
\n\n在此处的更新说明中,它说从 0.4 版本开始添加的内容似乎正是我正在寻找的内容。在这个例子中,它展示了如何从文件中提取数据从“chalicelib”文件夹
\n\n遵循这个逻辑可以在“chalicelib”中创建多个文件夹,就好像每个文件夹代表我的应用程序的一个模块,并且在文件夹中每个文件将是带有一段源代码的路径?
\n\n我想知道这是否是一个可行的解决方案:
\n\napp/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 requirements.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 app.py\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 chalicelib\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 users\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 route.py\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 controller.py\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 teams\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 parameters.py\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 controller.py\nRun Code Online (Sandbox Code Playgroud)\n\n应用程序.py:
\n\nimport chalicelib\nRun Code Online (Sandbox Code Playgroud)\n\nchalicelib > __init__.py:
\n\nfrom . import users, teams\nRun Code Online (Sandbox Code Playgroud)\n\nchalicelib > 用户 > __init__.py:
\n\nfrom . import route\nRun Code Online (Sandbox Code Playgroud)\n\nchalicelib>用户>route.py:
\n\nfrom app import app\nfrom . …Run Code Online (Sandbox Code Playgroud) 几天前我开始使用 Lambda。每个 lambda 调用都是我拥有的 CRON 作业的执行。我注意到非常简单的任务会超时(5 分钟),这些任务不会消耗大量内存/CPU,并且在本地运行它们时,确实花费了不到 20 秒的时间。
然后我将此代码添加到 lambda 的主文件中:
const libCpuUsage = require('cpu-usage');
libCpuUsage(1000, function (load) {
if (load > 60)
console.log("\rCPU LOAD: " + load + "% ");
});
Run Code Online (Sandbox Code Playgroud)
我在日志中看到“CPU 负载:100%”(有时)
我的问题是:
我最近开始在我的节点 lambda 函数中使用 dynamodb dax,但是使用“amazon-dax-client”框架,我无法再通过框架发出的 http 请求透明地捕获,如下所示;
const AWS = AWSXRay.captureAWS(require('aws-sdk'));
const dynamoDB = AWSXRay.captureAWSClient(new AWS.DynamoDB(defaults.db.config));Run Code Online (Sandbox Code Playgroud)
我知道我可以创建异步捕获。但我想知道是否有更好的方法来做到这一点,就像以前的方法一样,以及我是否有人设法捕获使用 dax-client 发出的请求,其方式与使用 aws 框架的 dynamo 客户端相同。
如何在 python 中延迟调用 lambda?在 lambda 函数中执行某行代码后,我需要使函数休眠 5 秒,然后继续。
我怎样才能在Python中做到这一点。我尝试了简单的方法 sleep(5),但它不起作用。
我正在尝试使用 boto3 从 aws lambda 批量写入 dynamo db 时添加条件表达式。但我不断收到此错误。
with table.batch_writer(overwrite_by_pkeys=primary_key) as batch:
for data in array_of_data:
batch.put_item(
Item=data,
ConditionExpression='attribute_not_exists(partition_key) AND attribute_not_exists(range_key)'
)
Run Code Online (Sandbox Code Playgroud)
数据具有键值对,无需条件表达式即可正常工作。
我正在尝试在nodejs 中创建一个lambda。根据文档,我创建了一个包含 lambda 函数、node_modules 和 package.json 的 zip 文件。我的 lambda zip 文件的结构如下:
my-lambda-function/
|
|---util/
| |
| |--util-1.js
| |--util-2.js
|---api/
| |
| |--api-call-1.js
| |--api-call-2.js
|
|---config
| |
| |--env/
| | |--env-file-1.js
| |
| |--config-file-1.js
| |--config-file-2.js
|
|---node_modules/
| |
| |--module-1/
| |--module-2/
|---index.js
|---package.json
Run Code Online (Sandbox Code Playgroud)
为了创建这个 zip 文件,我使用了 gulp 任务,
gulp.task('zip', ['test'], () => {
const buildArtifact = ['index.js', 'package.json', 'util/**',
'config/**', 'api/**'];
Object.keys(pjson.dependencies).forEach((dep) => {
buildArtifact.push(`node_modules/${dep}/**/*`);
});
const zipFile = `${pjson.name}.zip`; …Run Code Online (Sandbox Code Playgroud) aws-lambda ×10
python ×2
boto3 ×1
c# ×1
chalice ×1
deployment ×1
dll ×1
dynamic ×1
maven ×1
node.js ×1
python-2.7 ×1
python-3.x ×1
sleep ×1