AppSync S3对象检索

2023-12-13

我的文件目前正在根据提供的教程上传到 s3 存储桶。

我有一个 Post 类型,其文件字段指向 S3Object。 S3Object 具有bucket、key 和region 的值。

我想允许我的用户下载他们上传的文件,但我无法通过查询访问“发布”>“文件”。这意味着我无法获取下载网址。

目前,DynamoDB 在上传时存储以下文件(我已更改此处的值):{"s3":{"key":"id.pdf","bucket":"my-bucket","region":"my-region"}}

我的 Post > 文件解析器如下所示:{ "version": "2017-02-28", "operation": "GetItem", "key": { "id": $util.dynamodb.toDynamoDBJson($ctx.source.id), } }

回复模板:$util.dynamodb.fromS3ObjectJson($ctx.result.file)

当我运行查询时,出现以下错误:Error: GraphQL error: Unable to convert {bucket=my-bucket, region=my-region, key=id.pdf} to class java.lang.Object.


我相信你需要包装$util.dynamodb.fromS3ObjectJson($ctx.result.file)在打电话给$util.toJson()。您能否将响应映射模板更改为$util.toJson($util.dynamodb.fromS3ObjectJson($ctx.result.file))看看是否有效?

顺便说一句,我认为您无需从 Post.file 解析器再次调用 DynamoDB 即可实现所需的效果。创建一个“None”数据源并更改 Post.file 解析器以使用它。您可以提供准系统请求映射模板,例如

{ "version": "2017-02-28", "payload": {} }

然后可以更改响应映射模板以使用源而不是结果。

$util.toJson($util.dynamodb.fromS3ObjectJson($ctx.source.file))

由于在解析 Post.file 字段时已获取帖子,因此信息已在源中可用。如果您需要从与 Post 对象不同的表中获取 S3Link,那么您将需要第二个 DynamoDB 调用。

希望这有帮助,并让我知道对 $util.toJson 的调用是否解决了问题。

Thanks

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

