• AmazonRekognition-凭证验证/获取凭证失败


    AmazonRekognition-凭证验证/获取凭证失败

    最近在对接亚马逊图像检测接口,好几份100多页的英文PDF,让人看得云里雾里,摸不清头脑,好在耐心将涉及到的内容看完。

    此处记录在使用Java+sdk调用AmazonRekognition时,无法获取到AWS用户凭证的问题

    一、代码错误提示

    The security token included in the request is invalid. (Service: AmazonRekognition; Status Code: 400; Error Code: UnrecognizedClientException; Request ID

    二、问题分析

    1、接口返回信息为token鉴权失败,首先查看是否为凭证信息错误(Q1)。
    2、调用AmazonRekognition方法有3中,本地CLI调用、SDK调用、AWS客户端调用,测试CLI(使用同一凭证)调用成功,此时可以排除Q1.
    3、排除Q1问题之后,可以确认问题为配置信息未能正常获取到,但是此时AWS官网API给出的文档中调用接口的方式只有:AmazonRekognition amazonRekognition = AmazonRekognitionClientBuilder().defaultClient();
    4、但是在查看官方给出的这种默认获取方式的源码中并未找到它底层的获取方式。(也可能时能力不足未发现)
    5、此时可以确认官方给出的方法未能正常获取凭证(Q2),所以导致官方验证用户未通过。
    6、之前在调用S3的时候我们可以知道,配置文件获取有3种方式:1:环境变量。2:本地配置文件。3:代码中配置文件
    7、之前我们验证凭证都是使用本地配置文件。那么在调用AmazonRekognition也同样使用。代码如下:

    三、AmazonRekognition接口凭证验证

    import com.amazonaws.auth.AWSCredentials;
    import com.amazonaws.auth.AWSStaticCredentialsProvider;
    
    public static AmazonRekognition getRekognition() {
            /**
             * 方法一:
             */
            AWSCredentials credentials = new ProfileCredentialsProvider().getCredentials();
            AmazonRekognition amazonRekognition = AmazonRekognitionClientBuilder.standard().withRegion(Regions.US_EAST_1)
                    .withCredentials(new AWSStaticCredentialsProvider(credentials)).build();
    
    
            /**
             * 方法二:
             */
    //        AmazonRekognition amazonRekognition = AmazonRekognitionClientBuilder.defaultClient();
            return amazonRekognition;
        }

    四、pom.xml依赖

            <dependency>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk-rekognition</artifactId>
                <version>1.11.759</version>
             </dependency>    
    往外张望的人在做梦,向内审视的人才是清醒的
  • 相关阅读:
    Nginx 知识
    web页面乱码之字符集
    P2633 Count on a tree 树上主席树
    HDU 1542 线段树扫描线
    P4513 小白逛公园 线段树
    牛客4 C sequence
    P4126 [AHOI2009]最小割 网络流
    P3980 [NOI2008]志愿者招募 网络流
    P3313 [SDOI2014]旅行 动态开点线段树 树链剖分
    Planting Trees 单调队列
  • 原文地址:https://www.cnblogs.com/StefanieYang/p/13212508.html
Copyright © 2020-2023  润新知