我正在尝试使用新的流式音频API.以下回复是否有效?当我在我的设备上测试它时,我得到"技能有问题"错误.
这是我的AWS-lambda函数的代码:
def lambda_handler(event, context):
return {
"response": {
"directives": [
{
"type": "AudioPlayer.Play",
"playBehavior": "REPLACE_ALL",
"audioItem": {
"stream": {
"token": "12345",
"url": "http://emit-media-production.s3.amazonaws.com/pbs/the-afterglow/2016/08/24/1700/201608241700_the-afterglow_64.m4a",
"offsetInMilliseconds": 0
}
}
}
],
"shouldEndSession": True
}
}
Run Code Online (Sandbox Code Playgroud) 我需要从单个lambda函数连接弹性缓存和dynamo db.我的代码是
exports.handler = (event, context, callback) => {
var redis = require("redis");
var client;
function connectRedisClient() {
client = redis.createClient(6379, "dgdfgdfgdfgdfgdfgfd.use1.cache.amazonaws.com", { no_ready_check: true });
}
connectRedisClient();
client.set('sampleKey', 'Hello World', redis.print);
console.log("set worked");
client.quit();
var AWS = require("aws-sdk");
var docClient = new AWS.DynamoDB.DocumentClient();
var table = "dummy";
var year = 2015;
var title = "The Big New Movie";
var params = {
TableName: table,
Item: {
"userid": "manafcj",
"year": year,
"title": title,
"test1": [645645, 7988],
"info": {
"plot": "Nothing …Run Code Online (Sandbox Code Playgroud) caching amazon-web-services amazon-elasticache amazon-vpc aws-lambda
我有一个非常简单的节点lambda函数,它读取其中的打包文件的内容.我将代码上传为zip文件.目录结构如下.
index.js
readme.txt
Run Code Online (Sandbox Code Playgroud)
然后在我的index.js文件中:
fs.readFile('/var/task/readme.txt', function (err, data) {
if (err) throw err;
});
Run Code Online (Sandbox Code Playgroud)
我一直收到以下错误NOENT:没有这样的文件或目录,打开 '/var/task/readme.txt'.
我也试过./readme.txt.
我错过了什么?
我通过API GW调用的node4 lambda函数生成一系列缓慢的API调用.为了不让用户等到一切都完成,我打算让我的代码看起来像这样:
function(event, context, callback) {
...
// Return users API GW call now
callback(null, data);
// Do the heavy lifting afterwards.
longApiCall().then(otherLongApiCalls)
}
Run Code Online (Sandbox Code Playgroud)
但现在我在AWS文档中读到:"回调将等到Node.js运行时事件循环为空,然后冻结进程并将结果返回给调用者"
这是否意味着API GW在longApiCalls完成之前或之后返回响应数据?
如果之后,是否有建议的方法如何在一切结束之前"早退"?
callback amazon-web-services node.js aws-lambda aws-api-gateway
我正在尝试为我的应用程序自动化部署管道.这是自动化架构,我想出了:

如您所见,我使用codePipeline和codeBuild来自动部署.我的后端基于无服务器框架,它在kick sls deploy命令上部署lambda函数.这就是我没有使用codeDeploy进行传统部署的原因.buildspec.yml文件看起来像这样:
version: 0.1
phases:
install:
commands:
– apt-get -y update
– npm install -g serverless@1.9.0
build:
commands:
– cd nj2jp/serverless && npm install
post_build:
commands:
– serverless deploy –verbose
artifacts:
files:
– serverless.yml
discard-paths: yes
Run Code Online (Sandbox Code Playgroud)
现在,我有3个关于CodeBuild和Serverless的问题:
问题1:该命令sls deploy取决于一个名为config.ymldb password的秘密.此文件不会被检入git.您认为config.yml在codeBuild中包含的最佳方式是什么?
问题2: 如果我们必须使用codeDeploy部署传统的EC2应用程序,则可以使用AWS完成回滚.在无服务器的情况下,我们不使用codeDeploy,无服务器也支持回滚功能.我们如何在codePipeline中利用无服务器回滚? …
amazon-web-services aws-lambda aws-codepipeline serverless-framework aws-codebuild
我在VS 2013中处理现有的Windows服务项目.
我已经添加了一个web API Controller类,我现在无法记住,如果它是一个(v2.1)或(v1)控制器类....无论如何我称之为SyncPersonnelViaAwsApiController
我试图从AWS lambda中调用它...所以如果我调用GET
public string Get(int id)
{
return "value";
}
Run Code Online (Sandbox Code Playgroud)
with const req = https.request(' https:// actualUrlAddress/api/SyncPersonnelViaAwsApi/Get/4 ',(res)=> {
我知道returned body: undefined"value"哪个是正确的.但是,如果我试着打电话
const req = https.request('https://actualUrlAddress/api/SyncPersonnelViaAwsApi/SapCall', (res) => {
Run Code Online (Sandbox Code Playgroud)
我明白了 returned body: undefined{"Message":"The requested resource does not support http method 'GET'."}
//// POST api/<controller>
public string SapCall([FromBody]string xmlFile)
{
string responseMsg = "Failed Import User";
if (!IsNewestVersionOfXMLFile(xmlFile))
{
responseMsg = "Not latest version of file, update not performed";
}
else
{
Business.PersonnelReplicate personnelReplicate …Run Code Online (Sandbox Code Playgroud) 在下面的代码中,参数event和context指的是什么?
module.exports.convertTime = (event, context, callback) => {
const response = {
statusCode: statusCode,
body: JSON.stringify({
message: `${convertedTime}`
})
};
callback(null, response);
}
Run Code Online (Sandbox Code Playgroud) 使用Python 3.7运行时抛出的未处理异常似乎没有像在Python 3.6中那样记录到CloudWatch.如何在Python 3.7中设置记录器来捕获此信息?
1.像这样创建一个lambda函数:
import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
def lambda_handler(event, context):
logger.info("This shows fine")
raise Exception("I failed")
Run Code Online (Sandbox Code Playgroud)
2.使用Python 3.6运行时运行此函数
START RequestId: a2b6038b-0e5f-11e9-9226-9dfc35a22dcc Version: $LATEST
[INFO] 2019-01-02T07:25:52.797Z a2b6038b-0e5f-11e9-9226-9dfc35a22dcc //This shows fine
I failed: Exception
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 9, in lambda_handler
raise Exception("I failed")
Exception: I failed
END RequestId: a2b6038b-0e5f-11e9-9226-9dfc35a22dcc
REPORT RequestId: a2b6038b-0e5f-11e9-9226-9dfc35a22dcc Duration: 1.12 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 21 MB
Run Code Online (Sandbox Code Playgroud)
2.切换到Python 3.7运行时并再次运行...没有堆栈跟踪
START …Run Code Online (Sandbox Code Playgroud) 我有一个启动 lambda 的简单步骤函数,我正在寻找一种将参数(事件/上下文)传递给几个后续任务中的每一个的方法。我的步骤函数如下所示:
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Parameters": {
"TableName": "table_example"
},
"Resource": "arn:aws:lambda:ap-southeast-2:XXXXXXX:function:fields_sync",
"End": true
}
}
}
Run Code Online (Sandbox Code Playgroud)
在用 Python 编写的 lambda 中,我使用了一个简单的处理程序,它是:
def lambda_handler(event, context):
#...
Run Code Online (Sandbox Code Playgroud)
事件和上下文如下所示(检查日志):
开始请求 ID:f58140b8-9f04-47d7-9285-510b0357b4c2 版本:$LATEST
我找不到将参数传递给此 lambda 并在脚本中使用它们的方法。本质上,我想要做的是运行相同的 lambda,将几个不同的值作为参数传递。
有人可以指出我正确的方向吗?
嗨,有谁知道我怎样才能知道 AWS lambda 何时将他们的支持升级到 python 3.9?他们上一次升级到 3.8 是在 2019 年,距离 v3.9 发布已经有一段时间了。
我很想使用最新的 v3.9 语言功能,但遗憾的是无法在 AWS 中使用
aws-lambda ×10
node.js ×4
python ×3
amazon-vpc ×1
c# ×1
caching ×1
callback ×1
get ×1
javascript ×1
lambda ×1
post ×1
python-3.9 ×1
python-3.x ×1