UPDATE: try fix move s3
All checks were successful
Build and Release / release (push) Successful in 1m2s
All checks were successful
Build and Release / release (push) Successful in 1m2s
This commit is contained in:
@@ -104,7 +104,7 @@ func (s *s3Storage) GetMainBucket() string { return s.bucket }
|
||||
func (s *s3Storage) GetTempBucket() string { return s.tempBucket }
|
||||
|
||||
func (s *s3Storage) Move(ctx context.Context, src *MoveOptions, dest *MoveOptions) error {
|
||||
copySource := url.PathEscape(fmt.Sprintf("%s/%s", src.Bucket, src.Key))
|
||||
copySource := fmt.Sprintf("%s/%s", src.Bucket, url.PathEscape(src.Key))
|
||||
|
||||
_, err := s.client.CopyObject(ctx, &s3.CopyObjectInput{
|
||||
Bucket: aws.String(dest.Bucket),
|
||||
@@ -115,6 +115,15 @@ func (s *s3Storage) Move(ctx context.Context, src *MoveOptions, dest *MoveOption
|
||||
return fmt.Errorf("failed to copy object: %w", err)
|
||||
}
|
||||
|
||||
waiter := s3.NewObjectExistsWaiter(s.client)
|
||||
err = waiter.Wait(ctx, &s3.HeadObjectInput{
|
||||
Bucket: aws.String(dest.Bucket),
|
||||
Key: aws.String(dest.Key),
|
||||
}, time.Second*10)
|
||||
if err != nil {
|
||||
return fmt.Errorf("object not available after copy: %w", err)
|
||||
}
|
||||
|
||||
_, err = s.client.DeleteObject(ctx, &s3.DeleteObjectInput{
|
||||
Bucket: aws.String(src.Bucket),
|
||||
Key: aws.String(src.Key),
|
||||
|
||||
Reference in New Issue
Block a user