【问题标题】:How to query AWS Lambda from Android app using AWS Amplify?如何使用 AWS Amplify 从 Android 应用程序查询 AWS Lambda?
【发布时间】:2021-04-11 17:13:59
【问题描述】:

我有需要触发 AWS Lambda 的 Android 应用程序。我想使用 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 查询,并生成了 FindOrderQuery 类。


- 现在,我不知道如何使用从 Android 应用程序生成的类通过 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 库中)对我来说并不是那么明显。
问候

【问题讨论】:

    标签: aws-lambda aws-amplify aws-appsync


    【解决方案1】:

    关注 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)
    

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

    【讨论】:

    • 谢谢!顺便说一句,感谢您为开发 Amplify for Android 所做的努力。真正有用的开发工具!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 2020-02-19
    • 2023-02-23
    • 2020-08-22
    相关资源
    最近更新 更多