如何使用 AWS Amplify GraphQL Client 上传文件到 S3

How to use AWS Amplify GraphQL Client to upload files to S3

这是 AWS Amplify GraphQL 客户端的官方文档:https://aws-amplify.github.io/amplify-js/media/api_guide.html。不过,该部分提供了基本 String 输入的示例。

对于AWS Mobile Appsync SDK for Javascript, there is a detailed doc here: https://docs.aws.amazon.com/appsync/latest/devguide/building-a-client-app-react.html。但是,我不想为其添加其他配置 - 我已经有一个用于 Amplify 的配置。

那么,如何使用AWS Amplify和AWS AppSync作为后端,将文件上传到S3存储,Amplify需要什么额外的配置-如果有?

Http 端点作为一个选项被添加到 AppSync 架构中用作数据源,但截至目前,还没有 S3 存储桶作为一个选项。有像 [this]( ),但他们需要 AWSAppSyncClient 在 Javascript 端,这会增加客户端代码的复杂性,因为恕我直言,Amplify 已经在那里设置。

所以,我最终使用了 Storage AWS Amplify - 独立于 AppSync。然后,我等待上传成功并调用 AppSync 突变以使用常规数据源解析器将上传文件的密钥存储在 DynamoDB 中。