使用Android应用中的IAM使用AWS AppSync进行订阅

时间:2018-04-30 09:47:18

标签: android amazon-iam aws-appsync

我在Android应用中使用新的AWS AppSync服务,使用IAM身份验证(访问密钥和密钥),以便用户可以通过Google Map API实时共享其位置。 为此,我创建了一个在AppSync的查询控制台中正常工作的订阅。 但是当我在我的应用程序中实现订阅时,它无法正常工作。

以下是一个用例:

  1. user访问地图,查看通过GraphQL订阅发送到AppSync服务的位置
  2. 用户B做同样的事情。
  3. 用户A发送他的最后位置
  4. 用户B收到它,用户A出现在用户B地图
  5. 用户B发送他的最后一个位置,但用户A从未收到它
  6. 如果用户A退出地图并重新打开,则会重新打开GraphQL订阅,他会收到订阅后发送的最后一个用户B位置。

    一开始,我有两个使用API​​ Key身份验证的GraphQL订阅,但实时不起作用。 在仅删除订阅后,按照此回答https://stackoverflow.com/a/49242267/4862232,一切正常。

    但是由于我改变了身份验证方法,我遇到了麻烦,这里是代码:

        AWSAppSyncClient client = AWSAppSyncClient.builder()
                .context(context)
                .serverUrl(APPSYNC_ENDPOINT)
                .region(APPSYNC_REGION)
                .credentialsProvider(new StaticCredentialsProvider(new BasicAWSCredentials(APPSYNC_ACCESS_KEY, APPSYNC_SECRET_KEY)))
                .defaultResponseFetcher(AppSyncResponseFetchers.NETWORK_FIRST)
                .build();
    

    任何帮助都将不胜感激。

0 个答案:

没有答案