#google-cloud #cloud-storage #cloud #google #sync #rsync

cloud-storage-sync

嵌入类似 rsync 的本地文件和 Google Cloud Storage 存储桶

14 个版本 (6 个破坏性版本)

0.6.0 2021年5月21日
0.5.0 2021年3月5日
0.4.0 2021年1月23日
0.3.0 2020年8月25日
0.2.4 2020年7月16日

#878 in 文件系统

每月下载量:44

自定义许可协议

34KB
771 代码行

cloud-storage-sync

docs

用于同步到、从和 Google Cloud Storage 存储桶之间的文件的库

此项目依赖于 cloud-storage-rs crate。要访问存储桶,您需要指定 SERVICE_ACCOUNT 环境变量,它应包含服务账户 json 密钥的路径。

let force_overwrite = false;
let sync = Sync::new(force_overwrite);

for i in 1..=2 {
    let op_count = sync.sync_local_to_gcs(
        "/some/local/file_or_dir", 
        BUCKET,
        "some/directory",
    ).await?;
    
    if i == 2 {
        assert_eq!(op_count, 0); // passes
    }

    let op_count = sync.sync_gcs_to_local(
        BUCKET,
        "myprefix",
        "../some/directory"
    ).await?;
    
    if i == 2 {
        assert_eq!(op_count, 0); // passes
    }
}

依赖项

~20–35MB
~663K SLoC