Skip to content

Ability to use fsspec.generic.rsync across different filesystems #1398

Open
@f4hy

Description

@f4hy

The rsync method looks like exactly what I have been looking for, but I am not sure how one would use it to say sync data from two different s3 buckets which required difference credentials.

What I would want is something like

fs1_args = {'client_kwargs': {'aws_access_key_id': 'foo', 'aws_secret_access_key': 'bar'}}
fs2_args = {'client_kwargs': {'aws_access_key_id': 'baz', 'aws_secret_access_key': 'qux'}}
fs1 = fsspec.filesystem("s3", **fs1_args)
fs2 = fsspec.filesystem("s3", **fs2_args)
fsspec.generic.rsync("s3://bucket1/somepath", "s3://bucket2/somepath", from_fs=fs1, to_fs=fs2)

but the rsync method only takes an fs= not a to_fs and from_fs. So how is one supposed to pass in both values? Why does the rsync method only take one if it is meant to be able to copy cross systems?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions