Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Hi There! I Have A Question Regarding S3 Access: I Created A S3 User With Read/Write Access But Not Delete, And Trains Seems To Requires Delete Permissions (See Errors Below). Why Does It Need Delete Permissions?

Hi there!
I have a question regarding s3 access: I created a s3 user with read/write access but not delete, and trains seems to requires delete permissions (see errors below). Why does it need delete permissions?
botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the DeleteObject operation: Access DeniedAnd then
Traceback (most recent call last): File "/Users/H4dr1en/miniconda3/envs/my-repo/lib/python3.6/site-packages/trains/storage/helper.py", line 777, in check_write_permissions raise ValueError('Insufficient permissions for {}'.format(base_url)) ValueError: Insufficient permissions for s3://my-bucket/my-folder

Posted 3 years ago
Votes Newest

Answers 5

We could change the behavior to use a filename containing a timestamp and only try to delete it afterwards (meaning a delete permission will be optional, but not required), however this would mean that if you don't have a delete permission, you'll get such a file there for every time you run Trains... What do you think?

Posted 3 years ago

I actually need to be able to overwrite files, so in my case it makes sense to give the Deleteobject permission in s3. But for other cases, why not simply catch this error, display a warning to the user and store internally that delete is not possible?

Posted 3 years ago

But since DeleteObject is required for overwrite, and since we use overwrite as well in artifacts and model uploads, I think there's no way around it...

Posted 3 years ago

Alright then! 👍

Posted 3 years ago

Hi JitteryCoyote63 ,
The reason Trains requires delete permission was that in order to verify write permission, it places a small test file named .trains.test in the target storage location, and deletes it immediately after.

Posted 3 years ago
5 Answers
3 years ago
one year ago