I deleted test case `test_s3_delete_non_existent_object`. It can pass CI, but I realize it can only be reproduced by `moto.mock_s3`.
That is, when we use `moto.mock_s3` to mirror the S3 environment, deleting an non-existent object would result in an `Errors` entry in the response. But in AWS S3 and IBM COS (S3-compatible), deleting non-existent object is allowed, and the non-existent key would still be in the `Deleted` entry. **Regarding `S3DeleteObjectsOperator()`, if there is `Errors` entry in the response, the operator will raise exception and fail, as you advised earlier.** **Reference**: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.delete_objects Response Syntax ``` { 'Deleted': [ { 'Key': 'string', 'VersionId': 'string', 'DeleteMarker': True|False, 'DeleteMarkerVersionId': 'string' }, ], 'RequestCharged': 'requester', 'Errors': [ { 'Key': 'string', 'VersionId': 'string', 'Code': 'string', 'Message': 'string' }, ] } ``` [ Full content available at: https://github.com/apache/incubator-airflow/pull/3823 ] This message was relayed via gitbox.apache.org for [email protected]
