Python HL SDK: use IfNoneMatch to support conditional write (aka exclusive creation) #9309
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change Description
Closes #7505.
This replaces existing
obj.exists()
check with conditional writes using 'IfNoneMatch: *'. I have tried to maintain compat in terms of error raised, by raisingObjectExistsError
on pre-condition failure.Testing Details
How were the changes tested?
There is an existing
test_object_upload_exists
that covers this. I have extended this test by parametrizing it withpre_sign=True|False
.Breaking Change?
Does this change break any existing functionality? (API, CLI, Clients)
No.
Additional info
Logs, outputs, screenshots of changes if applicable (CLI / GUI changes)
Contact Details
How can we get in touch with you if we need more info? (ex. [email protected])