当前位置: 首页 > 知识库问答 >
问题:

博托科尔。错误工厂。InvalidS3ObjectException:

洪楚
2023-03-14

我试图运行多个图像通过AWS系统使用python代码,只是一个基本的循环。当我运行代码我得到一个错误。我能够运行一个图像,但一旦我试图运行多个图像,我再次得到一个错误代码。

import boto3

if __name__ == "__main__":

bucket='fastlane'
photo=','.join(('test.png',
'test2.png',
'test3.png',
'test4.png',
'test5.png',
'test6.png',
'test7.png',
'test8.png',
'test9.png',
'test10.png',
'test11.png',
'test12.png',
'test13.png',
'test14.png',
'test15.png',
'test16.png',
'test17.png',
'test18.png'))




client=boto3.client('rekognition')


response=client.detect_text(Image={'S3Object': 
{'Bucket':bucket,'Name':photo}})


textDetections=response['TextDetections']
print (response)
print ('Matching faces')
for text in textDetections:
        print ('Detected text:' + text['DetectedText'])
        print ('Confidence: ' + "{:.2f}".format(text['Confidence']) + "%")
        print ('Id: {}'.format(text['Id']))
        if 'ParentId' in text:
            print ('Parent Id: {}'.format(text['ParentId']))
        print ('Type:' + text['Type'])
        print

错误代码:回溯(最近一次调用last):文件“main.py”,第37行,in response=client。在_api_call return self中的第320行检测_text(Image={'S3Object':{'Bucket':Bucket,'Name':photo}})文件“/home/Zeus/farcry/AWS/env/lib/python3.5/site packages/botocore/client.py”_make_api_call(operation_name,kwargs)File“/home/Zeus/farcry/AWS/env/lib/python3.5/site packages/botocore/client.py”,第624行,在make_api_call引发错误_类(解析的_响应,operation_name)botocore中。错误工厂。InvalidS3ObjectException:调用DetectText操作时发生错误(InvalidS3ObjectException):无法从S3获取对象元数据。检查对象密钥、区域和/或访问权限。

共有1个答案

林星华
2023-03-14

将所有名称合并成一个大字符串,并将其作为对象的名称传递,除非s3对象被称为test1,否则该名称将不起作用。png,test2。巴布亚新几内亚等

从文档中:

name(string)--S3对象键名称

你必须为每张照片打电话给detect_text。

你能做的是:

import boto3

if __name__ == "__main__":

    bucket='fastlane'
    client=boto3.client('rekognition')
    photos= ['test.png',
    'test2.png',
    'test3.png',
    'test4.png',
    'test5.png',
    'test6.png',
    'test7.png',
    'test8.png',
    'test9.png',
    'test10.png',
    'test11.png',
    'test12.png',
    'test13.png',
    'test14.png',
    'test15.png',
    'test16.png',
    'test17.png',
    'test18.png']

    for photo in photos:
        response=client.detect_text(Image={'S3Object':
        {'Bucket':bucket,'Name':photo}})

        textDetections=response['TextDetections']
        print (response)
        print ('Matching faces')
        for text in textDetections:
                print ('Detected text:' + text['DetectedText'])
                print ('Confidence: ' + "{:.2f}".format(text['Confidence']) + "%")
                print ('Id: {}'.format(text['Id']))
                if 'ParentId' in text:
                    print ('Parent Id: {}'.format(text['ParentId']))
                print ('Type:' + text['Type'])
 类似资料:
  • 我有一份科尔多瓦的申请。系统重新安装后无法编译它。 我有错误-

  • 问题内容: 我正在尝试使用hibernate模式创建项目,但如果删除该行,则在create所在行中有异常- 项目将成功运行。我正在寻找解决方案,我阅读了这篇文章,并添加了依赖性,但这并不能解决问题 行是: 等于代码中的行: 依存关系 问题答案: 从Hibernate v3.6起,注释类已合并到核心中。您已经指定了对非常旧的注释jar的依赖关系,而该注释jar无法使用Hibernate core 5

  • 我对Spring靴还不熟悉。我尝试了一个身份验证模块,用户可以根据自己的角色注册和登录。我已经编写了用户注册的逻辑,然后当我运行它时,它不会运行,但会显示: 无法构建Hibernate SessionFactory;嵌套异常为org。冬眠MappingException:集合:net的映射中存在重复列。奥斯曼·福哈德。主要的模型使用者角色列:user\u id 以下是多对多关系代码: 有没有人建议

  • 我有一个 spring-boot 项目的 gradle 构建作为 Jenkins 的工作。我正在使用 Jenkins 的 artifactory 插件将生成的 JAR 发布到我们的 artifactory 服务器。 构建成功完成并发布工件,但 Jenkins 控制台报告与 Artifactory 通信时出错(摘自下面列出的控制台)。 我使用的是Jenkins 1.597、artifactory插件

  • 以下是我在检查需求时得到的信息: 以下是我在尝试构建时得到的结果: 我已将ANDROID\u HOME的环境变量设置为C:\Users\Ben\AppData\Local\ANDROID\Sdk,将JAVA\u HOME设置为C:\Program Files\JAVA\jdk-14.0.2,并将添加的C:\Program Files\JAVA\jdk-14.0.2\bin、Sdk工具、Sdk平台工

  • 我正在建立第一个科尔多瓦项目。 在全球安装Cordova并创建第一个应用程序存储库后,我试图在此命令中设置android平台: 科尔多瓦平台添加Android--保存 但此操作最终会生成此错误消息: 构建失败 总时间: 0.989 秒 无法安装“科尔多瓦插件白名单”:错误: /家/费拉斯/局/科尔多瓦/你好世界/你好世界/平台/机器人/gradlew: 命令失败,退出代码为 1 在儿童进程.当当到