问题标签 [serverless-application-model]
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.
amazon-web-services - 使用 IAM 策略文档对象列表作为 AWS::Serverless::Function 策略
根据无服务器应用程序模型中的文档,可以为资源的属性AWS::Serverless::Function
指定 IAM 策略文档对象 (PDO) 列表。Policies
但是,当我尝试定义 IAM PDO 时,AWS Toolkit for Visual Studio 会标记语法错误:
这是我的Resources
部分的完整示例:
"Resources": {
"Example" : {
"Type" : "AWS::Serverless::Function",
"Properties": {
"Handler": "Example::Example.Controllers.ExampleController::ExampleAction",
"Runtime": "dotnetcore2.0",
"CodeUri": "",
"MemorySize": 256,
"Timeout": 30,
"Policies": [{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
}],
"Events": {
"PutResource": {
"Type": "Api",
"Properties": {
"Path": "/{id}",
"Method": "GET"
}
}
}
}
}
}
我有什么问题吗,还是 SAM 或 AWS Toolkit 语法验证有问题?
amazon-web-services - 适用于 SSM 获取参数的 AWS SAM 托管策略
是否有任何类似于Lambda 函数权限的DynamoDBReadPolicy
托管策略?ssm:GetParameter*
我正在使用 aws-sam-cli 并尝试遵循this,但是当我尝试在 using 时获取参数时sam local start-api
,出现以下错误:
InvalidAction: The action or operation requested is invalid. Verify that the action is typed correctly.
这是我尝试获取参数的片段:
相关的模板部分如下。谢谢!
amazon-web-services - 将自定义域添加到 lambda 的最佳方法?
我正在尝试使用 SAM 创建一个 lambda 函数,但是我不知道如何向其中添加自定义域。我是否需要将整个 ApiGateway 添加到我的 CloudFormation 模板只是为了更改域还是有更简单的方法?
我的域在 Route53 中,并且我在 ACM 中有它的证书。
我的模板目前如下:
amazon-web-services - Lambda 无法访问 KMS 密钥
当我运行我的 lambda 代码时,我收到以下错误:
The ciphertext refers to a customer master key that does not exist, does not exist in this region, or you are not allowed to access.
我主要是按照这个来使用 aws-sam-cli 创建堆栈,模板的相关部分位于代码下方。
相关代码为:
template.yaml 文件的相关部分是:
KMSDecryptPolicy
不允许使用密钥吗?我错过了什么?谢谢!
编辑:将模板更改为下面的作品,但如果可能的话,我真的很想KMSDecryptPolicy
在 lambda 定义中使用。
amazon-web-services - 如何为我的 api 添加有关 AWS SAM 模板的更多详细信息
我是 AWS 无服务器世界和 SAM 的新手。我刚刚做了一个实际上功能齐全的小型机器人,但是当我开始做一个 SAM 模板来定义它时,我怀疑我无法弄清楚。我有一个 api 网关,它有一个特定的映射模板。我需要 sam 模板包含这个,但它没有,请检查模板:
所以说完这些,我想展示我如何管理 api 上的映射:
我需要弄清楚如何为我的模板详细说明该映射,以便在更新 CloudFormation 上的堆栈时创建它。
也许如果我的方法不好,请告诉我应该怎么做。
aws-lambda - 由于配置错误,执行失败:Lambda 函数的权限无效
我正在通过 Visual Studio 使用 AWS Lambda 和 API Gateway 构建无服务器应用程序。我正在使用 C#,并使用无服务器应用程序模型 (SAM) 来部署我的 API。我在 Visual Studio 中构建代码,然后通过发布部署到 Lambda。这是有效的,除了每次我进行新构建并尝试执行 API 调用时,我都会收到以下错误:
由于配置错误,执行失败:Lambda 函数的权限无效
做一些研究后,我发现其他地方提到了这个修复(通过 AWS 控制台完成):
修复:转到 API Gateway > API 名称 > 资源 > 资源名称 > 方法 > 集成请求 > Lambda 函数并重新选择我现有的函数,然后用小复选标记“保存”它。
现在这对我有用,但它破坏了使用 serverless.template (JSON) 构建我的 API 的自动化。有谁知道如何在 serverless.template 文件中解决这个问题?这样我就不需要在控制台中采取行动来解决?这是 serverless.template 文件中我的一种方法的示例
amazon-web-services - 使用 SAM 创建 API Gateway 代理资源
我有一个显然很简单的要求,即在 SAM(亚马逊的无服务器应用程序模型)中创建代理资源。实际上如此简单,以至于亚马逊的文档似乎将此作为练习留给读者!
我想创建一个 AWS API Gateway 包罗万象的端点,以将所有内容代理到另一个 HTTP 服务。
在 AWS 控制台中,我尝试构建的配置如下所示:
我在这里看到了 Christian Johansen 的这篇出色的帖子和他相关的 Stack Overflow 问题,了解如何在 CloudFormation 中做同样的事情。我想我可以在 SAM 中使用该代码,但是,SAM 有其隐式和显式 API,因此如果“正确方法”是引用隐式资源,我想避免创建显式资源。
有谁知道如何做到这一点?
amazon-web-services - AWS SAM 模板,无法设置 KmsKeyArn
为什么这甚至是一个问题?我设置了一个 aws SES(简单电子邮件服务)来加密我的消息。所以在我的模板中我创建了 ReceiptRule。
上面的代码工作正常!但我当然不想硬编码我的 KmsKeyArn。那么为什么不能像这样设置一个 ref:
这对我不起作用......我还有很多其他地方可以参考KmsMasterKeyArn
。它就在这里,在 S3Action 中它不起作用。有人有解决方案吗?
python - SAM 命令失败:ImportError: cannot import name AliasedEventEmitter
我正在使用一个buildspec.yml
文件通过 AWS CodeBuild 运行 SAM 模板,我相信这个问题是由 pip 安装aws-sam-cli
包的默认 python 2.7 版本引起的。我不太熟悉如何查看软件包pip install
的python3
版本。这是我的一个片段buildspec.yml
:
有没有人遇到过这个问题?