如何从 Amplify 生成的 Lambda 函数中访问其他 AWS 资源?

2024-04-03

我一直在使用 AWS Amplify。作为 AWS 的新手,我非常喜欢 Amplify 如何在 AWS 上为我配置必要的资源和 IAM 角色。我的问题是关于将 Lambda 与 GraphQL 结合使用。按照文档,我可以创建一个自定义 GraphQL 查询,该查询调用 Lambda 函数并返回 GraphQL 响应。但是,我在文档中找不到有关如何交互的任何地方其他 AWS 资源来自此 Lambda 函数。例如,我希望与 DynamoDB 甚至 RDS 服务进行交互。该文档提到能够从其他资源(例如 MySQL 数据库)提取数据,所以我假设这是可能的。

当我尝试与 DynamoDB 交互时(例如),我收到了“访问被拒绝”错误,我假设这是因为 Lambda 函数没有必要的策略/权限来执行此操作。我的一个想法是手动登录 IAM 控制台并自己附加这些策略,但考虑到 Amplify 会为您生成所有这些策略并实质上管理您的“云基础设施/状态”,我不确定这是否是正确的方法。我确实注意到当您为 GraphQL 添加 Lambda 资源时 Amplify 生成的 Cloud Formation 模板,因此我的下一个猜测是在那里添加 DynamoDB 策略,然后运行放大推力让 Amplify 为我生成和管理策略。如果这是正确的方法,我想我必须学习如何编写 Cloud Formation 模板。最后,我想知道我的大脑是否妨碍了我,以及我是否能够通过 Lambda 中的 AWS JavaScript SDK 传递 Cognito 身份信息,然后事情就会“正常” - 但我不完全确定。如果我没有使用正确的术语,我提前表示歉意 - 正如我所说,我对 AWS 还比较陌生。非常感谢任何帮助或指导。


你是对的。您可以修改云形成脚本以添加 lambda 的权限。

但请记住,lambda 默认情况下不在 VPC 中,您可以与 RDS 交互,但不能与 VPC 中的 RDS 实例交互。将 lambda 放入与 RDS 实例相同的 VPC 中后,您可以与该实例通信,但不能与 RDS 服务通信,因为 lambda 无法访问互联网。为此,您需要 VPC 终端节点或 Nat 网关。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Amplify 生成的 Lambda 函数中访问其他 AWS 资源? 的相关文章

