func (s *Bucket) AbortMultipartUploadRequest(objectKey string, input *AbortMultipartUploadInput) (*request.Request, *AbortMultipartUploadOutput, error) {
	if input == nil {
		input = &AbortMultipartUploadInput{}
	}
	properties := *s.Properties
	properties.ObjectKey = &objectKey
	o := &data.Operation{
		Config:        s.Config,
		Properties:    &properties,
		APIName:       "Abort Multipart Upload",
		RequestMethod: "DELETE",
		RequestURI:    "/<bucket-name>/<object-key>",
		StatusCodes: []int{
			204,  
		},
	}
	x := &AbortMultipartUploadOutput{}
	r, err := request.New(o, input, x)
	if err != nil {
		return nil, nil, err
	}
	return r, x, nil
}
AbortMultipartUploadRequest creates request and output object of AbortMultipartUpload.
package service
import (
	"context"
	"fmt"
	"io"
	"net/http"
	"strings"
	"time"
	"github.com/qingstor/qingstor-sdk-go/v4/config"
	"github.com/qingstor/qingstor-sdk-go/v4/request"
	"github.com/qingstor/qingstor-sdk-go/v4/request/data"
	"github.com/qingstor/qingstor-sdk-go/v4/request/errors"
	"github.com/qingstor/qingstor-sdk-go/v4/utils"
)
var _ fmt.State
var _ io.Reader
var _ http.Header
var _ strings.Reader
var _ time.Time
var _ config.Config
var _ utils.Conn
func (s *Bucket) AbortMultipartUpload(objectKey string, input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) {
	return s.AbortMultipartUploadWithContext(context.Background(), objectKey, input)
}
func (s *Bucket) AbortMultipartUploadWithContext(ctx context.Context, objectKey string, input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) {
	if ctx == nil {
		ctx = context.Background()
	}
	r, x, err := s.AbortMultipartUploadRequest(objectKey, input)
	if err != nil {
		return x, err
	}
	err = r.SendWithContext(ctx)
	if err != nil {
		return nil, err
	}
	requestID := r.HTTPResponse.Header.Get(http.CanonicalHeaderKey("X-QS-Request-ID"))
	x.RequestID = &requestID
	return x, err
}