diff --git a/Amazon-S3-API.md b/Amazon-S3-API.md index ae86478..981bc30 100644 --- a/Amazon-S3-API.md +++ b/Amazon-S3-API.md @@ -16,16 +16,16 @@ Each bucket has its own collection. Usually one collection uses 7 volumes, where Try to keep the volume size low. For example, ```bash - weed master -volumeSizeLimitMB=1024 +weed master -volumeSizeLimitMB=1024 ``` In addition, you can also configure the per bucket storage this way in `weed shell`: ```bash - fs.configure -locationPrefix=/buckets/ -volumeGrowthCount=1 -apply +fs.configure -locationPrefix=/buckets/ -volumeGrowthCount=1 -apply ``` This will add 1 physical volume when existing volumes are full. If using replication, you will need to add more volumes, so that it is a multiple of the number of replicas: ```bash - fs.configure -locationPrefix=/buckets/ -replication=001 -volumeGrowthCount=2 -apply +fs.configure -locationPrefix=/buckets/ -replication=001 -volumeGrowthCount=2 -apply ``` See https://github.com/seaweedfs/seaweedfs/wiki/Path-Specific-Configuration @@ -71,6 +71,7 @@ Not included: * Policy # Feature difference + | Feature | SeaweedFS | Amazon S3 | | -------------------------------------- | --------- | --------- | | Multi byte ranges reads | Yes | No | @@ -88,13 +89,20 @@ This is not so ideal. Another approach is to list current directory when deletin The last approach, which is most efficient, is to maintain counters for each folder, and drop the folder as soon as it becomes empty. This is implemented in [[Cloud Monitoring]]. # S3 Authentication + By default, the access key and secret key to access `weed s3` is not authenticated. To enable credential based access, you can choose static or dynamic configuration: * **Dynamic Configuration**: setup auth with `s3.configure` in `weed shell` * **Static Configuration**: create a config.json file similar to the example below, and specify it via `weed s3 -config=config.json` ## Dynamic Configuration + +Example command: +```bash +s3.configure -access_key=any -secret_key=any -buckets=bucket1 -user=me -actions=Read,Write,List,Tagging,Admin -apply ``` -> s3.configure -access_key=any -secret_key=any -buckets=bucket1 -user=me -actions=Read,Write,List,Tagging,Admin -apply + +Output from above `s3.configure` command: +```json { "identities": [ {