如何在Python中使用S3存储桶和Boto3将图像上载到MongoDB
我正在开发一个Python应用程序,其中所需的功能是使用网络摄像头接收实时视频提要,并根据条件是否为真,单击图像并将其上载到数据库 我使用的数据库是MongoDB。据我所知,将图像直接上传到数据库并不是正确的方法。所以,我想做的是:如何在Python中使用S3存储桶和Boto3将图像上载到MongoDB,python,mongodb,amazon-web-services,amazon-s3,boto3,Python,Mongodb,Amazon Web Services,Amazon S3,Boto3,我正在开发一个Python应用程序,其中所需的功能是使用网络摄像头接收实时视频提要,并根据条件是否为真,单击图像并将其上载到数据库 我使用的数据库是MongoDB。据我所知,将图像直接上传到数据库并不是正确的方法。所以,我想做的是: 从网络摄像头中单击图像 图像被上传到一个S3存储桶(来自同一个Python脚本,所以可能使用boto3) 检索上传图像的URL(这似乎是棘手的部分) 然后这个URL和其他一些细节被上传到数据库。(这是最简单的部分) 我理想的工作流程是将图像上传到S3存储桶,检索UR
我还欢迎任何关于将图像存储到MongoDB的更好方法/策略的建议。我在一些页面上看到GridFS可能是一种很好的方法,但不建议经常上传图像(事实上,使用AWS是更可取的方式)。您不需要“检索”公共url,上传时可以指定s3对象的bucket和名称,因此,您已经拥有了所需的信息,可以知道一旦上传,公共url将是什么,这不像s3在上传后为您的对象分配一个新的唯一名称。您不需要“检索”公共url,您可以在上传时指定s3对象的bucket和名称,因此,您已经掌握了需要知道的信息,一旦上传,公共url将是什么,这与s3在上传后为您的对象分配新的唯一名称不同。如果您知道s3存储桶和名称,则可以解释s3对象的url: https://{bucket}.s3.{region}.amazonaws.com/{key} 如果您使用的是Python,那么使用boto3将是上传文件的最简单方法。
请参阅我关于如何上传文件的不同方法的另一个答案:如果您知道S3存储桶和名称,则可以解释S3对象的URL: https://{bucket}.s3.{region}.amazonaws.com/{key} 如果您使用的是Python,那么使用boto3将是上传文件的最简单方法。
关于如何上传文件的不同方法,请参见我的另一个答案:这很有帮助!我会继续的,谢谢!如果我在路上遇到任何问题,我会给你回复。这很有帮助!我会继续的,谢谢!如果我在路上遇到任何麻烦,我会给你回电话的。