首页 > 解决方案 > AWS QLDB - Java 教程步骤 2 (ConnectToLeger) - 无法确定要授权的服务/操作名称

问题描述

我正在尝试从 AWS 运行 Java 教程: https ://docs.aws.amazon.com/qldb/latest/developerguide/getting-started.java.tutorial.html

在指南的第一步中,我必须将区域和端点添加到“getClient”方法中,以使其运行。在第二步,我在连接分类帐时遇到错误。

Exception in thread "main" com.amazonaws.services.qldbsession.model.AmazonQLDBSessionException: Unable to determine service/operation name to be authorized (Service: AmazonQLDBSession; Status Code: 403; Error Code: AccessDeniedException; Request ID

我知道我的 IAM 用户具有正确的权限,因为我可以使用它添加分类帐,并且现在它具有对 QLDB 的完全访问权限。我已经尝试在“createQldbDriver”方法和“凭据”中设置特定的区域和端点,以确保它使用的是我想要的 IAM 用户,即使我知道我的凭据在 aws/credentials 文件中是正确的。无论我尝试什么,我都会不断收到上面显示的异常。

我希望有人能指出我正确的方向。

标签: javaamazon-web-servicesamazon-iamamazon-qldb

解决方案


我想知道您的应用程序中是否存在依赖性问题,例如 QLDB 驱动程序和 AWS 开发工具包的版本不兼容。您能否确认版本匹配(至少)https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started.java.html#getting-started.java.prereqs中的指导

dependencies {
    compile group: 'software.amazon.qldb', name: 'amazon-qldb-driver-java', version: '1.0.2'
    compile group: 'com.amazonaws', name: 'aws-java-sdk-qldb', version: '1.11.628'
    compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-ion', version: '2.10.0.pr1'
}

如果这不起作用,请您使用更多信息更新您的问题,例如您对教程代码所做的更改(如果您选择内联它们,请确保不包含任何凭据!)和完整的 -堆栈跟踪。可以公开共享请求 ID。

更新:黑暗中的另一个镜头:您是否可以在构建客户端驱动程序时自定义端点?如果是这样,您是否可能将控制和会话端点混合在一起?


推荐阅读