

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

# Bekerja dengan tabel dan data di DynamoDB
<a name="WorkingWithTables"></a>

Bagian ini menjelaskan cara menggunakan AWS Command Line Interface (AWS CLI) dan AWS SDKs untuk membuat, memperbarui, dan menghapus tabel di Amazon DynamoDB.

**catatan**  
Anda juga dapat melakukan tugas-tugas yang sama ini menggunakan Konsol Manajemen AWS. Untuk informasi selengkapnya, lihat [Menggunakan konsol](AccessingDynamoDB.md#ConsoleDynamoDB).

Bagian ini juga menyediakan informasi selengkapnya tentang kapasitas throughput menggunakan penskalaan otomatis DynamoDB atau mengatur throughput yang disediakan secara manual.

**Topics**
+ [Operasi dasar pada tabel DynamoDB](WorkingWithTables.Basics.md)
+ [Pertimbangan saat memilih kelas tabel di DynamoDB](WorkingWithTables.tableclasses.md)
+ [Menambahkan tag dan label ke sumber daya di DynamoDB](Tagging.md)

# Operasi dasar pada tabel DynamoDB
<a name="WorkingWithTables.Basics"></a>

Mirip dengan sistem basis data lainnya, Amazon DynamoDB menyimpan data dalam tabel. Anda dapat mengelola tabel Anda menggunakan beberapa operasi dasar.

**Topics**
+ [Membuat tabel](#WorkingWithTables.Basics.CreateTable)
+ [Menjelaskan tabel](#WorkingWithTables.Basics.DescribeTable)
+ [Memperbarui tabel](#WorkingWithTables.Basics.UpdateTable)
+ [Menghapus tabel](#WorkingWithTables.Basics.DeleteTable)
+ [Menggunakan perlindungan penghapusan](#WorkingWithTables.Basics.DeletionProtection)
+ [Mencantumkan nama tabel](#WorkingWithTables.Basics.ListTables)
+ [Menggambarkan kuota throughput yang disediakan](#WorkingWithTables.Basics.DescribeLimits)

## Membuat tabel
<a name="WorkingWithTables.Basics.CreateTable"></a>

Gunakan operasi `CreateTable` untuk membuat tabel di Amazon DynamoDB. Untuk membuat tabel, Anda harus memberikan informasi berikut:
+ **Nama tabel.** Nama harus sesuai dengan aturan penamaan DynamoDB, dan harus unik untuk akun saat ini dan Wilayah. AWS Misalnya, Anda dapat membuat tabel `People` di AS Timur (Virginia Utara) dan tabel `People` lainnya di Eropa (Irlandia). Namun, kedua tabel ini akan benar-benar berbeda satu sama lain. Untuk informasi selengkapnya, lihat [Jenis data dan aturan penamaan yang didukung di Amazon DynamoDB](HowItWorks.NamingRulesDataTypes.md).
+ **Kunci primer.** Kunci primer dapat terdiri dari satu atribut (kunci partisi) atau dua atribut (kunci partisi dan kunci urutan). Anda perlu memberikan nama atribut, jenis daya, dan peran dari masing-masing atribut: `HASH` (untuk kunci partisi) dan `RANGE` (untuk kunci urutan). Untuk informasi selengkapnya, lihat [Kunci primer](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).
+ **Pengaturan throughput (untuk tabel yang disediakan).** Jika menggunakan mode yang disediakan, Anda harus menentukan pengaturan throughput tulis dan baca awal untuk tabel. Anda dapat mengubah pengaturan ini di waktu lain, atau mengaktifkan penskalaan otomatis DynamoDB untuk mengelola pengaturan untuk Anda. Untuk informasi selengkapnya, lihat [DynamoDB menyediakan mode kapasitas](provisioned-capacity-mode.md) dan [Mengelola kapasitas throughput secara otomatis dengan penskalaan otomatis DynamoDB](AutoScaling.md).

### Contoh 1: Buat tabel sesuai permintaan
<a name="create-payperrequest-example"></a>

Untuk membuat tabel `Music` yang sama menggunakan mode sesuai permintaan.

```
aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema \
        AttributeName=Artist,KeyType=HASH \
        AttributeName=SongTitle,KeyType=RANGE \
    --billing-mode=PAY_PER_REQUEST
```

Operasi `CreateTable` mengembalikan metadata untuk tabel, seperti yang ditunjukkan berikut ini.

```
{
    "TableDescription": {
        "TableArn": "arn:aws:dynamodb:us-east-1:123456789012:table/Music",
        "AttributeDefinitions": [
            {
                "AttributeName": "Artist",
                "AttributeType": "S"
            },
            {
                "AttributeName": "SongTitle",
                "AttributeType": "S"
            }
        ],
        "ProvisionedThroughput": {
            "NumberOfDecreasesToday": 0,
            "WriteCapacityUnits": 0,
            "ReadCapacityUnits": 0
        },
        "TableSizeBytes": 0,
        "TableName": "Music",
        "BillingModeSummary": {
            "BillingMode": "PAY_PER_REQUEST"
        },
        "TableStatus": "CREATING",
        "TableId": "12345678-0123-4567-a123-abcdefghijkl",
        "KeySchema": [
            {
                "KeyType": "HASH",
                "AttributeName": "Artist"
            },
            {
                "KeyType": "RANGE",
                "AttributeName": "SongTitle"
            }
        ],
        "ItemCount": 0,
        "CreationDateTime": 1542397468.348
    }
}
```

**penting**  
 Ketika memanggil `DescribeTable` pada tabel sesuai permintaan, unit kapasitas baca dan unit kapasitas tulis ditetapkan ke 0. 

### Contoh 2: Buat tabel yang disediakan
<a name="create-provisioned-example"></a>

 AWS CLI Contoh berikut menunjukkan cara membuat tabel (`Music`). Kunci primer terdiri dari `Artist` (kunci partisi) dan `SongTitle` (kunci urutan), masing-masing memiliki jenis daya `String`. Throughput maksimum untuk tabel ini adalah 10 unit kapasitas baca dan 5 unit kapasitas tulis.

```
aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema \
        AttributeName=Artist,KeyType=HASH \
        AttributeName=SongTitle,KeyType=RANGE \
    --provisioned-throughput \
        ReadCapacityUnits=10,WriteCapacityUnits=5
```

Operasi `CreateTable` mengembalikan metadata untuk tabel, seperti yang ditunjukkan berikut ini.

```
{
    "TableDescription": {
        "TableArn": "arn:aws:dynamodb:us-east-1:123456789012:table/Music",
        "AttributeDefinitions": [
            {
                "AttributeName": "Artist",
                "AttributeType": "S"
            },
            {
                "AttributeName": "SongTitle",
                "AttributeType": "S"
            }
        ],
        "ProvisionedThroughput": {
            "NumberOfDecreasesToday": 0,
            "WriteCapacityUnits": 5,
            "ReadCapacityUnits": 10
        },
        "TableSizeBytes": 0,
        "TableName": "Music",
        "TableStatus": "CREATING",
        "TableId": "12345678-0123-4567-a123-abcdefghijkl",
        "KeySchema": [
            {
                "KeyType": "HASH",
                "AttributeName": "Artist"
            },
            {
                "KeyType": "RANGE",
                "AttributeName": "SongTitle"
            }
        ],
        "ItemCount": 0,
        "CreationDateTime": 1542397215.37
    }
}
```

Elemen `TableStatus` menunjukkan status tabel saat ini (`CREATING`). Mungkin perlu beberapa saat untuk membuat tabel, bergantung pada nilai yang Anda tentukan untuk `ReadCapacityUnits` dan `WriteCapacityUnits`. Nilai yang lebih besar untuk ini memerlukan DynamoDB mengalokasikan lebih banyak sumber daya untuk tabel.

### Contoh 3: Membuat tabel menggunakan kelas tabel akses standar-jarang DynamoDB
<a name="create-infrequent-access-example"></a>

Untuk membuat tabel `Music` yang sama menggunakan kelas tabel akses standar-jarang DynamoDB.

```
aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema \
        AttributeName=Artist,KeyType=HASH \
        AttributeName=SongTitle,KeyType=RANGE \
    --provisioned-throughput \
        ReadCapacityUnits=10,WriteCapacityUnits=5 \
    --table-class STANDARD_INFREQUENT_ACCESS
```

Operasi `CreateTable` mengembalikan metadata untuk tabel, seperti yang ditunjukkan berikut ini.

```
{
    "TableDescription": {
        "TableArn": "arn:aws:dynamodb:us-east-1:123456789012:table/Music",
        "AttributeDefinitions": [
            {
                "AttributeName": "Artist",
                "AttributeType": "S"
            },
            {
                "AttributeName": "SongTitle",
                "AttributeType": "S"
            }
        ],
        "ProvisionedThroughput": {
            "NumberOfDecreasesToday": 0,
            "WriteCapacityUnits": 5,
            "ReadCapacityUnits": 10
        },
        "TableClassSummary": {
            "LastUpdateDateTime": 1542397215.37,
            "TableClass": "STANDARD_INFREQUENT_ACCESS"
        },
        "TableSizeBytes": 0,
        "TableName": "Music",
        "TableStatus": "CREATING",
        "TableId": "12345678-0123-4567-a123-abcdefghijkl",
        "KeySchema": [
            {
                "KeyType": "HASH",
                "AttributeName": "Artist"
            },
            {
                "KeyType": "RANGE",
                "AttributeName": "SongTitle"
            }
        ],
        "ItemCount": 0,
        "CreationDateTime": 1542397215.37
    }
}
```

## Menjelaskan tabel
<a name="WorkingWithTables.Basics.DescribeTable"></a>

Untuk melihat detail tentang tabel, gunakan operasi `DescribeTable`. Anda harus memberikan nama tabel. Output dari `DescribeTable` adalah dalam format yang sama seperti dari `CreateTable`. Ini mencakup stempel waktu pembuatan tabel, skema kunci, pengaturan throughput yang disediakan, perkiraan ukuran, dan indeks sekunder apa pun yang ada.

**penting**  
 Ketika menjalankan `DescribeTable` pada tabel sesuai permintaan, unit kapasitas baca dan unit kapasitas tulis ditetapkan ke 0. 

**Example**  

```
aws dynamodb describe-table --table-name Music
```

Tabel siap digunakan ketika `TableStatus` berubah dari `CREATING` menjadi `ACTIVE`.

**catatan**  
Jika Anda mengeluarkan permintaan `DescribeTable` segera setelah permintaan `CreateTable`, DynamoDB mungkin mengembalikan kesalahan (`ResourceNotFoundException`). Hal ini karena `DescribeTable` menggunakan kueri yang akhirnya konsisten, dan metadata untuk tabel Anda mungkin tidak tersedia pada saat itu. Tunggu selama beberapa detik, kemudian coba permintaan `DescribeTable` kembali.  
Untuk tujuan penagihan, biaya penyimpanan DynamoDB mencakup overhead per item sebesar 100 byte. (Untuk informasi selengkapnya, buka [Harga DynamoDB](https://aws.amazon.com/dynamodb/pricing/).) Tambahan 100 byte per item ini tidak digunakan dalam perhitungan unit kapasitas atau oleh operasi `DescribeTable`. 

## Memperbarui tabel
<a name="WorkingWithTables.Basics.UpdateTable"></a>

Operasi `UpdateTable` memungkinkan Anda melakukan salah satu hal berikut:
+ Memodifikasi pengaturan throughput tabel yang disediakan (untuk tabel mode yang disediakan).
+ Ubah mode read/write kapasitas tabel.
+ Memanipulasi indeks sekunder global pada tabel (lihat [Menggunakan Indeks Sekunder Global di DynamoDB](GSI.md)).
+ Mengaktifkan atau menonaktifkan DynamoDB Streams pada tabel (lihat [Tangkapan data perubahan DynamoDB Streams](Streams.md)).

**Example**  
 AWS CLI Contoh berikut menunjukkan cara memodifikasi pengaturan throughput disediakan tabel.  

```
aws dynamodb update-table --table-name Music \
    --provisioned-throughput ReadCapacityUnits=20,WriteCapacityUnits=10
```

**catatan**  
Ketika Anda mengeluarkan permintaan `UpdateTable`, status tabel berubah dari `AVAILABLE` menjadi `UPDATING`. Tabel tetap sepenuhnya tersedia untuk digunakan saat `UPDATING`. Setelah proses ini selesai, status tabel berubah dari `UPDATING` menjadi `AVAILABLE`.

**Example**  
 AWS CLI Contoh berikut menunjukkan cara memodifikasi mode read/write kapasitas tabel ke mode on-demand.  

```
aws dynamodb update-table --table-name Music \
    --billing-mode PAY_PER_REQUEST
```

## Menghapus tabel
<a name="WorkingWithTables.Basics.DeleteTable"></a>

Anda dapat menghapus tabel yang tidak digunakan dengan operasi `DeleteTable`. Menghapus tabel adalah operasi yang tidak dapat dipulihkan. Untuk menghapus tabel menggunakan Konsol Manajemen AWS, lihat[Langkah 6: (Opsional) Hapus tabel DynamoDB Anda untuk membersihkan sumber daya](getting-started-step-6.md).

**Example**  
 AWS CLI Contoh berikut menunjukkan cara menghapus tabel.  

```
aws dynamodb delete-table --table-name Music
```

Ketika Anda mengeluarkan permintaan `DeleteTable`, status tabel berubah dari `ACTIVE` menjadi `DELETING`. Mungkin perlu beberapa saat untuk menghapus tabel, bergantung pada sumber daya yang digunakan (seperti data yang disimpan dalam tabel, dan setiap aliran atau indeks pada tabel).

Di akhir operasi `DeleteTable`, tabel tidak akan ada lagi di DynamoDB.

## Menggunakan perlindungan penghapusan
<a name="WorkingWithTables.Basics.DeletionProtection"></a>

Anda dapat melindungi tabel dari penghapusan yang tidak disengaja dengan properti perlindungan penghapusan. Mengaktifkan properti ini untuk tabel membantu memastikan bahwa tabel tersebut tidak terhapus secara tidak sengaja selama operasi manajemen tabel normal administrator. Hal ini juga membantu mencegah gangguan terhadap operasi bisnis normal.

 Pemilik tabel atau administrator yang berwenang mengontrol properti perlindungan penghapusan untuk setiap tabel. Properti perlindungan penghapusan untuk setiap tabel dinonaktifkan secara default. Ini termasuk replika global, dan tabel yang dipulihkan dari cadangan. Ketika perlindungan penghapusan dinonaktifkan untuk sebuah tabel, tabel tersebut dapat dihapus oleh pengguna mana pun yang diberi wewenang oleh kebijakan Manajemen Identitas dan Akses (IAM). Ketika perlindungan penghapusan diaktifkan untuk sebuah tabel, tabel tersebut tidak dapat dihapus oleh siapa pun. 

Untuk mengubah pengaturan ini, buka **Pengaturan tambahan** tabel, arahkan ke panel **Perlindungan Penghapusan** dan pilih **Aktifkan perlindungan penghapusan**. 

Properti proteksi penghapusan didukung oleh konsol DynamoDB, API, CLI/SDK dan. CloudFormation`CreateTable` API mendukung properti proteksi penghapusan pada waktu pembuatan tabel, dan `UpdateTable` API mendukung perubahan properti proteksi penghapusan untuk tabel yang ada.

**catatan**  
Jika AWS akun dihapus, semua data akun tersebut termasuk tabel masih dihapus dalam waktu 90 hari.
Jika DynamoDB kehilangan akses ke kunci yang dikelola pelanggan yang digunakan untuk mengenkripsi tabel, DynamoDB akan tetap mengarsipkan tabel tersebut. Pengarsipan melibatkan membuat cadangan tabel dan menghapus aslinya.

## Mencantumkan nama tabel
<a name="WorkingWithTables.Basics.ListTables"></a>

`ListTables`Operasi mengembalikan nama-nama tabel DynamoDB untuk akun AWS saat ini dan Wilayah.

**Example**  
 AWS CLI Contoh berikut menunjukkan bagaimana untuk daftar nama tabel DynamoDB.  

```
aws dynamodb list-tables
```

## Menggambarkan kuota throughput yang disediakan
<a name="WorkingWithTables.Basics.DescribeLimits"></a>

`DescribeLimits`Operasi mengembalikan kuota kapasitas baca dan tulis saat ini untuk AWS akun saat ini dan Wilayah.

**Example**  
 AWS CLI Contoh berikut menunjukkan bagaimana mendeskripsikan kuota throughput yang disediakan saat ini.  

```
aws dynamodb describe-limits
```
Output menunjukkan kuota atas unit kapasitas baca dan tulis untuk AWS akun saat ini dan Wilayah.

Untuk informasi selengkapnya tentang kuota ini, dan cara meminta peningkatan kuota, lihat [Kuota default throughput](ServiceQuotas.md#default-limits-throughput).

# Pertimbangan saat memilih kelas tabel di DynamoDB
<a name="WorkingWithTables.tableclasses"></a>

DynamoDB menawarkan dua kelas tabel yang dirancang untuk membantu Anda mengoptimalkan biaya. Kelas tabel Standar DynamoDB adalah defaultnya, dan direkomendasikan untuk sebagian besar beban kerja. Kelas tabel DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) dioptimalkan untuk tabel yang biayanya didominasi oleh penyimpanan. Misalnya, tabel yang menyimpan data yang jarang diakses, seperti log aplikasi, postingan media sosial lama, riwayat pesanan e-niaga, dan pencapaian game sebelumnya, merupakan kandidat yang baik untuk kelas tabel Standard-IA.

Setiap tabel DynamoDB dikaitkan dengan kelas tabel. Semua indeks sekunder yang terkait dengan tabel menggunakan kelas tabel yang sama. Anda dapat mengatur kelas tabel Anda saat membuat tabel Anda (DynamoDB Standard secara default) dan memperbarui kelas tabel tabel yang ada menggunakan Konsol Manajemen AWS, AWS CLI, atau SDK. AWS DynamoDB juga mendukung pengelolaan kelas tabel Anda AWS CloudFormation menggunakan tabel satu wilayah (tabel yang bukan tabel global). Setiap kelas tabel menawarkan harga yang berbeda untuk penyimpanan data serta permintaan baca dan tulis. Saat memilih kelas tabel untuk tabel Anda, ingatlah hal berikut:
+ Kelas tabel DynamoDB Standard menawarkan biaya throughput yang lebih rendah daripada DynamoDB Standard-IA dan merupakan opsi yang paling hemat biaya untuk tabel di mana throughput adalah biaya dominan. 
+ Kelas tabel DynamoDB Standard-IA menawarkan biaya penyimpanan yang lebih rendah dibandingkan DynamoDB Standard, dan merupakan pilihan paling hemat biaya untuk tabel di mana penyimpanan merupakan biaya dominan. Ketika penyimpanan melebihi 50% biaya throughput (baca dan tulis) tabel yang menggunakan kelas tabel Standar DynamoDB, kelas tabel IA-Standar DynamoDB dapat membantu Anda mengurangi total biaya tabel. 
+ Tabel DynamoDB Standard-IA menawarkan performa, ketahanan, dan ketersediaan yang sama dengan tabel DynamoDB Standard. 
+ Beralih antara kelas tabel DynamoDB Standard dan DynamoDB Standard-IA tidak memerlukan perubahan kode aplikasi Anda. Anda menggunakan APIs DynamoDB dan titik akhir layanan yang sama terlepas dari kelas tabel yang digunakan tabel Anda. 
+ Tabel DynamoDB Standard-IA kompatibel dengan semua fitur DynamoDB yang ada seperti auto scaling, on-demand mode, (TTL), on-demand backup, recovery (PITR) time-to-live, dan indeks sekunder global. point-in-time

Kelas tabel yang paling hemat biaya untuk tabel Anda bergantung pada penyimpanan yang diharapkan dan pola penggunaan throughput tabel Anda. Anda dapat melihat penyimpanan historis dan biaya throughput dan penggunaan tabel Anda dengan Laporan AWS Biaya dan Penggunaan dan AWS Cost Explorer. Gunakan data historis ini untuk menentukan kelas tabel yang paling hemat biaya untuk tabel Anda. Untuk mempelajari lebih lanjut tentang menggunakan Laporan AWS Biaya dan Penggunaan serta AWS Cost Explorer, lihat Dokumentasi [AWS Billing and Cost Management](https://docs.aws.amazon.com/account-billing/index.html). Lihat Harga [Amazon DynamoDB](https://aws.amazon.com/dynamodb/pricing/on-demand/) untuk detail tentang harga kelas tabel.

**catatan**  
Pembaruan kelas tabel adalah proses latar belakang. Anda masih dapat mengakses tabel Anda secara normal selama pembaruan kelas tabel. Waktu untuk memperbarui kelas tabel Anda bergantung pada lalu lintas tabel, ukuran penyimpanan, dan variabel terkait lainnya. Tidak lebih dari dua pembaruan kelas tabel di tabel Anda diperbolehkan dalam periode akhir 30 hari.

# Menambahkan tag dan label ke sumber daya di DynamoDB
<a name="Tagging"></a>

Anda dapat memberi label pada sumber daya Amazon DynamoDB menggunakan *tag*. Tanda memungkinkan Anda mengategorikan sumber daya dengan berbagai cara, misalnya berdasarkan tujuan, pemilik, lingkungan, atau kriteria lainnya. Tanda membantu Anda melakukan hal berikut:
+ Identifikasi sumber daya dengan cepat berdasarkan tanda yang Anda tetapkan padanya.
+ Lihat AWS tagihan yang dipecah berdasarkan tag.
**catatan**  
Setiap indeks sekunder lokal (LSI) dan indeks sekunder global (GSI) yang terkait dengan tabel yang diberi tanda akan diberi label dengan tanda yang sama secara otomatis. Saat ini, penggunaan DynamoDB Streams tidak dapat diberi tag.

Penandaan didukung oleh AWS layanan seperti Amazon EC2, Amazon S3, DynamoDB, dan banyak lagi. Penandaan yang efisien dapat memberikan wawasan biaya dengan memungkinkan Anda membuat laporan di seluruh layanan yang membawa tanda tertentu.

Untuk memulai penandaan, lakukan hal berikut:

1. Pahami [Pembatasan penandaan di DynamoDB](#TaggingRestrictions).

1. Buat tanda menggunakan [Penandaan pada sumber daya di DynamoDB](Tagging.Operations.md).

1. Gunakan [Menggunakan tag DynamoDB untuk membuat laporan alokasi biaya](#CostAllocationReports) untuk melacak AWS biaya Anda per tag aktif.

Terakhir, merupakan praktik yang baik untuk mengikuti strategi penandaan yang optimal. Untuk informasi selengkapnya, lihat [Strategi penandaan AWS](https://d0.awsstatic.com/aws-answers/AWS_Tagging_Strategies.pdf).

## Pembatasan penandaan di DynamoDB
<a name="TaggingRestrictions"></a>

 Setiap tanda terdiri dari kunci dan nilai, yang keduanya Anda tentukan. Pembatasan berikut berlaku: 
+  Setiap tabel DynamoDB hanya dapat memiliki satu tanda dengan kunci yang sama. Jika Anda mencoba menambahkan tanda yang ada (kunci yang sama), nilai tanda yang ada akan diperbarui ke nilai baru. 
+  Kunci dan nilai tanda peka huruf besar-kecil. 
+  Panjang kunci maksimum adalah 128 karakter Unicode. 
+ Panjang nilai maksimum adalah 256 karakter Unicode. 
+  Karakter yang diperbolehkan adalah huruf, spasi kosong, dan angka, ditambah karakter khusus berikut: `+ - = . _ : /` 
+  Jumlah maksimum tanda per sumber daya adalah 50.
+ Ukuran maksimum yang didukung untuk semua tag dalam tabel adalah 10 KB.
+ AWS-Assigned nama tag dan nilai secara otomatis diberi `aws:` awalan, yang tidak dapat Anda tetapkan. AWS-nama tag yang ditetapkan tidak dihitung terhadap batas tag 50 atau batas ukuran maksimum 10 KB. Nama tanda yang ditetapkan pengguna memiliki prefiks `user:` dalam laporan alokasi biaya. 
+  Anda tidak dapat mengubah penerapan tanda ke versi sebelumnya. 

# Penandaan pada sumber daya di DynamoDB
<a name="Tagging.Operations"></a>

Anda dapat menggunakan konsol Amazon DynamoDB atau AWS Command Line Interface AWS CLI() untuk menambahkan, membuat daftar, mengedit, atau menghapus tag. Anda kemudian dapat mengaktifkan tanda yang ditetapkan pengguna ini sehingga mereka muncul di konsol AWS Manajemen Penagihan dan Biaya untuk pelacakan alokasi biaya. Untuk informasi selengkapnya, lihat [Menggunakan tag DynamoDB untuk membuat laporan alokasi biaya](Tagging.md#CostAllocationReports). 

 Untuk pengeditan massal, Anda juga dapat menggunakan Editor Tanda di Konsol Manajemen AWS. Untuk informasi selengkapnya, silakan lihat [Bekerja dengan Editor Tag](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html).

 Untuk menggunakan DynamoDB API, lihat operasi berikut di [Referensi API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/):
+ [TagResource](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TagResource.html)
+ [UntagResource](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UntagResource.html)
+ [ListTagsOfResource](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ListTagsOfResource.html)

**Topics**
+ [Menetapkan izin untuk memfilter menurut tag](#Tagging.Operations.permissions)
+ [Menambahkan tanda ke tabel baru atau yang sudah ada (Konsol Manajemen AWS)](#Tagging.Operations.using-console)
+ [Menambahkan tanda ke tabel baru atau yang sudah ada (AWS CLI)](#Tagging.Operations.using-cli)

## Menetapkan izin untuk memfilter menurut tag
<a name="Tagging.Operations.permissions"></a>

Untuk menggunakan tanda guna memfilter daftar tabel Anda di konsol DynamoDB, pastikan kebijakan pengguna Anda mencakup akses ke operasi berikut:
+ `tag:GetTagKeys`
+ `tag:GetTagValues`

Anda dapat mengakses operasi ini dengan melampirkan kebijakan IAM baru untuk pengguna Anda dengan mengikuti langkah-langkah di bawah ini.

1. Buka [konsol IAM](https://console.aws.amazon.com/iam/) dengan pengguna Admin.

1. Pilih "Kebijakan" di menu navigasi kiri.

1. Pilih "Buat kebijakan".

1. Tempelkan kebijakan berikut ke editor JSON.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "tag:GetTagKeys",
                   "tag:GetTagValues"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Selesaikan panduan dan tetapkan nama untuk kebijakan (misalnya, `TagKeysAndValuesReadAccess`).

1. Pilih "Pengguna" di menu navigasi kiri.

1. Dari daftar, pilih pengguna yang biasanya Anda gunakan untuk mengakses konsol DynamoDB.

1. Pilih "Tambahkan izin".

1. Pilih "Lampirkan kebijakan yang ada secara langsung".

1. Dari daftar, pilih kebijakan yang Anda buat sebelumnya.

1. Selesaikan panduan.

## Menambahkan tanda ke tabel baru atau yang sudah ada (Konsol Manajemen AWS)
<a name="Tagging.Operations.using-console"></a>

Anda dapat menggunakan konsol DynamoDB untuk menambahkan tanda ke tabel baru saat Anda membuatnya, atau untuk menambahkan, mengedit, atau menghapus tanda untuk tabel yang ada.

**Untuk memberi tanda pada sumber daya saat pembuatan (konsol)**

1. Masuk ke Konsol Manajemen AWS dan buka konsol DynamoDB di. [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)

1. Di panel navigasi, pilih **Tabel**, lalu pilih **Buat tabel**.

1. Pada halaman **Buat tabel DynamoDB**, masukkan nama dan kunci primer. Di bagian **Tanda**, pilih **Tambahkan tanda baru** dan masukkan tanda yang ingin Anda gunakan.

   Untuk informasi selengkapnya tentang struktur tag, lihat [Pembatasan penandaan di DynamoDB](Tagging.md#TaggingRestrictions). 

   Untuk informasi selengkapnya tentang membuat tabel, lihat [Operasi dasar pada tabel DynamoDB](WorkingWithTables.Basics.md).

**Untuk memberi tanda pada sumber daya yang ada (konsol)**

Buka konsol DynamoDB di. [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)

1. Di panel navigasi, pilih **Tabel**.

1. Pilih tabel dalam daftar, lalu pilih tab **Pengaturan tambahan**. Anda dapat menambahkan, mengedit, atau menghapus **tanda** di bagian bawah halaman.

## Menambahkan tanda ke tabel baru atau yang sudah ada (AWS CLI)
<a name="Tagging.Operations.using-cli"></a>

Contoh berikut menunjukkan cara menggunakan tag AWS CLI untuk menentukan saat Anda membuat tabel dan indeks, dan untuk menandai sumber daya yang ada.

**Untuk memberi tanda pada sumber daya saat pembuatan (AWS CLI)**
+ Contoh berikut membuat tabel `Movies` baru dan menambahkan tanda `Owner` dengan nilai `blueTeam`: 

  ```
  aws dynamodb create-table \
      --table-name Movies \
      --attribute-definitions AttributeName=Title,AttributeType=S \
      --key-schema AttributeName=Title,KeyType=HASH \
      --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \
      --tags Key=Owner,Value=blueTeam
  ```

**Untuk memberi tanda pada sumber daya yang ada (AWS CLI)**
+ Contoh berikut menambahkan tanda `Owner` dengan nilai `blueTeam` untuk tabel `Movies`: 

  ```
  aws dynamodb tag-resource \
      --resource-arn arn:aws:dynamodb:us-east-1:123456789012:table/Movies \
      --tags Key=Owner,Value=blueTeam
  ```

**Untuk mencantumkan semua tanda untuk tabel (AWS CLI)**
+ Contoh berikut mencantumkan semua tanda yang terkait dengan tabel `Movies`:

  ```
  aws dynamodb list-tags-of-resource \
      --resource-arn arn:aws:dynamodb:us-east-1:123456789012:table/Movies
  ```

## Menggunakan tag DynamoDB untuk membuat laporan alokasi biaya
<a name="CostAllocationReports"></a>

AWS menggunakan tag untuk mengatur biaya sumber daya pada laporan alokasi biaya Anda. AWS menyediakan dua jenis tag alokasi biaya:
+ Tag AWS yang dihasilkan. AWS mendefinisikan, membuat, dan menerapkan tag ini untuk Anda.
+ Tanda yang ditentukan pengguna. Anda menentukan, membuat, dan menerapkan tanda ini.

Anda harus mengaktifkan kedua jenis tanda secara terpisah sebelum tanda tersebut muncul di Cost Explorer atau laporan alokasi biaya. 

 Untuk mengaktifkan tag AWS yang dihasilkan: 

1.  Masuk ke Konsol Manajemen AWS dan buka konsol Billing and Cost Management [https://console.aws.amazon.com/billing/di](https://console.aws.amazon.com/billing/home#/.) rumah\$1/. 

1.  Di panel navigasi, pilih **Tanda Alokasi Biaya**. 

1.  Di bagian **Tanda Alokasi Biaya yang Dihasilkan AWS**, pilih **Aktifkan**. 

 Untuk mengaktifkan tanda yang ditentukan pengguna: 

1.  Masuk ke Konsol Manajemen AWS dan buka konsol Billing and Cost Management [https://console.aws.amazon.com/billing/di](https://console.aws.amazon.com/billing/home#/.) rumah\$1/. 

1.  Di panel navigasi, pilih **Tanda Alokasi Biaya**. 

1.  Di bagian **Tanda Alokasi Biaya yang Ditentukan Pengguna**, pilih **Aktifkan**. 

 Setelah Anda membuat dan mengaktifkan tag, AWS buat laporan alokasi biaya dengan penggunaan dan biaya yang dikelompokkan berdasarkan tag aktif Anda. Laporan alokasi biaya mencakup semua AWS biaya Anda untuk setiap periode penagihan. Laporan ini mencakup sumber daya yang diberi tanda dan tidak diberi tanda, sehingga Anda dapat mengatur biaya untuk sumber daya dengan jelas. 

**catatan**  
 Saat ini, data apa pun yang ditransfer dari DynamoDB tidak akan diperinci menurut tanda pada laporan alokasi biaya. 

 Untuk informasi selengkapnya, lihat [Menggunakan tanda alokasi biaya](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html). 