随机推荐

  • 如何使用外部java库在命令行中编译和运行kotlin程序

    我是第一次尝试 kotlin 我能够在命令行上在 kotlin 中运行编译 hello world 程序 但无法编译我想要包含外部 java 库的程序 import com google gson Gson data class Perso
  • 使用 Rich Preview 元标记作为图像 html css

    当您通过文本 Facebook 消息或任何主流消息客户端发送链接时 您会注意到它会生成 丰富的预览 这基本上是您链接的网站弹出的图像 我了解如何设置此属性 例如
  • Gulp-sass 无法编译 scss 文件

    我正在使用 Gulp 将我的 sass 编译为 css 一个简单的任务编译style scss文件在 sass目录并将输出保存到项目的根目录中 style scss仅用于导入其他文件 sass目录 当我从命令行运行默认任务时 gulp 我收
  • 如何模糊除 2 个节点之外的所有内容。雪碧 (Swift)

    我想模糊我的游戏背景 self view scene paused true 但是按钮和暂停的标签 都是 SKSpriteNode 的 不应该是模糊的 它们都有不同的 Z index 值 按下按钮节点时场景暂停 再次按下按钮时场景恢复 我找
  • 通过 YouTube 数据 API 确定视频编解码器?

    是否可以通过 YouTube 数据 API 确定特定的 YouTube 视频是使用 H 264 还是 FLV 编码 如果是这样 怎么办 我可以开始文件下载并检查视频流的编码方式 当然 以编程方式 但我想使用 YouTube 数据 API 来
  • 正则表达式在字符串中查找数字

    我有一个字符串 可能包含也可能不包含 4 或 5 位数字 我正在寻找一个正则表达式 可以检测字符串是否确实有这样的数字 避免较长数字的万无一失的方法是 d d 4 5 d 我假设您不想在千位数字后面留有逗号 如果你这样做的话 d d 1 2
  • Symfony - 以生成的形式添加文本

    我想做一些非常简单的事情 但我不知道如何管理它 我有一个表格 form start form form widget form form end form 其中有几个文本字段 我想 插入 一些文本 例如 p my Text p 在两个文本字
  • lex :如何覆盖 YY_BUF_SIZE

    根据manual http westes github io flex manual The Default Memory Management html YY BUF SIZE is 16K我们需要重写它 但是 手册没有指定如何覆盖它 我
  • Tar:创建除一个之外的存档排除目录

    我有一些目录和一些文件 dir archive somedir1 dir archive somedir2 dir archive somedir3 dir archive mydir dir archive mydir excludedi
  • 在控制台中检测 Ctrl + S

    I m developing a console application in which I need to detect several hotkeys such as Ctrl N Ctrl O and Ctrl S Here s a
  • 如何在Excel中无法以图形方式显示的外部数据查询中添加参数?

    我经常使用 MS ExcelGet External Data创建简单的报告 对数据库运行查询并在 Excel 中很好地显示 Excel 的强大功能 例如过滤和数据透视表 以及用户熟悉的界面使其非常适合此目的 但是 Microsoft Qu
  • 如何反转 go 中的切片?

    如何反转任意切片 interface 在 Go 中 我宁愿不必写Less and Swap to use sort Reverse 有没有一种简单的内置方法可以做到这一点 Use 切片 反转 https pkg go dev slices
  • 错误:我们没有使用 Azure CLI 的有效访问权限

    我是 Azure CLI 的新用户 所以 我昨天开始使用它 一切正常 直到我在控制台上收到一条消息 要求我使用 Azure 登录命令再次登录 我按照消息所说的做了 打开我的浏览器并输入代码 浏览器加载页面 一切正常 但是 当我进入控制台窗口
  • 如何在 Maven 中创建校验和然后将其输出到文本文件?

    还在学习如何使用Maven 我想知道是否有办法做到checksum在生成的WAR file The Maven目标是package 我想要实现的是得到一个checksum价值 包装的WAR文件 与打包文件一起放入文本文件中 提前致谢 让它与
  • 当我移动轨迹栏时,如何防止 Windows 通用控件 6.0 中的控件(选项卡)闪烁和消失?

    滑动滑动条并释放鼠标按钮时 整个窗口都会闪烁 并且选项卡会消失 当我使用旧版本时 一切正常 当我使用新的 Microsoft Windows Common Controls ver 6 0 时 出现此问题 include
  • Flink 检查点到 Google Cloud Storage

    我正在尝试为 GCS 中的 flink 作业配置检查点 如果我在本地运行测试作业 没有 docker 和任何集群设置 一切正常 但如果我使用 docker compose 或集群设置运行它并在 flink 仪表板中使用作业部署 fat ja
  • Android 中的文本转语音完成后立即播放音频文件

    我正在尝试开发一个 Android 应用程序 一旦文本到语音完成 就必须播放音频文件 这个怎么做 如果我没有理解错的话 您想使用文本转语音来读取一些文本 同时将语音音频存储到手机中 然后再播放音频 你检查过吗录音测试 http develo
  • Mesos 任务 - 无法接受套接字:未来已丢弃

    我只是想将 mesos 版本从 1 0 3 升级到 1 3 1 Chronos 调度程序能够通过 mesos 调度作业 该作业运行良好并且能够查看 mesos 标准输出日志 但是 仍然在 mesos stderr 日志中看到以下内容 doc
  • 使用 MySQL 进行 SVN 身份验证

    我正在尝试通过 MySQL 设置每个存储库 SVN 身份验证 但遇到一些问题 首先 两者有什么区别mod authn dbd and mod auth mysql 其次 我已经有一个 MySQL 数据库设置 其中包含用户 组和权限的表 是否
  • 如何从 Amplify 生成的 Lambda 函数中访问其他 AWS 资源?

    我一直在使用 AWS Amplify 作为 AWS 的新手 我非常喜欢 Amplify 如何在 AWS 上为我配置必要的资源和 IAM 角色 我的问题是关于将 Lambda 与 GraphQL 结合使用 按照文档 我可以创建一个自定义 Gr