

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Tutorial: Unggah objek melalui unggahan multipart dan verifikasi integritas datanya
<a name="tutorial-s3-mpu-additional-checksums"></a>

 Unggahan multibagian memungkinkan Anda untuk mengunggah satu objek sebagai kumpulan bagian. Setiap bagian merupakan bagian data objek yang saling berkaitan. Anda dapat mengunggah bagian-bagian objek tersebut secara independen dan dengan urutan apa pun. Jika ada transmisi bagian mana pun yang gagal, Anda dapat mentransmisikan ulang bagian tersebut tanpa memengaruhi bagian lainnya. Setelah semua bagian objek Anda diunggah, Amazon S3 merakit bagian-bagian ini dan menciptakan objek. Secara umum, saat ukuran objek Anda mencapai 100 MB, Anda harus mempertimbangkan untuk menggunakan unggahan multibagian daripada mengunggah objek tersebut dalam satu operasi. Untuk informasi lebih lanjut tentang unggahan multibagian, lihat [Mengunggah dan menyalin objek menggunakan unggahan multipart di Amazon S3](mpuoverview.md). Untuk batasan yang terkait dengan unggahan multipart, lihat. [Batas unggahan multibagian Amazon S3](qfacts.md)

 Anda dapat menggunakan checksum untuk memverifikasi bahwa aset tidak diubah saat disalin. Melakukan checksum terdiri dari menggunakan algoritma untuk iterasi secara berurutan atas setiap byte dalam file. Amazon S3 menawarkan beberapa opsi checksum untuk memeriksa integritas data. Kami menyarankan Anda melakukan pemeriksaan integritas ini sebagai praktik terbaik daya tahan dan untuk mengonfirmasi bahwa setiap byte ditransfer tanpa perubahan. Amazon S3 juga mendukung algoritma berikut: SHA-1, SHA-256, dan C. CRC32 CRC32 Amazon S3 menggunakan satu atau lebih algoritme ini untuk menghitung nilai checksum tambahan dan menyimpannya sebagai bagian dari metadata objek. Untuk informasi selengkapnya tentang checksum, lihat [Memeriksa integritas objek di Amazon S3](checking-object-integrity.md).

**Tujuan**  
 Dalam tutorial ini, Anda akan belajar cara mengunggah objek ke Amazon S3 dengan menggunakan unggahan multipart dan checksum SHA-256 tambahan melalui Command AWS Line Interface (CLI).AWS Anda juga akan belajar cara memeriksa integritas data objek dengan menghitung MD5 hash dan checksum SHA-256 dari objek yang diunggah. 

