-
Notifications
You must be signed in to change notification settings - Fork 76
Open
Labels
cachingIssues that would be fixed or improved by a separate, customizable caching layer.Issues that would be fixed or improved by a separate, customizable caching layer.cloudfileIssues that would be fixed or improved by an implementation of CloudFile.Issues that would be fixed or improved by an implementation of CloudFile.
Description
aiofiles is a Python project to perform IO asynchronously. I am able to asynchronously read files from s3, but I cannot write files to s3. The following code example fails:
import asyncio
import aiofiles
import aiohttp
from cloudpathlib import S3Path
async def main():
chunk_size = 1000
path = S3Path("s3://my-bucket/image.png")
async with aiohttp.ClientSession() as session:
async with session.get("http://httpbin.org/image/png") as resp:
async with aiofiles.open(path, "wb") as f:
async for chunk in resp.content.iter_chunked(chunk_size):
await f.write(chunk)
asyncio.run(main())
The error is:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpq4ls9jhw/....../image.png'
I am using cloudpathlib==0.16.0 and aiofiles==23.2.1.
If I add a path.touch() before initializing the ClientSession, the code runs without error, but the file in s3 is zero bytes.
Thank you for your work on such a clean and easy to use library! It truly is a joy!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
cachingIssues that would be fixed or improved by a separate, customizable caching layer.Issues that would be fixed or improved by a separate, customizable caching layer.cloudfileIssues that would be fixed or improved by an implementation of CloudFile.Issues that would be fixed or improved by an implementation of CloudFile.