mirror of
https://github.com/minio/minio.git
synced 2025-05-21 01:23:57 -04:00
Azure gateway complete multipart ETag (#7500)
Compute md5 for azure multipart upload that matches s3 behavior Reuse complete multipart md5 function in azure gateway
This commit is contained in:
parent
3efcd6fa46
commit
816459d10f
@ -17,6 +17,7 @@
|
|||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
@ -349,6 +350,11 @@ func ErrorRespToObjectError(err error, params ...string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ComputeCompleteMultipartMD5 calculates MD5 ETag for complete multipart responses
|
||||||
|
func ComputeCompleteMultipartMD5(parts []CompletePart) (string, error) {
|
||||||
|
return getCompleteMultipartMD5(context.Background(), parts)
|
||||||
|
}
|
||||||
|
|
||||||
// parse gateway sse env variable
|
// parse gateway sse env variable
|
||||||
func parseGatewaySSE(s string) (gatewaySSE, error) {
|
func parseGatewaySSE(s string) (gatewaySSE, error) {
|
||||||
l := strings.Split(s, ";")
|
l := strings.Split(s, ";")
|
||||||
|
@ -37,6 +37,7 @@ import (
|
|||||||
humanize "github.com/dustin/go-humanize"
|
humanize "github.com/dustin/go-humanize"
|
||||||
"github.com/minio/cli"
|
"github.com/minio/cli"
|
||||||
miniogopolicy "github.com/minio/minio-go/pkg/policy"
|
miniogopolicy "github.com/minio/minio-go/pkg/policy"
|
||||||
|
"github.com/minio/minio/cmd"
|
||||||
"github.com/minio/minio/cmd/logger"
|
"github.com/minio/minio/cmd/logger"
|
||||||
"github.com/minio/minio/pkg/auth"
|
"github.com/minio/minio/pkg/auth"
|
||||||
"github.com/minio/minio/pkg/policy"
|
"github.com/minio/minio/pkg/policy"
|
||||||
@ -1202,19 +1203,21 @@ func (a *azureObjects) CompleteMultipartUpload(ctx context.Context, bucket, obje
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return objInfo, azureToObjectError(err, bucket, object)
|
return objInfo, azureToObjectError(err, bucket, object)
|
||||||
}
|
}
|
||||||
if len(metadata.Metadata) > 0 {
|
objBlob.Metadata, objBlob.Properties, err = s3MetaToAzureProperties(ctx, metadata.Metadata)
|
||||||
objBlob.Metadata, objBlob.Properties, err = s3MetaToAzureProperties(ctx, metadata.Metadata)
|
if err != nil {
|
||||||
if err != nil {
|
return objInfo, azureToObjectError(err, bucket, object)
|
||||||
return objInfo, azureToObjectError(err, bucket, object)
|
}
|
||||||
}
|
objBlob.Metadata["md5sum"], err = cmd.ComputeCompleteMultipartMD5(uploadedParts)
|
||||||
err = objBlob.SetProperties(nil)
|
if err != nil {
|
||||||
if err != nil {
|
return objInfo, err
|
||||||
return objInfo, azureToObjectError(err, bucket, object)
|
}
|
||||||
}
|
err = objBlob.SetProperties(nil)
|
||||||
err = objBlob.SetMetadata(nil)
|
if err != nil {
|
||||||
if err != nil {
|
return objInfo, azureToObjectError(err, bucket, object)
|
||||||
return objInfo, azureToObjectError(err, bucket, object)
|
}
|
||||||
}
|
err = objBlob.SetMetadata(nil)
|
||||||
|
if err != nil {
|
||||||
|
return objInfo, azureToObjectError(err, bucket, object)
|
||||||
}
|
}
|
||||||
var partNumberMarker int
|
var partNumberMarker int
|
||||||
for {
|
for {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user