标签: aws-lambda

使用Alexa流式传输音频的最简单示例

我正在尝试使用新的流式音频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)

python aws-lambda alexa-skills-kit

13
推荐指数
1
解决办法
8797
查看次数

无法从我的vpc配置的lambda函数连接dynamo Db

我需要从单个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

13
推荐指数
2
解决办法
2599
查看次数

读取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.

我错过了什么?

lambda amazon-web-services node.js aws-lambda

13
推荐指数
3
解决办法
1万
查看次数

回调后保证aws lambda执行吗?

我通过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

13
推荐指数
1
解决办法
4734
查看次数

具有无服务器框架的AWS codeBuild/codePipeline

我正在尝试为我的应用程序自动化部署管道.这是自动化架构,我想出了: 自动化架构

如您所见,我使用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

13
推荐指数
1
解决办法
2561
查看次数

可以使用API​​ GET但不能使用API​​ POST

我在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)

c# post get node.js aws-lambda

13
推荐指数
1
解决办法
430
查看次数

AWS Lambda 函数调用中的事件和上下文是什么?

在下面的代码中,参数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)

javascript node.js aws-lambda

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

AWS Lambda Python 3.7运行时异常日志记录

使用Python 3.7运行时抛出的未处理异常似乎没有像在Python 3.6中那样记录到CloudWatch.如何在Python 3.7中设置记录器来捕获此信息?

也发布在AWS论坛上

复制:

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)

python python-3.x amazon-cloudwatch aws-lambda

13
推荐指数
1
解决办法
1124
查看次数

将输入(参数)从阶跃函数传递并使用到 lambda 任务

我有一个启动 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,将几个不同的值作为参数传递。

有人可以指出我正确的方向吗?

python amazon-web-services aws-lambda aws-step-functions

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

AWS lambda 什么时候支持 python 3.9?

嗨,有谁知道我怎样才能知道 AWS lambda 何时将他们的支持升级到 python 3.9?他们上一次升级到 3.8 是在 2019 年,距离 v3.9 发布已经有一段时间了。

我很想使用最新的 v3.9 语言功能,但遗憾的是无法在 AWS 中使用

amazon-web-services aws-lambda python-3.9

13
推荐指数
2
解决办法
2211
查看次数