我目前正在尝试编写Python代码,以便在亚马逊网络服务存储桶和亚马逊网络服务FSx S3共享之间传输文件。这将在Lambda函数中使用。
我可以通过使用Lambda临时存储/tmp并将文件从S3传输到/tmp,然后从/tmp传输到中小型企业共享来实现这一点,但将文件直接从S3传输到中小型企业共享会更高效。我可以使用Python AWS BOTO3 SDK通过以下代码直接从S3存储桶中打开该文件:
fileobj = s3client.get_object(
Bucket=bucketname,
Key = file_to_read) connection.storeFile(service_name='s3-test',
path='test-write.txt',
file_obj = fileobj["Body"])已在SMB共享上成功创建test-write.txt文件,但该文件为空,大小为0。没有错误,程序成功完成。我认为这一定与file_obj所期望的python“类似文件的对象”有关。由于没有错误,我假设我使用的fileobj“Body”是正确的?
有什么想法会很受欢迎吗?
发布于 2021-12-02 19:29:54
问题可能来自方法尝试写入的错误指针位置。
可以使用文件对象的查找方法来更改文件指针的位置。
在像这样写之前放入seek(0)行。
file_obj.seek(0)
connection.storeFile(...https://stackoverflow.com/questions/70203422
复制相似问题