Amazon web services Amazon Textract,Elastic Beanstalk-假定角色/aws-elasticbeanstalk-ec2-role/。。。未被授权执行textract:AnalyzeDocument

Amazon web services Amazon Textract,Elastic Beanstalk-假定角色/aws-elasticbeanstalk-ec2-role/。。。未被授权执行textract:AnalyzeDocument,amazon-web-services,amazon-elastic-beanstalk,aws-textract,Amazon Web Services,Amazon Elastic Beanstalk,Aws Textract,嗨,我在SpringBoot中构建了一个应用程序,它使用AmazonTextract从pdf文件获取表格数据。此应用程序安装在我的本地主机上时可以正常工作。 现在,我在AWS环境中创建了一个新的Elastic Beanstalk应用程序,并将我的spring jar上传到那里。当我调用应用程序的url时,我可以验证该应用程序是否存在,但当我调用任何反过来调用textract服务的端点时,我会收到一个权限错误 User: arn:aws:sts::1234:assumed-role/aws-ela

嗨,我在SpringBoot中构建了一个应用程序,它使用AmazonTextract从pdf文件获取表格数据。此应用程序安装在我的本地主机上时可以正常工作。 现在,我在AWS环境中创建了一个新的Elastic Beanstalk应用程序,并将我的spring jar上传到那里。当我调用应用程序的url时,我可以验证该应用程序是否存在,但当我调用任何反过来调用textract服务的端点时,我会收到一个权限错误

User: arn:aws:sts::1234:assumed-role/aws-elasticbeanstalk-ec2-role/i-1234 is not authorized to perform textract:AnalyzeDocument (Service: Textract, Status Code: 400, Request ID: 123xyz, Extended Request ID: null)
有没有人能给我一些建议,告诉我如何/在哪里设置


谢谢

当您在Elastic Beanstalk上运行Spring引导应用程序时,您需要确保正确设置了服务客户端。如果不这样做,就会遇到问题。例如,以下是为Amazon DynamoDB为Java V2客户端创建服务客户端的方法:

 DynamoDbClient ddb = DynamoDbClient.builder()
            .region(region)
            .credentialsProvider(EnvironmentVariableCredentialsProvider.create())
            .build(); 
您可以在Elastic Beanstalk上设置环境变量,以便成功创建服务客户端。更多信息请点击此处:


谢谢,这很有趣。当我从eclipse运行spring boot应用程序时,我传递了两个环境变量AWS\u ACCESS\u KEY\u ID和AWS\u SECRET\u ACCESS\u KEY。当我上传到EBS应用程序时不可用。那么,我应该像您建议的那样在代码中包含这些内容吗?确切地说——遵循本文(替换Java代码以使用您的特定服务),您需要设置本文中提到的环境变量。一旦你这样做了,你应该没有问题。我已经在Elastic Beanstalk上部署了很多Spring BOOT应用程序,一旦设置了变量,它们就可以工作了。谢谢你,我会尝试一下。其中大部分应该属于免费层。谢谢,这就是问题所在。现在它工作正常了。