AppSync S3对象检索 的相关文章

  • AWS Lambda 调用错误未触发 SQS 死信队列

    我有一个 AWS Lambda 函数 它订阅 DynamoDB 流并配置了SQS 死信队列 DLQ https docs aws amazon com lambda latest dg dlq html 我可以看到管理控制台中配置了正确的队
  • 将多个平台部署到 Elastic Beanstalk (PHP/Python)

    是否可以将多个平台部署到AWS 我有一个 PHP 应用程序 我还想运行一个小的 python 脚本 我看到 PHP 平台默认安装 Python 但是使用eb deployAWS 没有接听requirements txt并安装依赖项 我已经尝
  • 从 EC2 实例 ID 创建 AMI 时,command.resolveMiddleware 不是 AWS SDK 的函数,想知道为什么?

    我当时正在开发 AWS SDK 版本 3 并尝试以编程方式从 EC2 实例创建 AMI 以下是我使用的脚本 Imports TODO Import the ec2 client const EC2Client CreateImageComm
  • 如何动态更新我的 AWS CloudWatch 控制面板?

    我在 CloudWatch 中有几个仪表板 它们代表我的基础设施的静态视图 例如 自动扩展工作组中当前正在运行的实例数量 或者各种关键 EC2 实例的 CPU 磁盘状态 但是 当我添加新实例时 我总是需要手动更新仪表板以将它们包含在显示中
  • AWS LoadBalancer监听多个端口

    我有一些应用程序在 aws 中作为微服务运行 其中一些在端口 80 上运行 一些在端口 3000 上运行 我希望我的 ALB 侦听这两个端口上的流量 然后我有一个ListenRules将流量引导至微服务 我想实现如下所示的目标 Resour
  • 在我们的 Rails3/Heroku 应用程序中设置 Paperclip + AWS S3 用于图像存储时遇到问题

    我们已经构建了一个 Rails 应用程序 它有多个用户和每个用户的图像 在我们的本地主机上完成所有开发工作 我们为用户和照片提供了工作种子 但现在我们尝试使用 S3 进行图像存储 我们在 总是在 种子 期间遇到错误执行此操作时迁移的步骤 耙
  • AWS API Gateway 403 禁止

    我在 AWS API Gateway 中创建了一个 API 在该 API 中 我创建了一个带有自定义 http 端点的代理资源 但是当我访问API网关端点时https 2r3g3ttr6y execute api eu east 1 ama
  • 如何运行指定 node.js 版本 8 的 eb init?

    I run eb init并部署 我得到了node js版本6 如何在执行时指定我想要node js版本8eb init命令 这是一个有趣的问题 我很想知道是否有更简单的方法 但我是这样实现的 确定最新的SolutionStack名称如所列
  • 使用 Lambda 函数运行 AWS Athena 的查询

    我在 AWS Athena 上创建了一个表 可以在其中运行任何查询而不会出现任何错误 select from mytestdb test 该表有三列 customer Id product Id price 我尝试创建一个 lambda 函
  • 在 Amazon Redshift COPY 命令中转义分隔符

    我正在将数据从 Amazon S3 提取到 Amazon Redshift 中的表中 该表包含多个列 其中某些列数据可能包含特殊字符 复制命令有一个选项称为Delimiter我们可以在将数据拉入表时指定分隔符 问题有2个方面 当我导出时 u
  • 如何使用对象标记上传到 AWS S3

    有没有办法使用标签将文件上传到AWS S3 不将标签添加到S3中的现有文件 对象 我需要让该文件与我的 Tags 一起出现在 S3 中 即在单个 API 调用中 我需要这个 因为我使用 Lambda 函数 使用这些 S3 对象标签 由 S3
  • 从本地计算机连接到 AWS 上的 Neptune

    我正在尝试从办公室的本地计算机连接到 AWS 实例中的 Neptune DB 就像从办公室连接到 RDS 一样 是否可以从本地计算机连接 Neptune 数据库 Neptune 数据库是否公开可用 开发人员有什么方法可以从办公室连接 Nep
  • 如何在 PuTTY 中保存并运行 Java 文件?

    我是 AWS 亚马逊网络服务 的新手 所以这可能是一个基本问题 我在 AWS 上创建了一个 EC2 实例 我有一台 Windows 计算机 因此我使用 PUTTY 来连接 Linux 实例 连接到我的 EC2 实例后 我使用以下命令编写 J
  • AWS SQS Batch SendMessageBatchRequest 非常慢

    我的应用程序使用 SendMessageBatchRequest 将每个请求发布 10 条消息到 AWS SQS 每条消息的大小小于250字节 该应用程序预计每天发布约一百万条记录 但要实现这一目标 消息发布的速度非常慢 AmazonSQS
  • 将 Django 部署到 AWS;傻瓜静态文件

    我对这个项目的最后一步完全迷失了 到目前为止 我已经能够开发一个 Django 应用程序 它可以在本地主机上按照我想要的方式工作 我已经能够将网站部署到 AWS EC2 但我一定错过了有关提供静态文件的一些基本知识 我什至还没有尝试过媒体文
  • 带有 AWS S3 文件的 Icecast 服务器

    我目前正在运行 Icecast 服务器 用于在 EC2 实例上传输音频 目前我所有的 mp3 文件都存储在 EC2 实例上 我想将它们移动到 AWS S3 进行存储 到目前为止 我已经能够找到能够更新播放列表 https mediareal
  • Amazon MWAA Airflow - 任务容器在没有日志的情况下关闭/停止/终止

    我们使用 Amazon MWAA Airflow 很少有任务标记为 FAILED 但根本没有日志 就好像容器在我们没有注意到的情况下被关闭了一样 我找到了这个链接 https cloud google com composer docs h
  • 在 ec2 上托管 Rails

    我想将 Rails 部署到亚马逊 ec2 上 我看过 poolparty 和 ec2onrails 但似乎都不再维护了 人们用什么来做到这一点 都是自制的木偶和卡皮斯特拉诺 还是有一个项目可以让我继续下去 我可以推荐两个项目 如果您有一个
  • 如何在PHP中将图像从内存上传到AWS S3?

    所以我目前有一个使用 AWS S3 上传图像的上传系统 这是代码 Upload image to S3 s3 Aws S3 S3Client factory array key gt mykey secret gt myskey try s
  • 通过 boto3 承担 IAM 用户角色时访问被拒绝

    Issue 我有一个 IAM 用户和一个 IAM 角色 我正在尝试将 IAM 用户配置为有权使用 STS 承担 IAM 角色 我不确定为什么收到 访问被拒绝 错误 Details IAM 角色 arn aws iam 123456789 r

