mirror of
https://github.com/rclone/rclone.git
synced 2025-08-17 17:11:37 +02:00
s3: add Zata provider
This commit is contained in:
@@ -111,6 +111,7 @@ Rclone *("rsync for cloud storage")* is a command-line program to sync files and
|
|||||||
* WebDAV [:page_facing_up:](https://rclone.org/webdav/)
|
* WebDAV [:page_facing_up:](https://rclone.org/webdav/)
|
||||||
* Yandex Disk [:page_facing_up:](https://rclone.org/yandex/)
|
* Yandex Disk [:page_facing_up:](https://rclone.org/yandex/)
|
||||||
* Zoho WorkDrive [:page_facing_up:](https://rclone.org/zoho/)
|
* Zoho WorkDrive [:page_facing_up:](https://rclone.org/zoho/)
|
||||||
|
* Zata.ai [:page_facing_up:](https://rclone.org/s3/#Zata)
|
||||||
* The local filesystem [:page_facing_up:](https://rclone.org/local/)
|
* The local filesystem [:page_facing_up:](https://rclone.org/local/)
|
||||||
|
|
||||||
Please see [the full list of all storage providers and their features](https://rclone.org/overview/)
|
Please see [the full list of all storage providers and their features](https://rclone.org/overview/)
|
||||||
|
@@ -185,6 +185,9 @@ var providerOption = fs.Option{
|
|||||||
}, {
|
}, {
|
||||||
Value: "Qiniu",
|
Value: "Qiniu",
|
||||||
Help: "Qiniu Object Storage (Kodo)",
|
Help: "Qiniu Object Storage (Kodo)",
|
||||||
|
}, {
|
||||||
|
Value: "Zata",
|
||||||
|
Help: "Zata (S3 compatible Gateway)",
|
||||||
}, {
|
}, {
|
||||||
Value: "Other",
|
Value: "Other",
|
||||||
Help: "Any other S3 compatible provider",
|
Help: "Any other S3 compatible provider",
|
||||||
@@ -490,6 +493,14 @@ func init() {
|
|||||||
Value: "ap-northeast-1",
|
Value: "ap-northeast-1",
|
||||||
Help: "Northeast Asia Region 1.\nNeeds location constraint ap-northeast-1.",
|
Help: "Northeast Asia Region 1.\nNeeds location constraint ap-northeast-1.",
|
||||||
}},
|
}},
|
||||||
|
}, {
|
||||||
|
Name: "region",
|
||||||
|
Help: "Region where you can connect with.\n",
|
||||||
|
Provider: "Zata",
|
||||||
|
Examples: []fs.OptionExample{{
|
||||||
|
Value: "us-east-1",
|
||||||
|
Help: "Indore, Madhya Pradesh, India",
|
||||||
|
}},
|
||||||
}, {
|
}, {
|
||||||
Name: "region",
|
Name: "region",
|
||||||
Help: "Region where your bucket will be created and your data stored.\n",
|
Help: "Region where your bucket will be created and your data stored.\n",
|
||||||
@@ -576,7 +587,7 @@ func init() {
|
|||||||
}, {
|
}, {
|
||||||
Name: "region",
|
Name: "region",
|
||||||
Help: "Region to connect to.\n\nLeave blank if you are using an S3 clone and you don't have a region.",
|
Help: "Region to connect to.\n\nLeave blank if you are using an S3 clone and you don't have a region.",
|
||||||
Provider: "!AWS,Alibaba,ArvanCloud,ChinaMobile,Cloudflare,FlashBlade,IONOS,Petabox,Liara,Linode,Magalu,Qiniu,RackCorp,Scaleway,Selectel,Storj,Synology,TencentCOS,HuaweiOBS,IDrive,Mega",
|
Provider: "!AWS,Alibaba,ArvanCloud,ChinaMobile,Cloudflare,FlashBlade,IONOS,Petabox,Liara,Linode,Magalu,Qiniu,RackCorp,Scaleway,Selectel,Storj,Synology,TencentCOS,HuaweiOBS,IDrive,Mega,Zata",
|
||||||
Examples: []fs.OptionExample{{
|
Examples: []fs.OptionExample{{
|
||||||
Value: "",
|
Value: "",
|
||||||
Help: "Use this if unsure.\nWill use v4 signatures and an empty region.",
|
Help: "Use this if unsure.\nWill use v4 signatures and an empty region.",
|
||||||
@@ -1380,6 +1391,14 @@ func init() {
|
|||||||
Value: "s3-ap-northeast-1.qiniucs.com",
|
Value: "s3-ap-northeast-1.qiniucs.com",
|
||||||
Help: "Northeast Asia Endpoint 1",
|
Help: "Northeast Asia Endpoint 1",
|
||||||
}},
|
}},
|
||||||
|
}, {
|
||||||
|
Name: "endpoint",
|
||||||
|
Help: "Endpoint for Zata Object Storage.",
|
||||||
|
Provider: "Zata",
|
||||||
|
Examples: []fs.OptionExample{{
|
||||||
|
Value: "idr01.zata.ai",
|
||||||
|
Help: "South Asia Endpoint",
|
||||||
|
}},
|
||||||
}, {
|
}, {
|
||||||
// Selectel endpoints: https://docs.selectel.ru/en/cloud/object-storage/manage/domains/#s3-api-domains
|
// Selectel endpoints: https://docs.selectel.ru/en/cloud/object-storage/manage/domains/#s3-api-domains
|
||||||
Name: "endpoint",
|
Name: "endpoint",
|
||||||
@@ -1392,7 +1411,7 @@ func init() {
|
|||||||
}, {
|
}, {
|
||||||
Name: "endpoint",
|
Name: "endpoint",
|
||||||
Help: "Endpoint for S3 API.\n\nRequired when using an S3 clone.",
|
Help: "Endpoint for S3 API.\n\nRequired when using an S3 clone.",
|
||||||
Provider: "!AWS,ArvanCloud,IBMCOS,IDrive,IONOS,TencentCOS,HuaweiOBS,Alibaba,ChinaMobile,GCS,Liara,Linode,LyveCloud,Magalu,Scaleway,Selectel,StackPath,Storj,Synology,RackCorp,Qiniu,Petabox",
|
Provider: "!AWS,ArvanCloud,IBMCOS,IDrive,IONOS,TencentCOS,HuaweiOBS,Alibaba,ChinaMobile,GCS,Liara,Linode,LyveCloud,Magalu,Scaleway,Selectel,StackPath,Storj,Synology,RackCorp,Qiniu,Petabox,Zata",
|
||||||
Examples: []fs.OptionExample{{
|
Examples: []fs.OptionExample{{
|
||||||
Value: "objects-us-east-1.dream.io",
|
Value: "objects-us-east-1.dream.io",
|
||||||
Help: "Dream Objects endpoint",
|
Help: "Dream Objects endpoint",
|
||||||
@@ -3631,6 +3650,11 @@ func setQuirks(opt *Options) {
|
|||||||
urlEncodeListings = false
|
urlEncodeListings = false
|
||||||
virtualHostStyle = false
|
virtualHostStyle = false
|
||||||
useAlreadyExists = false // untested
|
useAlreadyExists = false // untested
|
||||||
|
case "Zata":
|
||||||
|
useMultipartEtag = false
|
||||||
|
mightGzip = false
|
||||||
|
useUnsignedPayload = false
|
||||||
|
useAlreadyExists = false
|
||||||
case "Exaba":
|
case "Exaba":
|
||||||
virtualHostStyle = false
|
virtualHostStyle = false
|
||||||
case "GCS":
|
case "GCS":
|
||||||
|
@@ -197,6 +197,7 @@ WebDAV or S3, that work out of the box.)
|
|||||||
{{< provider name="WebDAV" home="https://en.wikipedia.org/wiki/WebDAV" config="/webdav/" >}}
|
{{< provider name="WebDAV" home="https://en.wikipedia.org/wiki/WebDAV" config="/webdav/" >}}
|
||||||
{{< provider name="Yandex Disk" home="https://disk.yandex.com/" config="/yandex/" >}}
|
{{< provider name="Yandex Disk" home="https://disk.yandex.com/" config="/yandex/" >}}
|
||||||
{{< provider name="Zoho WorkDrive" home="https://www.zoho.com/workdrive/" config="/zoho/" >}}
|
{{< provider name="Zoho WorkDrive" home="https://www.zoho.com/workdrive/" config="/zoho/" >}}
|
||||||
|
{{< provider name="Zata" home="https://zata.ai/" config="/s3/#Zata" end="true" >}}
|
||||||
{{< provider name="The local filesystem" home="/local/" config="/local/" end="true">}}
|
{{< provider name="The local filesystem" home="/local/" config="/local/" end="true">}}
|
||||||
{{< /provider_list >}}
|
{{< /provider_list >}}
|
||||||
|
|
||||||
|
@@ -43,6 +43,7 @@ The S3 backend can be used with a number of different providers:
|
|||||||
{{< provider name="Synology C2 Object Storage" home="https://c2.synology.com/en-global/object-storage/overview" config="/s3/#synology-c2" >}}
|
{{< provider name="Synology C2 Object Storage" home="https://c2.synology.com/en-global/object-storage/overview" config="/s3/#synology-c2" >}}
|
||||||
{{< provider name="Tencent Cloud Object Storage (COS)" home="https://intl.cloud.tencent.com/product/cos" config="/s3/#tencent-cos" >}}
|
{{< provider name="Tencent Cloud Object Storage (COS)" home="https://intl.cloud.tencent.com/product/cos" config="/s3/#tencent-cos" >}}
|
||||||
{{< provider name="Wasabi" home="https://wasabi.com/" config="/s3/#wasabi" end="true" >}}
|
{{< provider name="Wasabi" home="https://wasabi.com/" config="/s3/#wasabi" end="true" >}}
|
||||||
|
{{< provider name="Zata" home="https://zata.ai/" config="/s3/#Zata" end="true" >}}
|
||||||
{{< /provider_list >}}
|
{{< /provider_list >}}
|
||||||
|
|
||||||
Paths are specified as `remote:bucket` (or `remote:` for the `lsd`
|
Paths are specified as `remote:bucket` (or `remote:` for the `lsd`
|
||||||
@@ -6040,3 +6041,155 @@ d) Delete this remote
|
|||||||
|
|
||||||
y/e/d> y
|
y/e/d> y
|
||||||
```
|
```
|
||||||
|
### Zata Object Storage {#Zata}
|
||||||
|
|
||||||
|
[Zata Object Storage](https://zata.ai/) provides a secure, S3-compatible cloud storage solution designed for scalability and performance, ideal for a variety of data storage needs.
|
||||||
|
|
||||||
|
First run:
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone config
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
This will guide you through an interactive setup process:
|
||||||
|
|
||||||
|
e) Edit existing remote
|
||||||
|
n) New remote
|
||||||
|
d) Delete remote
|
||||||
|
r) Rename remote
|
||||||
|
c) Copy remote
|
||||||
|
s) Set configuration password
|
||||||
|
q) Quit config
|
||||||
|
e/n/d/r/c/s/q> n
|
||||||
|
|
||||||
|
Enter name for new remote.
|
||||||
|
name> my zata storage
|
||||||
|
|
||||||
|
Option Storage.
|
||||||
|
Type of storage to configure.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
|
||||||
|
XX / Amazon S3 Compliant Storage Providers including AWS, ...
|
||||||
|
\ (s3)
|
||||||
|
|
||||||
|
Storage> s3
|
||||||
|
|
||||||
|
Option provider.
|
||||||
|
Choose your S3 provider.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
Press Enter to leave empty.
|
||||||
|
|
||||||
|
XX / Zata (S3 compatible Gateway)
|
||||||
|
\ (Zata)
|
||||||
|
|
||||||
|
provider> Zata
|
||||||
|
|
||||||
|
Option env_auth.
|
||||||
|
Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
|
||||||
|
Only applies if access_key_id and secret_access_key is blank.
|
||||||
|
Choose a number from below, or type in your own boolean value (true or false).
|
||||||
|
Press Enter for the default (false).
|
||||||
|
1 / Enter AWS credentials in the next step.
|
||||||
|
\ (false)
|
||||||
|
2 / Get AWS credentials from the environment (env vars or IAM).
|
||||||
|
\ (true)
|
||||||
|
env_auth>
|
||||||
|
|
||||||
|
Option access_key_id.
|
||||||
|
AWS Access Key ID.
|
||||||
|
Leave blank for anonymous access or runtime credentials.
|
||||||
|
Enter a value. Press Enter to leave empty.
|
||||||
|
access_key_id> "your key"
|
||||||
|
|
||||||
|
Option secret_access_key.
|
||||||
|
AWS Secret Access Key (password).
|
||||||
|
Leave blank for anonymous access or runtime credentials.
|
||||||
|
Enter a value. Press Enter to leave empty.
|
||||||
|
secret_access_key> "your secret key"
|
||||||
|
|
||||||
|
Option region.
|
||||||
|
Region where you can connect with.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
Press Enter to leave empty.
|
||||||
|
1 / Indore, Madhya Pradesh, India
|
||||||
|
\ (us-east-1)
|
||||||
|
region> 1
|
||||||
|
|
||||||
|
Option endpoint.
|
||||||
|
Endpoint for Zata Object Storage.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
Press Enter to leave empty.
|
||||||
|
1 / South Asia Endpoint
|
||||||
|
\ (idr01.zata.ai)
|
||||||
|
endpoint> 1
|
||||||
|
|
||||||
|
Option location_constraint.
|
||||||
|
Location constraint - must be set to match the Region.
|
||||||
|
Leave blank if not sure. Used when creating buckets only.
|
||||||
|
Enter a value. Press Enter to leave empty.
|
||||||
|
location_constraint>
|
||||||
|
|
||||||
|
Option acl.
|
||||||
|
Canned ACL used when creating buckets and storing or copying objects.
|
||||||
|
This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
|
||||||
|
For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
|
||||||
|
Note that this ACL is applied when server-side copying objects as S3
|
||||||
|
doesn't copy the ACL from the source but rather writes a fresh one.
|
||||||
|
If the acl is an empty string then no X-Amz-Acl: header is added and
|
||||||
|
the default (private) will be used.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
Press Enter to leave empty.
|
||||||
|
/ Owner gets FULL_CONTROL.
|
||||||
|
1 | No one else has access rights (default).
|
||||||
|
\ (private)
|
||||||
|
/ Owner gets FULL_CONTROL.
|
||||||
|
2 | The AllUsers group gets READ access.
|
||||||
|
\ (public-read)
|
||||||
|
/ Owner gets FULL_CONTROL.
|
||||||
|
3 | The AllUsers group gets READ and WRITE access.
|
||||||
|
| Granting this on a bucket is generally not recommended.
|
||||||
|
\ (public-read-write)
|
||||||
|
/ Owner gets FULL_CONTROL.
|
||||||
|
4 | The AuthenticatedUsers group gets READ access.
|
||||||
|
\ (authenticated-read)
|
||||||
|
/ Object owner gets FULL_CONTROL.
|
||||||
|
5 | Bucket owner gets READ access.
|
||||||
|
| If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
|
||||||
|
\ (bucket-owner-read)
|
||||||
|
/ Both the object owner and the bucket owner get FULL_CONTROL over the object.
|
||||||
|
6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
|
||||||
|
\ (bucket-owner-full-control)
|
||||||
|
acl>
|
||||||
|
|
||||||
|
Edit advanced config?
|
||||||
|
y) Yes
|
||||||
|
n) No (default)
|
||||||
|
y/n>
|
||||||
|
|
||||||
|
Configuration complete.
|
||||||
|
Options:
|
||||||
|
- type: s3
|
||||||
|
- provider: Zata
|
||||||
|
- access_key_id: xxx
|
||||||
|
- secret_access_key: xxx
|
||||||
|
- region: us-east-1
|
||||||
|
- endpoint: idr01.zata.ai
|
||||||
|
Keep this "my zata storage" remote?
|
||||||
|
y) Yes this is OK (default)
|
||||||
|
e) Edit this remote
|
||||||
|
d) Delete this remote
|
||||||
|
y/e/d>
|
||||||
|
|
||||||
|
```
|
||||||
|
This will leave the config file looking like this.
|
||||||
|
```
|
||||||
|
[my zata storage]
|
||||||
|
type = s3
|
||||||
|
provider = Zata
|
||||||
|
access_key_id = xxx
|
||||||
|
secret_access_key = xxx
|
||||||
|
region = us-east-1
|
||||||
|
endpoint = idr01.zata.ai
|
||||||
|
|
||||||
|
```
|
Reference in New Issue
Block a user