При попытке выполнить многоэтапную загрузку в AWS Glacier выдается следующее сообщение:
Invalid x-amz-sha256-tree-hash: cd75dd9eca76a86dda2479831bf470d053195d5185c4da45be694e3cffd308a7
Когда я запускаю sha256sum для файла из командной строки, он возвращаетта же контрольная сумма:
cd75dd9eca76a86dda2479831bf470d053195d5185c4da45be694e3cffd308a7 ./test.mp4
Что я здесь не так делаю?
Я генерирую контрольную сумму и завершаю загрузку следующим образом:
h := sha256.New()
_, err = io.Copy(h, bytes.NewReader(dat))
if err != nil {
log.Fatal(err)
}
checksum := fmt.Sprintf("%x", h.Sum(nil))
// This displays: Checksum:cd75dd9eca76a86dda2479831bf470d053195d5185c4da45be694e3cffd308a7
fmt.Println("Checksum: ", checksum)
_, err = glacierClient.CompleteMultipartUpload(&glacier.CompleteMultipartUploadInput{
AccountId: aws.String("-"),
UploadId: initiateResult.UploadId,
VaultName: aws.String("some-test-vibrant-glacier-vault"),
ArchiveSize: aws.String(fmt.Sprintf("%d", len(dat))),
Checksum: aws.String(checksum),
})