问题标签 [aws-sam]
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 - AWS SAM - 无法创建变更集:Waiter ChangeSetCreateComplete failed
AWS SAM 使用 aws-sam-cli 将代码库部署到 AWS 云,但它让我出错。
Failed to create the changeset: Waiter ChangeSetCreateComplete failed: Waiter encountered a terminal failure state Status: FAILED. Reason: Requires capabilities : [CAPABILITY_IAM]
amazon-web-services - 动态 AWS Sam 计划事件输入参数
我们正在通过 SAM 自动化 lambda 以在Schedule Event
. 我们使用 YAML,但我们无法弄清楚如何使用!Sub
来使 Input 成为动态的。
如果您阅读sam 文档,它会说Input
需要JSON formatted string
以下代码适用于我们:
但是我们需要将动态参数插入到Input
类似的东西中:
我们尝试以多种方式执行此操作,使用 !Sub 但部署总是失败,说它需要是有效的 JSON。
使这个 JSON 字符串使用变量的正确方法是什么?
谢谢,马克
aws-lambda - AWS SAM cloudformation:API 网关无法调用 lambda (AWS::Serverless::Function)
我创建了一个 template.yaml 文件来声明一个由 api 网关调用的简单 lambda 函数。当我尝试从 api 网关 url 调用函数时,请求失败,{"message": "Internal server error"}
并且在 cloudwatch api 网关日志中我看到错误消息Invalid permissions on Lambda function。
这是我的模板.yaml:
SAM 文档说,上面的语法能够隐式创建必要的权限和 API 声明。
我还遵循了AWS 网站上的一个示例。
如果我在 template.yaml 文件中添加一个lambda:InvokeFunction权限,那么调用就可以工作,但是通过阅读文档,这样做应该是不必要的。
可能出了什么问题?
amazon-web-services - 如何在我的模板中为 API 事件添加“/”?
这是我的 lambda 资源:
testMethod和“/”对应swagger文档中的路径。但似乎 cloudformation 让我使用“/”作为 api 事件:
这是我的 API 网关资源:
amazon-web-services - 如何获取动态创建的 lambda 角色的名称?
我喜欢在部署模板时如何创建角色 + 内联策略:
资源:
现在我可以引用动态创建的角色并在 SAM 模板中添加一个 Output: for it 吗?
aws-sam - 向 Serverless.Template 文件添加参数
我正在使用 Jenkins Pipeline 发布 Visual Studio AWS Serverless .Net Core 应用程序。
有人可以告诉我是否可以向 serverless.template 文件添加参数?然后,我将能够使用 aws cli 填充这些参数,作为 Jenkins 构建过程的一部分。
例如,如果我想发布到具有与生产环境不同的 VpcConfig 值的暂存环境;
aws-sam-cli - 如何从本地 AWS SAM 读取 s3 存储桶
我有一个 lambda,我希望使用 AWS SAM local 在本地进行测试。lambda 需要从云上的 s3 存储桶中读取。如何允许在 AWS SAM 本地环境中发生这种情况?
谢谢
安格斯
amazon-web-services - sam.yml 文件中的多个 Lambda 函数
仍在等待 AWS 对此的实际支持: https ://github.com/aws-samples/aws-serverless-samfarm/issues/5
这假设如何工作?
我的用例是我有一个 API Gateway 前端 lambda,它将事件写入 SNS 主题。我有另一个订阅该主题的 lambda。
这些 lambda 可以在单独的仓库中吗?是的。首先是使用 pub/sub 模式来分离这两个应用程序的目的的一部分吗?是的。
但这是一个简单的应用程序。该主题不会与其他功能共享,并且整个内容是自包含的。理想情况下,它们应该全部部署在同一个模板中。
我可以轻松地将我想要的所有功能添加到我的 SAM 模板中,但是如何部署它们呢?他们每个人都应该有不同的 CodeURI 吗?这意味着我需要编写脚本复制并将每个 lambdas 依赖项安装到不同的文件夹中,然后将模板中每个 lambda 的 codeuri 指向不同的文件夹。
没有更好的支持吗?
python - 无法使用 pip Python 2.7 安装 aws-sam-cli
版本
Python:2.7.10
点子18.0
aws-cli:1.16.19
pip 18.0 来自 /Library/Python/2.7/site-packages/pip (python 2.7),aws-cli 版本基于 aws-cli/1.16.19 Python/2.7.10 Darwin/17.7.0 botocore/1.12.9
错误
在下面遇到以下错误Step 5
:
采取的步骤
使用这个参考我执行了以下命令:
安装
/li>pip
/li>ADD USER_BASE_PATH
至PATH
:安装
awscli
由于失败而不得不使用该
user
标志:pip install awscli
考虑使用该
--user
选项或检查权限。安装
/li>aws-sam-cli
:
aws-lambda - 如何为 lambda 版本 $LATEST 和实时 AutoPublishAlias 配置不同的 APIGateway 端点
我将SAM与 AutoPublishAlias safe lambda deployments一起使用。但是,在 Pretraffic 挂钩中,我想通过 AWS API Gateway 端点调用最新的 [未验证] lambda 版本来运行一些初始验证测试,该端点不同于指向稳定 lambda 版本的端点。
在我的例子中,通过绕过 pre-traffic 钩子中的 APIGateway 直接调用 lambda 函数是非常具有挑战性的,因为 lambda 函数包括白名单和其他需要由API Gateway 代理集成设置的值的逻辑。理想情况下,我希望有 2 个 API 网关端点始终指向 lambda 函数的实时和最新版本,如下所示:
/api/resource -> lambdaFunction:live
/api/latest_resource -> lambdaFunction:$LATEST
这样,流量前挂钩可以/api/latest_resource
在客户使用时始终使用/api/resource
。到目前为止,我还没有找到一种在 SAM AWS::Serverless::Function或AWS::Severless::Api中配置它的方法。有没有人有如何做到这一点的例子或想法?