随机推荐

  • 如何使用支持 Futures 的超级块的 Serde 零拷贝反序列化来存储结果?

    我正在使用 futures tokio hyper 和 serde json 来请求和反序列化一些需要保留到下一个请求的数据 我最初的想法是制作一个包含hyper Chunk以及借用的反序列化数据Chunk 但无法获得正确的生命周期 我尝试
  • localhost 无法解析为 127.0.0.1

    我打电话给Inet4Address getByName localhost 期待看到127 0 0 1 但我看到我的 IP 分配给了我的以太网 机场 如果我断开以太网 机场 我将得到以下解决方案127 0 0 1 但一旦我再次连接 它就会解
  • 检测来电

    我需要确定来电何时到达 我知道 如果用户接听电话 则将调用 applicationWillTerminate 而当出现带有通话确认消息的弹出窗口时 将调用 applicationWillResignActive 但是 application
  • 是否可以通过 JavaScript 关闭浏览器窗口?

    我希望能够使用 JavaScript 关闭浏览器窗口 这可能吗 window close
  • 在 R 中更改数据框列类的最佳方法

    这又是一个看似简单的问题 但是 我在 R 中有一个名为 d1 的小数据框 1 2 1 SHY 75000 2 IGLIX 25000 我想做的就是将第 2 列中的字符转换为数字 经过一个小时的摆弄后 我能弄清楚有效的是 a lt data
  • Glassfish 部署错误“无法识别 MyProject.jar 的存档类型”

    我创建了一个动态 Web 应用程序 我想用 glassfish 部署它 我已成功将源代码构建到 MyProject jar 但是当我部署它时 显示以下错误 远程故障 无法识别 home davenlin MyProject build My
  • 通过Spring MVC上传二进制文件到MySQL的正确方法

    我正在尝试将文件上传到 MySQL 但是我无法正确执行此操作 我正在使用云平台将 Java Spring 应用程序作为网站运行 控制器 byte bytes file getBytes file is MultipartFile DFile
  • 将变量传递到示例部分[重复]

    这个问题在这里已经有答案了 我设置了两个变量 假设在一个功能中 cityA New York 和 cityB Las Vegas 并将它们 导出 def表达 现在我想在另一个功能中使用这些变量 Scenario Outline Succes
  • Oracle sql查询按日期对连续记录进行分组

    使用下面的示例数据 我尝试以相同的速率对记录进行分组 id start date end date rate 1 01 01 2017 12 00 00 am 01 01 2017 12 00 00 am 300 1 02 01 2017
  • 为bazel、android tensorflow设置targetSdkVersion和compileSdkVersion

    我需要帮助如何为 bazel 设置目标和单独编译 Sdk 版本 我想在手机上运行tensorflowthis教程 编辑 bazel 的 WORKSPACE 后如下 android sdk repository name androidsdk
  • 加快 PLY 文件读取速度

    目前 我在 MATLAB 中使用以下代码段将 PLY 读入 MATLAB 矩阵 这是一个示例 PLY 文件 但当PLY文件很大时 需要相当长的时间 有没有更好的方法在 MATLAB 中高效读取文本文件 data textread fileN
  • Spring:标准日志方面(拦截器)

    我发现了很多关于如何使用 Spring 框架创建自定义方面进行日志记录的示例 例如this or this但没有找到这种情况和问题的标准 通用 Spring 实现 Spring 是否有日志记录方面的标准实现 是的 有
  • 如何在 Ubuntu 11.10 上编译 OpenJDK 7 调试版本

    我在哪里可以找到一组简单的指令来编译OpenJDKUbuntu 11 10 Oneiric 上的 7 调试版本 调试版本将使更多 JVM 选项可用于故障排除 例如 WizardMode The 开发者指南 and 构建自述文件有很多噪音并且
  • Python 类型错误问题

    我正在编写一个简单的程序来帮助为我所属的游戏生成订单 它属于我实际上不需要的程序类别 但现在我已经开始了 我希望它能发挥作用 一切都运行得很顺利 但我不知道如何阻止大约一半时发生的类型错误 这是代码 status 1 print b u m
  • 将每行的最后一个非零元素设置为零 - NumPy

    我有一个数组A A array 1 2 3 4 5 6 7 0 8 9 0 0 我想将每行的最后一个非零更改为 0 A array 1 2 3 0 5 6 0 0 8 0 0 0 如何为任何 n m numpy 数组编写代码 谢谢 S 方法
  • 使用 Java 配置在 Spring 中重定向 404 错误

    如您所知 在 XML 中 配置方法是
  • Java 对象的“相同性”是如何定义的?

    我想将自定义类型的对象添加到集合中 我有几个相同的 即它们的公共变量具有相同的值 我不希望将 同一 对象的多个实例添加到集合中 但每次创建新对象时 总是会添加它 这是因为 Object 类的 equals 方法在对象上实现了最具辨别力的可能
  • 禁用线性布局内的所有编辑文本

    我正在尝试禁用线性布局内的所有字段 该线性布局中有许多 edittext 和 textview 但是 我只是想禁用 edittext 我能够禁用所有孩子 但我希望能够禁用编辑文本 有什么办法可以做到这一点吗 Where ll是你的线性布局
  • 编写自定义函数时将列名称传递给 dplyr::coalesce()

    我正在尝试编写一个将包装的函数dplyr coalesce 并将接受数据对象和列名称来合并 到目前为止 我的尝试都失败了 示例数据 library dplyr df lt data frame col a c bob NA bob NA b
  • AppSync S3对象检索

    我的文件目前正在根据提供的教程上传到 s3 存储桶 我有一个 Post 类型 其文件字段指向 S3Object S3Object 具有bucket key 和region 的值 我想允许我的用户下载他们上传的文件 但我无法通过查询访问 发布