如何使用 AWS Amplify 从 Android 应用查询 AWS Lambda?

How to query AWS Lambda from Android app using AWS Amplify?

我有 Android 需要触发 AWS Lambda 的应用程序。我想使用 AWS Amplify,因为我已经在使用它与 DynamoDB 进行通信。我正在关注以下文档:
https://docs.amplify.aws/cli/function#function-templates
https://docs.amplify.aws/cli/graphql-transformer/function


- 我通过放大控制台创建了函数:amplify add function(函数名称:findOrderByProduct

- 我已经按照文档中的建议在 schema.graphql 文件中添加了查询:

type Query {
    findOrder(productIdentifier: String): String @function(name: "findOrderByProduct-${env}")
}


- 我已将新资源推送到 AWS:已创建 Lambda 函数和 AWS AppSync 查询,并已生成 class FindOrderQuery class。


- 现在,我不知道如何使用从 Android 应用程序生成的 classes 通过 AppSync 查询执行 Lambda。尝试以下:

Amplify.API.query(
                <what should go here? Should I use ModelQuery.get(...) or ModelQuery.list(...)? If yes, what arguments should I pass to get/list method?>,
                response -> {},
                error -> {}
        );

所有帮助将不胜感激。 Amplify 文档解释了如何很好地创建 lambda 函数,但稍后如何使用它(尤其是在 Android 库中)对我来说并不那么明显。
此致

遵循 this guide for Amplify Android's REST API category 而不是 CLI @function 文档。

Amplify 最初是一个 JavaScript 库。在 2020 年,我们有一些工程师也为 Android 构建了一些相同的功能。 @function 没有晋级,目前仅适用于 JS。

按照 REST API 指南,您最终会得到这样的系统:

(Phone) -> (Amazon API Gateway) -> (AWS Lambda)

资料来源:我在这个团队工作。