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! I Have A Question About The Clearml Api. Why Do All

Hi! I have a question about the ClearML API.
Why do all apis use POST http method? Even delete apis are POST.

The reason is I'm deploying my own API server behind external load balancers (LB) on GCP. And google doesn't like it when their LB receives GET with body ( ref ), so I couldn't reach the API server from ClearML Python SDK.

I could get away by setting env CLEARML_API_DEFAULT_REQ_METHOD=POST and things started to work but it piques my interest why it works this way. I'm also curious why sending DELETE to non-delete apis works the same way as POST.

Posted one month ago
Votes Newest

Answers 2

Thanks for your suggestion @<1523701087100473344:profile|SuccessfulKoala55> !
It sounds like retry is hard if you're not using POST. Am I interpreting this right?
POST is convenient, yeah I agree but I don't see why the rest can't retry.

It would be helpful if you could elaborate more; which behavior you're trying to control, what's the actual SW stacks and why they're on good terms with POST, why other methods won't work, etc.

Posted one month ago

Hi @<1578193384537853952:profile|MoodyOx45> , I would suggest using CLEARML_API_DEFAULT_REQ_METHOD=PUT
The reason we've been using a single method is mostly so we can control the behavior (since in many cases, SW stacks will associate specific retry behaviors with POST etc.)

Posted one month ago
2 Answers
one month ago
one month ago