mc 对存储桶名称所做的验证将它们限制为可使用 DNS 的字符子集。 然而谷歌云存储似乎允许其他字符。 这导致 mc 无法对某些 GCS 存储桶执行操作的情况。
有没有办法在每个别名的基础上放宽该限制? 我的用例是能够在 GCS 和 S3 之间传输数据,我目前无法对我正在使用的所有存储桶执行此操作。 请参阅下面的错误信息。
$ ./mc config host add gcs https://storage.googleapis.com GOOGXXXXXXXXXXXXXXXX eb4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX S3v2
$ ./mc ls gcs
[2016-03-21 15:30:02 GMT] 0B dw_export/
$ ./mc ls gcs/dw_export/
mc: <ERROR> Unable to stat ‘gcs/dw_export/’. Bucket name contains invalid characters.
$ ./mc 配置主机添加 gcs https://storage.googleapis.com GOOGXXXXXXXXXXXXXXXX eb4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX S3v2
$ ./mc ls gcs
[2016-03-21 15:30:02 GMT] 0B dw_export/
$ ./mc ls gcs/dw_export/
麦克:无法统计“gcs/dw_export/”。 存储桶名称包含无效字符。
目前是的存储桶根据 S3 存储桶命名要求受到限制,即遵循来自http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html 的存储桶限制
将看看是否有办法仅针对 gcs 放松这一点。
我们是否可以拥有特定于每个存储提供程序的存储桶命名/验证约定。 当我们支持多个提供者,每个提供者都有自己的限制时,这会非常方便。 一个人的政策变化不会破坏另一个。
我们是否可以拥有特定于每个存储提供程序的存储桶命名/验证约定。 当我们支持多个提供者,每个提供者都有自己的限制时,这会非常方便。 一个人的政策变化不会破坏另一个。
Google Cloud Storage 的问题在于它不完全兼容 S3。 'mc' 是一个工具,只为 S3、Minio、Ceph 或 Swift 和文件系统等兼容 'S3' 的对象存储而编写。 - 这就是为每个提供商添加逐字解决方案没有意义的原因,因为它不是适用于所有类型提供商的通用数据传输工具。
可以做的是放宽针对“GCS”的桶限制,它需要在 minio-go 中更改代码。
为了使 minio 工作,我使用不带下划线的名称转移(重命名)我的后台。
所以在那之后,我能够镜像这个存储桶。
我们应该只鼓励用户遵循最佳实践。 如果我们放松它,GCS、AWS 和 Minio 之间的数据迁移变得更加困难,用户将始终依赖 mc。
由于关闭后没有任何近期活动,因此该线程已自动锁定。 请为相关错误打开一个新问题。
最有用的评论
目前是的存储桶根据 S3 存储桶命名要求受到限制,即遵循来自http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html 的存储桶限制
将看看是否有办法仅针对 gcs 放松这一点。