Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS QLDB-Java教程步骤2(ConnectToLeger)-无法确定要授权的服务/操作名称_Java_Amazon Web Services_Amazon Iam_Amazon Qldb - Fatal编程技术网

AWS QLDB-Java教程步骤2(ConnectToLeger)-无法确定要授权的服务/操作名称

AWS QLDB-Java教程步骤2(ConnectToLeger)-无法确定要授权的服务/操作名称,java,amazon-web-services,amazon-iam,amazon-qldb,Java,Amazon Web Services,Amazon Iam,Amazon Qldb,我正在尝试从AWS运行Java教程,在这里可以找到: 在指南的第一步中,我必须将区域和端点添加到“getClient”方法中,以使其运行。在第二步,我在连接到分类账时出错 Exception in thread "main" com.amazonaws.services.qldbsession.model.AmazonQLDBSessionException: Unable to determine service/operation name to be authorized (Servic

我正在尝试从AWS运行Java教程,在这里可以找到:

在指南的第一步中,我必须将区域和端点添加到“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文件中是正确的。 无论我尝试什么,我都会得到上面显示的异常


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

我想知道您的应用程序中是否存在依赖性问题,例如QLDB驱动程序和AWS SDK的版本不兼容。您能否确认版本是否(至少)符合中的指南

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


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

QLDB有不同的服务端点,请参见下面的示例端点。请检查是否使用了正确的端点进行连接。请检查下面的QLDB

控制平面:qldb.us-east-1.amazonaws.com


事务数据平面:session.qldb.us-east-2.amazonaws.com

不需要在CreateLedger或ConnectToLEdger类中修改端点或区域变量

只需修改以下内容:

在CreateLedger.getClient方法中:

返回生成器 .withRegion(Regions.US_EAST_1) .build()

在ConnectToLedger.getAmazonQldbSessionClientBuilder方法中:

返回生成器。区域(区域。美国东部1)

通过这些更改,您可以让SDK为控制平面和事务数据平面找到正确的端点


请查看

请检查您的AWS访问密钥ID是否订阅了此服务。同时检查这个。嗨,谢谢你的输入。我已经在AWS控制台中注册了QLDB,IAM用户可以完全访问QLDB,正如前面提到的,我还与该IAM用户创建了一个分类账,我可以在控制台中看到。我从常见的错误开始,但它们似乎都与我的问题无关。
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'
}