问题标签 [serverless]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
254 浏览

amazon-web-services - 使用 serverless.yaml 创建 SimpleDB 域

因此,我正在使用无服务器框架在 Amazon AWS 上创建一个无服务器应用程序。对于我们的堆栈,我们创建了许多 Lambda 函数、DynamoDB 表、API 网关,现在我们还想添加一个 simpleDB 域。我似乎无法在网上找到任何有关将哪些代码片段添加到 serverless.yaml 以创建 SimpleDB 域的信息。

我写了以下代码,它创建了域但域的名称与预期不符

变量 SimpleDB 定义为

所以当我使用命令部署时

我希望 SimpleDB 表的名称是

git-推送-处理-暂存

相反,我得到了一个具有以下名称的域

git-pushr-api-staging-LogSimpleDBTable-1P7CQH4SGAWGI

序列的最后一位(1P7CQH4SGAWGI)每次都不同。

我们使用完全相同的模式来命名我们的 DynamoDB 表,它们似乎是用正确的名称创建的

我们得到一个具有以下名称的 DynamoDB 表

git-推送-处理-暂存

那么我在这里做错了什么?

0 投票
3 回答
2378 浏览

amazon-web-services - 如何防止第三方应用程序滥用 AWS Lambda

非常有兴趣在 2018 年亲身体验无服务器。已经希望在几个去中心化应用程序项目中实现AWS Lambda的使用。但是,我还不明白如何防止第三方应用滥用端点(甚至可能是竞争对手)滥用端点,从而提高使用成本。

我不是在谈论 DDoS,或者所有流量都来自单个 IP,这可能发生在任何网络上,而是特别是让第三方应用程序的客户直接进行 REST 调用,这会导致您的使用成本上升,因为他们的应用程序在你的“开放”上捎带端点。

例如:

我希望在 AWS Lambda 上创建一个端点,以提供以太坊 ETH/USD 的当前价格。什么会阻止另一个(或每个) dapp 开发人员使用的lambda 端点并导致我的帐户产生过多的账单费用?

0 投票
1 回答
428 浏览

python-3.x - 无服务器:在 lambda 函数中处理 API 密钥解密

我正在实现一个使用第三方库的 API。

第三方库提供了一个需要作为输入传入的密钥。关键是动态的,可以根据消费者/业务场景而变化。lambda 函数应该能够解密密钥。

有人可以建议一种解密密钥的方法吗?我正在探索 aws-kms 方法。

请注意:我已经记下了实现它的 .env 方式。但是,今天我的 API 被一个消费者使用,因此一个 API 密钥。明天,数字将增加(将导致多个键),我可能无法存储/更新该功能。

编辑:我需要通过有效负载传递一些敏感信息。这可以是一个字母数字值。例如 {"sender": "+123", "secret": "encrypted_value"} 客户端和服务器应该共享一个密钥,客户端可以使用该密钥加密信息,服务器(lambda 函数)应该解密它。

任何建议都会很棒!谢谢!

0 投票
1 回答
61 浏览

amazon-web-services - 如何强制不删除流

我部署了一个 CloudFormation Kinesis 流。

然后我从另一个名称的另一个流中进行了新的部署......前一个被删除了。也就是说,它会删除前一个并始终保留最后一个部署。

我在文档中没有找到任何解释如何强制部署不删除 Kinesis 创建的流的内容。

任何想法?

在 serverless.yml 上遵循我的 Kinesis 资源配置

0 投票
4 回答
38743 浏览

aws-lambda - aws-sam-本地环境变量

我在这里关注自述文件:https ://github.com/awslabs/aws-sam-local

我有一个用 python 3.6 编写的 lambda,它类似于这里的 helloworld 示例:https ://github.com/awslabs/aws-sam-local/tree/develop/samples/hello-world/python

template.yml 看起来像这样:

我在 lambda 中有环境变量,但无法在启动时将它们连接起来。文档说我可以创建一个 environment.json 文件并在调用命令上附加以下内容:使用调用的 --env-vars 参数

我的环境文件与示例类似,但出现错误: Unable to find environment variable: api_key

environment.json 看起来像这样:

我运行的命令是这样的:

任何人都可以提供额外的见解吗?

0 投票
0 回答
205 浏览

python - 有没有办法安装包的特定子模块?

我正在sklearn.neural_network.MLPClassifier使用 AWS Lambda 开发一个无服务器项目。

AWS 要求在部署期间将所有依赖项与项目一起上传,有没有办法只安装使用特定分类器所需的文件,这样我就可以节省一些带宽?

0 投票
0 回答
157 浏览

amazon-web-services - 未知命令:在 AWS lambda 上使用 Chromeless 时的协议

有人可以帮我解决这个问题,我正在使用 Chromeless 和 Serverless 运行 AWS Lambda,我一直收到同样的错误。

我的代码:

错误:

我在网上找不到任何可以提供帮助的东西,所以我将此代码作为测试运行,但它仍然失败,一旦我尝试将任何内容传递到屏幕截图中,它似乎就失败了,它不起作用.evaluate().html()两者都不起作用。如果有人可以提供帮助,我将不胜感激,我可以提供所需的任何其他文件!

0 投票
1 回答
6453 浏览

aws-lambda - 无服务器中一个端点的多种授权类型

我正在为我的 API 做一些无服务器和授权器的试验。我有一个用例,我有两个不同的应用程序,一个 iOS 和一个 Angular。iOS 应用程序使用联合身份的开发人员身份验证,因为它使用第三方 api 进行身份验证,而 Angular 应用程序使用 Cognito 用户池进行身份验证。

因此,我可以使用用户池授权器指定一个功能,并且工作正常,对于我的开发人员身份验证用户,我正在使用 AWS_IAM 授权器,并且工作正常。

但是现在我希望我的开发人员经过身份验证的身份和我的用户池用户能够访问相同的 api 网关端点。那么如何为一个端点使用两种不同类型的授权者呢?

任何有这方面经验的人都可以为我指明正确的方向吗?

0 投票
1 回答
1038 浏览

aws-lambda - 无服务器框架:尝试为 lambda 定义角色会导致未定义资源错误

我正在编写一个 lambda 来更新 RDS 实例。显然,RDS 实例必须在 VPC 中,并且 lambda 必须在 VPC 中,以便它可以访问 RDS。那好吧。所以我将 lambda 配置为在 VPC 中,然后它没有权限在 EC2 上打开网络接口,所以我必须给 lambda 一个具有这些权限的角色。

这是我的 serverless.yml:

当我进行无服务器部署时,它会生成上传到 AWS 的 zip,然后我被告知:

CloudFormation 模板无效:模板错误:Fn::GetAtt 实例引用未定义资源 doStuffFromInsideVPC

这当然完全是胡说八道。它就在那里。显然,曾经有一个错误,CloudFormation 没有及时创建角色资源,因此更新了无服务器以添加一个 DependsOn,这导致它等待角色存在。看着 .serverless/cloudformation-template-update-stack.json 它似乎在需要它的地方有一个 DependsOn。

任何想法,任何人?谢谢你。

0 投票
1 回答
1943 浏览

python-2.7 - 运行 Python 代码时,对象引用未设置为 Azure Functions 中的对象错误实例

我是 Azure 的新手,但我已经在 AWS Lambda 上工作了很长时间。我想制作用 py 2.7 编写的相同 lambda 函数来处理 azure 函数。当我创建新函数时,没有 python 选项,因此我使用 javascipt 创建并创建了一个新文件。我删除了 JS 文件,现在正在尝试运行 Python 文件。但它总是向我显示一个错误

每次都显示错误

带图像的完整代码