开发者社区> 问答> 正文

接入阿里云安全图片审核增强版(本地文件检测),出现偶发异常,是什么原因呢?

我这边接入阿里云图片审核增强版(本地文件检测),出现偶发异常:com.aliyun.oss.OSSException: The OSS Access Key Id you provided does not exist in our records.两种不同的错误场景:1. 运行一段时间后,上述报错会一直出现。2. 运行一段时间后,指定serviceCode为营销素材检测(advertisingCheck)报错,指定为通用基线检测(baselineCheck)正常我方系统的图片检测Client和OssClient只会初始化一次,后续保存在内存中重复使用
e25f161f41246cc0f9c7bd0101c1797d.png
41eb6950ac52b567bdd20ea9df014019.png
2ce0b5522b22e5d808892d6851188455.png
这个是PutObjectRequest的构造和OSS上传代码,我这边只会在OssClient初始化时设入securityToken,后续上传都不会再设值了,是这个问题吗?
fdb4222b066a4e5b19e082ce3a87b96d.png
我是参考文档来写的

展开
收起
嘟嘟嘟嘟嘟嘟 2024-01-05 00:56:33 67 0
来自:阿里云安全
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个问题可能是由于阿里云OSS的Access Key Id不存在导致的。你可以尝试以下方法解决这个问题:

    1. 确保你的阿里云账号中存在一个有效的Access Key Id和Access Key Secret。你可以在阿里云控制台的“访问管理”页面找到它们。

    2. 在你的代码中,确保你使用了正确的Access Key Id和Access Key Secret来初始化OssClient。例如:

    import com.aliyun.oss.OSS;
    import com.aliyun.oss.OSSClientBuilder;
    
    public class AliyunOssClient {
        private static final String ENDPOINT = "oss-cn-hangzhou.aliyuncs.com";
        private static final String ACCESS_KEY_ID = "your_access_key_id";
        private static final String ACCESS_KEY_SECRET = "your_access_key_secret";
    
        public static OSS createOssClient() {
            return new OSSClientBuilder().build(ENDPOINT, ACCESS_KEY_ID, ACCESS_KEY_SECRET);
        }
    }
    
    1. 如果问题仍然存在,你可以尝试在阿里云控制台中生成一个新的Access Key Id和Access Key Secret,并更新你的代码中的相关配置。
    2024-01-06 13:37:14
    赞同 展开评论 打赏
  • 根据您提供的信息,这个问题可能是由于阿里云OSS的Access Key Id不存在导致的。您可以尝试以下方法解决这个问题:

    1. 确保您的Access Key Id和Access Key Secret是正确的。您可以在阿里云控制台中找到这些信息。

    2. 检查您的代码中是否正确设置了Access Key Id和Access Key Secret。在初始化OssClient时,确保传入正确的参数。例如:

    import com.aliyun.oss.OSS;
    import com.aliyun.oss.OSSClientBuilder;
    import com.aliyun.oss.model.PutObjectRequest;
    
    public class AliyunOSSDemo {
        public static void main(String[] args) {
            String endpoint = "your-endpoint";
            String accessKeyId = "your-access-key-id";
            String accessKeySecret = "your-access-key-secret";
            String bucketName = "your-bucket-name";
            String objectName = "your-object-name";
            String filePath = "your-file-path";
    
            // 创建OSSClient实例
            OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
    
            // 上传文件到OSS
            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, new File(filePath));
            ossClient.putObject(putObjectRequest);
    
            // 关闭OSSClient
            ossClient.shutdown();
        }
    }
    
    1. 如果问题仍然存在,您可以尝试使用其他方式获取Access Key Id和Access Key Secret,例如从环境变量或配置文件中读取。
    2024-01-05 09:41:48
    赞同 展开评论 打赏
  • 是OSS的报错 看起来是缺少参数securityToken
    b88f880e1ea2019bdab1bc6ff5c75b2f.png
    这个uploadToken是有过期时间的,得需要在过期之前重新实例化下ossClient
    此回答整理自钉群“阿里云内容安全技术答疑群”

    2024-01-05 08:55:03
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
让上云更放心,让云上更安全。
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载