MCPcopy
hub / github.com/minio/minio-go / removeObjectsSingleIter

Method removeObjectsSingleIter

api-remove.go:696–718  ·  view source on GitHub ↗

removeObjectsSingleIter deletes objects one by one using single DELETE requests. This is used for endpoints that do not support multi-object delete (e.g., GCS).

(ctx context.Context, bucketName string, objectsIter iter.Seq[ObjectInfo], yield func(RemoveObjectResult) bool, opts RemoveObjectsOptions)

Source from the content-addressed store, hash-verified

694// removeObjectsSingleIter deletes objects one by one using single DELETE requests.
695// This is used for endpoints that do not support multi-object delete (e.g., GCS).
696func (c *Client) removeObjectsSingleIter(ctx context.Context, bucketName string, objectsIter iter.Seq[ObjectInfo], yield func(RemoveObjectResult) bool, opts RemoveObjectsOptions) {
697 for object := range objectsIter {
698 select {
699 case <-ctx.Done():
700 return
701 default:
702 }
703 removeResult := c.removeObject(ctx, bucketName, object.Key, RemoveObjectOptions{
704 VersionID: object.VersionID,
705 GovernanceBypass: opts.GovernanceBypass,
706 })
707 if err := removeResult.Err; err != nil {
708 // Version/object does not exist is not an error, ignore and continue.
709 switch ToErrorResponse(err).Code {
710 case NoSuchVersion, NoSuchKey:
711 continue
712 }
713 }
714 if !yield(removeResult) {
715 return
716 }
717 }
718}
719
720// RemoveIncompleteUpload aborts an partially uploaded object.
721func (c *Client) RemoveIncompleteUpload(ctx context.Context, bucketName, objectName string) error {

Callers 1

removeObjectsIterMethod · 0.95

Calls 2

removeObjectMethod · 0.95
ToErrorResponseFunction · 0.85

Tested by

no test coverage detected