**Topics**
+ [Prasyarat](#mpu-prerequisites)
+ [Langkah 1: Buat file besar](#create-large-file-step1)
+ [Langkah 2: Pisahkan file menjadi beberapa file](#split-large-file-step2)
+ [Langkah 3: Buat unggahan multipart dengan checksum tambahan](#create-multipart-upload-step3)
+ [Langkah 4: Unggah bagian dari unggahan multipart Anda](#upload-parts-step4)
+ [Langkah 5: Buat daftar semua bagian dari unggahan multipart Anda](#list-parts-step5)
+ [Langkah 6: Selesaikan unggahan multipart](#complete-multipart-upload-step6)
+ [Langkah 7: Konfirmasikan bahwa objek diunggah ke bucket Anda](#confirm-upload-step7)
+ [Langkah 8: Verifikasi integritas objek dengan MD5 checksum](#verify-object-integrity-step8)
+ [Langkah 9: Verifikasi integritas objek dengan checksum tambahan](#verify-object-integrity-sha256-step9)
+ [Langkah 10: Bersihkan sumber daya Anda](#clean-up-step10)

## Prasyarat
<a name="mpu-prerequisites"></a>
+ Sebelum memulai tutorial ini, pastikan Anda memiliki akses ke bucket Amazon S3 yang dapat Anda unggah. Untuk informasi selengkapnya, lihat [Membuat bucket tujuan umum](create-bucket-overview.md).
+  Anda harus menginstal dan AWS mengkonfigurasi CLI. Jika AWS CLI belum diinstal, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLIAWS Command Line Interface](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) *Panduan Pengguna*.
+ Atau, Anda dapat menjalankan perintah AWS CLI dari konsol dengan menggunakan. AWS CloudShell AWS CloudShell adalah shell berbasis browser dan pra-otentikasi yang dapat Anda luncurkan langsung dari file. Konsol Manajemen AWS Untuk informasi lebih lanjut, lihat [Apa itu CloudShell?](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) dan [Memulai dengan AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html) di *Panduan AWS CloudShell Pengguna*.

## Langkah 1: Buat file besar
<a name="create-large-file-step1"></a>

Jika Anda sudah memiliki file yang siap diunggah, Anda dapat menggunakan file untuk tutorial ini. Jika tidak, buat file 15 MB menggunakan langkah-langkah berikut. Untuk batasan yang terkait dengan unggahan multipart, lihat. [Batas unggahan multibagian Amazon S3](qfacts.md)

**Untuk membuat file besar**

Gunakan salah satu perintah berikut untuk membuat file Anda, tergantung pada sistem operasi yang Anda gunakan.

**Linux atau macOS**  
Untuk membuat file 15 MB, buka terminal lokal Anda dan jalankan perintah berikut:

```
dd if=/dev/urandom of=census-data.bin bs=1M count=15
```

Perintah ini membuat file bernama `census-data.bin` diisi dengan byte acak, dengan ukuran 15 MB.

**Windows**  
Untuk membuat file 15 MB, buka terminal lokal Anda dan jalankan perintah berikut:

```
fsutil file createnew census-data.bin 15728640
```

Perintah ini membuat file bernama `census-data.bin` dengan ukuran 15 MB data arbitrer (15728640 byte).

## Langkah 2: Pisahkan file menjadi beberapa file
<a name="split-large-file-step2"></a>

Untuk melakukan pengunggahan multipart, Anda harus membagi file besar Anda menjadi bagian-bagian yang lebih kecil. Anda kemudian dapat mengunggah bagian-bagian yang lebih kecil dengan menggunakan proses upload multipart. Langkah ini menunjukkan cara membagi file besar yang dibuat di [Langkah 1](#create-large-file-step1) menjadi bagian-bagian yang lebih kecil. Contoh berikut menggunakan file 15 MB bernama`census-data.bin`.

**Untuk membagi file besar menjadi beberapa bagian**

**Linux atau macOS**  
Untuk membagi file besar menjadi bagian 5 MB, gunakan `split` perintah. Buka terminal Anda dan jalankan yang berikut ini:

```
split -b 5M -d census-data.bin census-part
```

Perintah ini dibagi `census-data.bin` menjadi 5 MB bagian bernama`census-part**`, di mana `**` sufiks numerik dimulai dari. `00`

**Windows**  
Untuk membagi file besar, gunakan PowerShell. Buka [Powershell](https://learn.microsoft.com/en-us/powershell/), dan jalankan skrip berikut:

```
$inputFile = "census-data.bin"
$outputFilePrefix = "census-part"
$chunkSize = 5MB

$fs = [System.IO.File]::OpenRead($inputFile)
$buffer = New-Object byte[] $chunkSize
$fileNumber = 0

while ($fs.Position -lt $fs.Length) {
$bytesRead = $fs.Read($buffer, 0, $chunkSize)
$outputFile = "{0}{1:D2}" -f $outputFilePrefix, $fileNumber
$fileStream = [System.IO.File]::Create($outputFile)
$fileStream.Write($buffer, 0, $bytesRead)
$fileStream.Close()
$fileNumber++
}

$fs.Close()
```

 PowerShell Script ini membaca file besar dalam potongan 5 MB dan menulis setiap potongan ke file baru dengan akhiran numerik.

Setelah menjalankan perintah yang sesuai, Anda akan melihat bagian-bagian di direktori tempat Anda menjalankan perintah. Setiap bagian akan memiliki akhiran yang sesuai dengan nomor bagiannya, misalnya:

```
census-part00 census-part01 census-part02
```

## Langkah 3: Buat unggahan multipart dengan checksum tambahan
<a name="create-multipart-upload-step3"></a>

Untuk memulai proses upload multipart, Anda perlu membuat permintaan upload multipart. Langkah ini melibatkan memulai unggahan multibagian dan menentukan checksum tambahan untuk integritas data. Contoh berikut menggunakan checksum SHA-256. Jika Anda ingin memberikan metadata apa pun yang menjelaskan objek yang sedang diunggah, Anda harus menyediakannya dalam permintaan untuk memulai unggahan multibagian.

**catatan**  
Pada langkah ini dan langkah selanjutnya, tutorial ini menggunakan algoritma tambahan SHA-256. Anda mungkin secara opsional menggunakan checksum tambahan lain untuk langkah-langkah ini, seperti, CRC32 C CRC32, atau SHA-1. Jika Anda menggunakan algoritma yang berbeda, Anda harus menggunakannya di seluruh langkah-langkah tutorial.

**Untuk memulai unggahan multipart**

Di terminal Anda, gunakan `create-multipart-upload` perintah berikut untuk memulai unggahan multipart untuk bucket Anda. Ganti `{{{{amzn-s3-demo-bucket1}}}}` dengan nama bucket Anda yang sebenarnya. Juga, ganti `census_data_file` dengan nama file yang Anda pilih. Nama file ini menjadi kunci objek saat unggahan selesai.

```
aws s3api create-multipart-upload --bucket {{amzn-s3-demo-bucket1}} --key '{{census_data_file}}' --checksum-algorithm sha256
```

Jika permintaan Anda berhasil, Anda akan melihat output JSON seperti berikut:

```
{
    "ServerSideEncryption": "AES256",
    "ChecksumAlgorithm": "SHA256",
    "Bucket": "{{amzn-s3-demo-bucket1}}",
    "Key": "census_data_file",
    "UploadId": "cNV6KCSNANFZapz1LUGPC5XwUVi1n6yUoIeSP138sNOKPeMhpKQRrbT9k0ePmgoOTCj9K83T4e2Gb5hQvNoNpCKqyb8m3.oyYgQNZD6FNJLBZluOIUyRE.qM5yhDTdhz"
}
```

**catatan**  
Saat Anda mengirim permintaan untuk memulai unggahan multibagian, Amazon S3 mengirimkan respons dengan ID unggahan, yang merupakan pengidentifikasi unik untuk unggahan multibagian Anda. Anda harus menyertakan ID unggahan ini setiap kali Anda mengunggah bagian, mendaftar bagian, menyelesaikan unggahan, atau menghentikan sebuah unggahan. Anda harus menggunakan `Bucket` nilai`UploadId`,`Key`, dan untuk langkah-langkah selanjutnya, jadi pastikan untuk menyimpannya.  
Selain itu, jika Anda menggunakan unggahan multibagian dengan checksum tambahan, nomor bagian harus berurutan. Jika Anda menggunakan nomor bagian yang tidak berurutan, `complete-multipart-upload` permintaan dapat menghasilkan HTTP. `500 Internal Server Error`

## Langkah 4: Unggah bagian dari unggahan multipart Anda
<a name="upload-parts-step4"></a>

Pada langkah ini, Anda akan mengunggah bagian dari unggahan multipart Anda ke bucket S3 Anda. Gunakan `upload-part` perintah untuk mengunggah setiap bagian satu per satu. Proses ini memerlukan penentuan ID unggahan, nomor bagian, dan file yang akan diunggah untuk setiap bagian.

**Untuk mengunggah bagian-bagiannya**

1. Saat mengunggah bagian, selain ID unggahan, Anda harus menentukan nomor bagian dengan menggunakan `--part-number` argumen. Anda dapat memilih nomor bagian antara 1 hingga 10.000. Nomor bagian secara unik mengidentifikasi sebuah bagian dan posisinya dalam objek yang Anda unggah. Nomor bagian yang Anda pilih harus dalam urutan berurutan (misalnya, bisa 1, 2, atau 3). Jika Anda mengunggah sebuah bagian baru menggunakan nomor yang sama dengan bagian yang diunggah sebelumnya, bagian yang diunggah sebelumnya akan ditimpa.

1. Gunakan `upload-part` perintah untuk mengunggah setiap bagian dari unggahan multipart Anda. Sama seperti pada output yang dibuat oleh `create-multipart-upload` perintah di [Langkah 3](#create-multipart-upload-step3). `--upload-id` Untuk mengunggah bagian pertama data Anda, gunakan perintah berikut:

   ```
   aws s3api upload-part --bucket {{amzn-s3-demo-bucket1}} --key '{{census_data_file}}' --part-number {{1}} --body {{census-part00}} --upload-id "{{cNV6KCSNANFZapz1LUGPC5XwUVi1n6yUoIeSP138sNOKPeMhpKQRrbT9k0ePmgoOTCj9K83T4e2Gb5hQvNoNpCKqyb8m3.oyYgQNZD6FNJLBZluOIUyRE.qM5yhDTdhz}}" --checksum-algorithm {{SHA256}}
   ```

   Setelah menyelesaikan setiap `upload-part` perintah, Anda akan melihat output seperti contoh berikut:

   ```
   {
       "ServerSideEncryption": "AES256",
       "ETag": "\"e611693805e812ef37f96c9937605e69\"",
       "ChecksumSHA256": "QLl8R4i4+SaJlrl8ZIcutc5TbZtwt2NwB8lTXkd3GH0="
   }
   ```

1. Untuk bagian selanjutnya, tambahkan nomor bagian yang sesuai:

   ```
   aws s3api upload-part --bucket {{amzn-s3-demo-bucket1}} --key '{{census_data_file}}' --part-number {{<part-number>}} --body <file-path> --upload-id "<your-upload-id>" --checksum-algorithm SHA256
   ```

   Misalnya, gunakan perintah berikut untuk mengunggah bagian kedua:

   ```
   aws s3api upload-part --bucket {{amzn-s3-demo-bucket1}} --key 'census_data_file' --part-number 2 --body census-part01 --upload-id "cNV6KCSNANFZapz1LUGPC5XwUVi1n6yUoIeSP138sNOKPeMhpKQRrbT9k0ePmgoOTCj9K83T4e2Gb5hQvNoNpCKqyb8m3.oyYgQNZD6FNJLBZluOIUyRE.qM5yhDTdhz" --checksum-algorithm SHA256
   ```

   Amazon S3 mengembalikan tag entitas (ETag) dan checksum tambahan untuk setiap bagian yang diunggah sebagai header dalam respons.

1. Lanjutkan menggunakan `upload-part` perintah sampai Anda mengunggah semua bagian objek Anda.

## Langkah 5: Buat daftar semua bagian dari unggahan multipart Anda
<a name="list-parts-step5"></a>

Untuk menyelesaikan unggahan multibagian, Anda memerlukan daftar semua bagian yang telah diunggah untuk unggahan multibagian tertentu. Output dari `list-parts` perintah memberikan informasi seperti nama bucket, kunci, ID unggah, nomor bagian, checksum tambahan ETag, dan banyak lagi. Sangat membantu untuk menyimpan output ini dalam file sehingga Anda dapat menggunakannya untuk langkah berikutnya saat menyelesaikan proses pengunggahan multibagian. Anda dapat membuat file keluaran JSON yang disebut `parts.json` dengan menggunakan metode berikut.

**Untuk membuat file yang mencantumkan semua bagian**

1. Untuk menghasilkan file JSON dengan rincian semua bagian yang diunggah, gunakan perintah berikut`list-parts`. Ganti **{{amzn-s3-demo-bucket1}}** dengan nama bucket Anda yang sebenarnya dan **<your-upload-id>** dengan ID unggahan yang Anda terima di [Langkah 3](#create-multipart-upload-step3). Untuk informasi selengkapnya tentang `list-parts` perintah, lihat [https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html)di *Panduan AWS Command Line Interface Pengguna*.

   ```
   aws s3api list-parts --bucket {{amzn-s3-demo-bucket1}} --key '{{census_data_file}}' --upload-id {{<your-upload-id>}} --query '{Parts: Parts[*].{PartNumber: PartNumber, ETag: ETag, ChecksumSHA256: ChecksumSHA256}}' --output json > parts.json
   ```

   Sebuah file baru bernama `parts.json` dihasilkan. File tersebut berisi informasi berformat JSON untuk semua bagian yang Anda unggah. `parts.json`File tersebut menyertakan informasi penting untuk setiap bagian dari unggahan multibagian Anda, seperti nomor bagian dan ETag nilai yang sesuai, yang diperlukan untuk menyelesaikan proses pengunggahan multibagian.

1. Buka `parts.json` dengan menggunakan editor teks apa pun atau melalui terminal. Berikut contoh outputnya:

   ```
   {
       "Parts": [
           {
               "PartNumber": 1,
               "ETag": "\"3c3097f89e2a2fece47ac54b243c9d97\"",
               "ChecksumSHA256": "fTPVHfyNHdv5VkR4S3EewdyioXECv7JBxN+d4FXYYTw="
           },
           {
               "PartNumber": 2,
               "ETag": "\"03c71cc160261b20ab74f6d2c476b450\"",
               "ChecksumSHA256": "VDWTa8enjOvULBAO3W2a6C+5/7ZnNjrnLApa1QVc3FE="
           },
           {
               "PartNumber": 3,
               "ETag": "\"81ae0937404429a97967dffa7eb4affb\"",
               "ChecksumSHA256": "cVVkXehUlzcwrBrXgPIM+EKQXPUvWist8mlUTCs4bg8="
           }
       ]
   }
   ```

## Langkah 6: Selesaikan unggahan multipart
<a name="complete-multipart-upload-step6"></a>

Setelah mengunggah semua bagian dari unggahan multipart Anda dan mencantumkannya, langkah terakhir adalah menyelesaikan unggahan multipart. Langkah ini menggabungkan semua bagian yang diunggah menjadi satu objek di bucket S3 Anda.

**catatan**  
Anda dapat menghitung checksum objek sebelum menelepon `complete-multipart-upload` dengan memasukkan `--checksum-sha256` permintaan Anda. Jika checksum tidak cocok, Amazon S3 gagal permintaan. Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html) di *AWS Command Line Interface Panduan Pengguna*.

**Untuk menyelesaikan unggahan multipart**

Untuk menyelesaikan unggahan multipart, gunakan perintah. `complete-multipart-upload` Perintah ini memerlukan `parts.json` file yang dibuat di [Langkah 5](#list-parts-step5), nama bucket Anda, dan ID unggahan. Ganti **<{{amzn-s3-demo-bucket1}}>** dengan nama bucket Anda dan **<your-upload-id>** dengan ID unggah dari`parts.json`.

```
aws s3api complete-multipart-upload --multipart-upload file://parts.json --bucket {{amzn-s3-demo-bucket1}} --key 'census_data_file' --upload-id <your-upload-id>
```

Berikut contoh outputnya:

```
{
    "ServerSideEncryption": "AES256",
    "Location": "https://{{amzn-s3-demo-bucket1}}.s3.us-east-2.amazonaws.com/census_data_file",
    "Bucket": "{{amzn-s3-demo-bucket1}}",
    "Key": "census_data_file",
    "ETag": "\"f453c6dccca969c457efdf9b1361e291-3\"",
    "ChecksumSHA256": "aI8EoktCdotjU8Bq46DrPCxQCGuGcPIhJ51noWs6hvk=-3"
}
```

**catatan**  
Jangan menghapus file bagian individual. Anda akan memerlukan bagian-bagian individual sehingga Anda dapat melakukan checksum pada mereka untuk memverifikasi integritas objek yang digabungkan bersama.

## Langkah 7: Konfirmasikan bahwa objek diunggah ke bucket Anda
<a name="confirm-upload-step7"></a>

Setelah menyelesaikan unggahan multipart, Anda dapat memverifikasi bahwa objek telah berhasil diunggah ke bucket S3 Anda. Untuk membuat daftar objek di bucket Anda dan mengonfirmasi keberadaan file yang baru diunggah, gunakan perintah `list-objects-v2` 

**Untuk daftar objek yang diunggah**

Untuk membuat daftar objek di Anda, gunakan bucket `list-objects-v2` perintah. Ganti **{{amzn-s3-demo-bucket1}}** dengan nama bucket Anda yang sebenarnya: 

```
aws s3api list-objects-v2 --bucket {{amzn-s3-demo-bucket1}}
```

Perintah ini mengembalikan daftar objek di bucket Anda. Cari file yang Anda unggah (misalnya,`census_data_file`) dalam daftar objek. 

Untuk informasi selengkapnya, lihat bagian [Contoh](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects-v2.html) untuk `list-objects-v2` perintah di *Panduan AWS Command Line Interface Pengguna*.

## Langkah 8: Verifikasi integritas objek dengan MD5 checksum
<a name="verify-object-integrity-step8"></a>

Saat mengunggah objek, Anda dapat menentukan algoritma checksum untuk Amazon S3 untuk digunakan. Secara default, Amazon S3 menyimpan MD5 intisari byte sebagai objek. ETag Untuk unggahan multipart, ETag ini bukan checksum untuk seluruh objek, melainkan gabungan checksum untuk setiap bagian individu.

**Untuk memverifikasi integritas objek dengan menggunakan MD5 checksum**

1. Untuk mengambil objek ETag yang diunggah, lakukan permintaan: `head-object`

   ```
   aws s3api head-object --bucket {{amzn-s3-demo-bucket1}} --key {{census_data_file}}
   ```

   Berikut contoh outputnya:

   ```
   {
       "AcceptRanges": "bytes",
       "LastModified": "2024-07-26T19:04:13+00:00",
       "ContentLength": 16106127360,
       "ETag": "\"f453c6dccca969c457efdf9b1361e291-3\"",
       "ContentType": "binary/octet-stream",
       "ServerSideEncryption": "AES256",
       "Metadata": {}
   }
   ```

   Ini ETag memiliki “-3" ditambahkan ke akhir. Ini menunjukkan bahwa objek diunggah dalam tiga bagian menggunakan unggahan multipart.

1. Selanjutnya, hitung MD5 checksum setiap bagian menggunakan `md5sum` perintah. Pastikan Anda memberikan jalur yang benar ke file bagian Anda:

   ```
   md5sum census-part*
   ```

   Berikut contoh outputnya:

   ```
   e611693805e812ef37f96c9937605e69 census-part00
   63d2d5da159178785bfd6b6a5c635854 census-part01
   95b87c7db852451bb38b3b44a4e6d310 census-part02
   ```

1. Untuk langkah ini, gabungkan MD5 hash secara manual menjadi satu string. Kemudian, jalankan perintah berikut untuk mengubah string menjadi biner dan menghitung MD5 checksum dari nilai biner:

   ```
   echo "{{e611693805e812ef37f96c9937605e6963d2d5da159178785bfd6b6a5c63585495b87c7db852451bb38b3b44a4e6d310}}" | xxd -r -p | md5sum
   ```

   Berikut contoh outputnya:

   ```
   f453c6dccca969c457efdf9b1361e291 -
   ```

   Nilai hash ini harus sesuai dengan nilai hash dari ETag nilai asli di [Langkah 1](#create-large-file-step1), yang memvalidasi integritas objek. `census_data_file`

Saat Anda menginstruksikan Amazon S3 untuk menggunakan checksum tambahan, Amazon S3 menghitung nilai checksum untuk setiap bagian dan menyimpan nilainya. Jika Anda ingin mengambil nilai checksum untuk masing-masing bagian dari unggahan multibagian yang masih berlangsung, Anda dapat menggunakannya. `list-parts`

Untuk informasi selengkapnya tentang cara kerja checksum dengan objek unggahan multibagian, lihat. [Memeriksa integritas objek di Amazon S3](checking-object-integrity.md)

## Langkah 9: Verifikasi integritas objek dengan checksum tambahan
<a name="verify-object-integrity-sha256-step9"></a>

Pada langkah ini, tutorial ini menggunakan SHA-256 sebagai checksum tambahan untuk memvalidasi integritas objek. Jika Anda telah menggunakan checksum tambahan yang berbeda, gunakan nilai checksum itu sebagai gantinya.

**Untuk memverifikasi integritas objek dengan SHA256**

1. Jalankan perintah berikut di terminal Anda, termasuk `--checksum-mode enabled` argumen, untuk menampilkan `ChecksumSHA256` nilai objek Anda:

   ```
   aws s3api head-object --bucket {{amzn-s3-demo-bucket1}} --key census_data_file --checksum-mode enabled
   ```

   Berikut contoh outputnya:

   ```
   {
       "AcceptRanges": "bytes",
       "LastModified": "2024-07-26T19:04:13+00:00",
       "ContentLength": 16106127360,
       "ChecksumSHA256": "aI8EoktCdotjU8Bq46DrPCxQCGuGcPIhJ51noWs6hvk=-3",
       "ETag": "\"f453c6dccca969c457efdf9b1361e291-3\"",
       "ContentType": "binary/octet-stream",
       "ServerSideEncryption": "AES256",
       "Metadata": {}
   }
   ```

1. Gunakan perintah berikut untuk memecahkan kode `ChecksumSHA256` nilai untuk masing-masing bagian menjadi base64 dan menyimpannya ke dalam file biner yang disebut. `outfile` Nilai-nilai ini dapat ditemukan di `parts.json` file Anda. Ganti contoh string base64 dengan nilai aktual `ChecksumSHA256` Anda.

   ```
   echo "{{QLl8R4i4+SaJlrl8ZIcutc5TbZtwt2NwB8lTXkd3GH0=}}" | base64 --decode >> outfile
   echo "{{xCdgs1K5Bm4jWETYw/CmGYr+m6O2DcGfpckx5NVokvE=}}" | base64 --decode >> outfile
   echo "{{f5wsfsa5bB+yXuwzqG1Bst91uYneqGD3CCidpb54mAo=}}" | base64 --decode >> outfile
   ```

1. Jalankan perintah berikut untuk menghitung SHA256 checksum dari`outfile`:

   ```
   sha256sum outfile
   ```

   Berikut contoh outputnya:

   ```
   688f04a24b42768b6353c06ae3a0eb3c2c50086b8670f221279d67a16b3a86f9 outfile
   ```

   Pada langkah berikutnya, ambil nilai hash dan ubah menjadi nilai biner. Nilai biner ini harus sesuai dengan `ChecksumSHA256` nilai dari [Langkah 1](#create-large-file-step1).

1. [Ubah SHA256 checksum dari [Langkah 3](#create-multipart-upload-step3) menjadi biner, lalu kodekan ke base64 untuk memverifikasi bahwa itu cocok dengan `ChecksumSHA256` nilai dari Langkah 1:](#create-large-file-step1)

   ```
   echo "688f04a24b42768b6353c06ae3a0eb3c2c50086b8670f221279d67a16b3a86f9" | xxd -r -p | base64
   ```

   Berikut contoh outputnya:

   ```
   aI8EoktCdotjU8Bq46DrPCxQCGuGcPIhJ51noWs6hvk=
   ```

   Output ini harus mengkonfirmasi bahwa output base64 cocok dengan `ChecksumSHA256` nilai dari output `head-object` perintah. Jika output cocok dengan nilai checksum, maka objek tersebut valid.

**penting**  
Saat Anda menginstruksikan Amazon S3 untuk menggunakan checksum tambahan, Amazon S3 menghitung nilai checksum untuk setiap bagian dan menyimpan nilai ini.
Jika Anda ingin mengambil nilai checksum untuk masing-masing bagian dari unggahan multibagian yang masih berlangsung, Anda dapat menggunakan perintah tersebut. `list-parts`

## Langkah 10: Bersihkan sumber daya Anda
<a name="clean-up-step10"></a>

Jika Anda ingin membersihkan file yang dibuat dalam tutorial ini, gunakan metode berikut. Untuk petunjuk cara menghapus file yang diunggah ke bucket S3 Anda, lihat. [Menghapus objek Amazon S3](DeletingObjects.md)

**Hapus file lokal yang dibuat di [Langkah 1](#create-large-file-step1):**

Untuk menghapus file yang Anda buat untuk upload multipart Anda, jalankan perintah berikut dari direktori kerja Anda:

```
rm {{census-data.bin}} census-part* outfile parts.json
```