如何使用带有特定AWS配置文件的dask从s3中读取实木复合地板文件

muo*_*uon 7 python amazon-s3 boto3 dask

如何使用dask特定的AWS配置文件(存储在凭证文件中)在s3上读取镶木地板文件。Dask s3fs使用boto。这是我尝试过的:

>>>import os
>>>import s3fs
>>>import boto3
>>>import dask.dataframe as dd

>>>os.environ['AWS_SHARED_CREDENTIALS_FILE'] = "~/.aws/credentials"

>>>fs = s3fs.S3FileSystem(anon=False,profile_name="some_user_profile")
>>>fs.exists("s3://some.bucket/data/parquet/somefile")
True
>>>df = dd.read_parquet('s3://some.bucket/data/parquet/somefile')
NoCredentialsError: Unable to locate credentials
Run Code Online (Sandbox Code Playgroud)

muo*_*uon 7

没关系,这很简单,但是在网上找不到任何参考,所以这里是:

>>>import os
>>>import dask.dataframe as dd
>>>os.environ['AWS_SHARED_CREDENTIALS_FILE'] = "/path/to/credentials"

>>>df = dd.read_parquet('s3://some.bucket/data/parquet/somefile',
                      storage_options={"profile_name":"some_user_profile"})
>>>df.head()
# works
Run Code Online (Sandbox Code Playgroud)

  • 文档[这里](http://dask.pydata.org/en/latest/remote-data-services.html#s3)-如果您认为更清晰,请随时提交改进的PR报告。 (2认同)
  • 感谢您在线发布您的问题和答案!希望你的努力在未来帮助他人。 (2认同)