

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

# Membangun basis pengetahuan dengan terhubung ke penyimpanan data terstruktur
<a name="knowledge-base-build-structured"></a>

Amazon Bedrock Knowledge Bases memungkinkan Anda untuk terhubung ke penyimpanan data terstruktur, yang berisi data yang sesuai dengan skema yang telah ditentukan. Contoh data terstruktur termasuk tabel dan database. Pangkalan Pengetahuan Amazon Bedrock dapat mengonversi kueri pengguna ke dalam bahasa yang cocok untuk mengekstrak data dari penyimpanan data terstruktur yang didukung. Kemudian dapat menggunakan kueri yang dikonversi untuk mengambil data yang relevan dengan kueri dan menghasilkan respons yang sesuai. Ini memungkinkan Anda untuk menggunakan data terstruktur yang ada secara langsung tanpa harus mengubahnya ke format yang berbeda atau menghasilkan kueri SQL Anda sendiri.

Setelah menyiapkan basis pengetahuan, Anda dapat mengirimkan kueri untuk mengambil data darinya melalui [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)operasi, atau menghasilkan respons dari data yang diambil melalui operasi. [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) Operasi ini secara mendasar mengubah kueri pengguna menjadi yang sesuai untuk penyimpanan data terstruktur yang terhubung ke basis pengetahuan.

Anda juga memiliki opsi untuk mengonversi kueri secara independen dari pengambilan data dengan menggunakan operasi [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html)API. Operasi ini mengubah kueri bahasa alami menjadi kueri SQL yang sesuai dengan sumber data yang ditanyakan. Anda dapat menggunakan operasi ini secara independen dan memasukkannya ke dalam alur kerja Anda.

Pilih topik untuk mempelajari tentang prasyarat dan proses untuk menghubungkan basis pengetahuan Anda ke penyimpanan data terstruktur.

**Topics**
+ [Siapkan mesin kueri dan izin Anda untuk membuat basis pengetahuan dengan penyimpanan data terstruktur](knowledge-base-prereq-structured.md)
+ [Buat basis pengetahuan dengan menghubungkan ke penyimpanan data terstruktur](knowledge-base-structured-create.md)
+ [Sinkronkan penyimpanan data terstruktur Anda dengan basis pengetahuan Amazon Bedrock Anda](kb-data-source-structured-sync-ingest.md)

# Siapkan mesin kueri dan izin Anda untuk membuat basis pengetahuan dengan penyimpanan data terstruktur
<a name="knowledge-base-prereq-structured"></a>

Topik ini menjelaskan izin yang Anda perlukan saat menghubungkan basis pengetahuan Anda ke penyimpanan data terstruktur. Jika Anda berencana untuk menghubungkan basis pengetahuan Amazon Bedrock ke penyimpanan data terstruktur, Anda harus memenuhi prasyarat. Untuk persyaratan izin umum yang harus dipenuhi, lihat[Menyiapkan izin untuk pengguna atau peran untuk membuat dan mengelola basis pengetahuan](knowledge-base-prereq-permissions-general.md).

**penting**  
Menjalankan kueri SQL sewenang-wenang dapat menjadi risiko keamanan untuk aplikasi apa pun. Text-to-SQL Sebaiknya Anda mengambil tindakan pencegahan sesuai kebutuhan, seperti menggunakan peran terbatas, basis data hanya-baca, dan kotak pasir.

Amazon Bedrock Knowledge Bases menggunakan Amazon Redshift sebagai mesin kueri untuk menanyakan penyimpanan data Anda. Mesin kueri mengakses metadata dari penyimpanan data terstruktur dan menggunakan metadata untuk membantu menghasilkan kueri SQL. Amazon Redshift adalah layanan gudang data yang menggunakan SQL untuk menganalisis data terstruktur di seluruh gudang data, database, dan data lake.

## Buat mesin kueri Amazon Redshift
<a name="kb-query-engine-setup-create"></a>

Anda dapat menggunakan Amazon Redshift Serverless atau Amazon Redshift Provisioned tergantung pada kasus penggunaan Anda, dan terhubung ke grup kerja atau cluster untuk gudang data Anda. Data dasar yang dapat ditanyakan oleh mesin Amazon Redshift dapat berupa data yang disimpan secara native di cluster Amazon Redshift, atau data yang terletak di bawah default ( AWS Glue Data Catalog seperti di Amazon S3 antara lain).

Jika Anda sudah membuat mesin kueri, Anda dapat melewati prasyarat ini. Jika tidak, lakukan langkah-langkah berikut untuk menyiapkan mesin kueri Amazon Redshift yang disediakan atau Amazon Redshift Serverless:

**Untuk menyiapkan mesin kueri di Amazon Redshift disediakan**

1. Ikuti prosedur di [Langkah 1: Buat contoh cluster Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/new-user.html#rs-gsg-launch-sample-cluster) di Panduan Memulai Amazon Redshift.

1. Perhatikan ID cluster.

1. (Opsional) Untuk informasi selengkapnya tentang kluster yang disediakan Amazon Redshift, lihat klaster yang [disediakan Amazon Redshift di Panduan Manajemen](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) Pergeseran Merah Amazon.

**Untuk menyiapkan mesin kueri di Amazon Redshift Tanpa Server**

1. Ikuti hanya prosedur penyiapan di [Membuat gudang data dengan Amazon Redshift Tanpa Server](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html#serverless-console-resource-creation) di Panduan Memulai Amazon Redshift dan konfigurasikan dengan pengaturan default.

1. Perhatikan ARN workgroup.

1. (Opsional) Untuk informasi selengkapnya tentang workgroup Amazon Redshift Tanpa Server, lihat [Workgroups dan namespace di Panduan](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-workgroup-namespace.html) Manajemen Amazon Redshift.

## Konfigurasikan izin mesin kueri Amazon Redshift
<a name="kb-query-engine-setup-redshift-permissions"></a>

Bergantung pada mesin kueri Amazon Redshift yang Anda pilih, Anda dapat mengonfigurasi izin tertentu. Izin yang Anda konfigurasikan bergantung pada metode otentikasi. Tabel berikut menunjukkan metode otentikasi yang dapat digunakan untuk mesin query yang berbeda:


****  

| Metode otentikasi | Amazon Redshift Disediakan | Amazon Redshift Tanpa Server | 
| --- | --- | --- | 
| IAM | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/images/icons/icon-yes.png)Ya | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/images/icons/icon-yes.png)Ya | 
| Nama pengguna basis data | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/images/icons/icon-yes.png)Ya | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/images/icons/icon-no.png)Tidak | 
| AWS Secrets Manager | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/images/icons/icon-yes.png)Ya | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/images/icons/icon-yes.png)Ya | 

Amazon Bedrock Knowledge Bases menggunakan [peran layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) untuk menghubungkan basis pengetahuan ke penyimpanan data terstruktur, mengambil data dari penyimpanan data ini, dan menghasilkan kueri SQL berdasarkan kueri pengguna dan struktur penyimpanan data.

**catatan**  
Jika Anda berencana untuk menggunakan Konsol Manajemen AWS untuk membuat basis pengetahuan, Anda dapat melewati prasyarat ini. Konsol akan membuat peran layanan Amazon Bedrock Knowledge Bases dengan izin yang tepat.

Untuk membuat peran layanan IAM kustom dengan izin yang tepat, ikuti langkah-langkah di [Buat peran untuk mendelegasikan izin ke Layanan AWS dan melampirkan hubungan kepercayaan yang](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) ditentukan. [Hubungan kepercayaan](kb-permissions.md#kb-permissions-trust)

Kemudian, tambahkan izin untuk basis pengetahuan Anda untuk mengakses mesin kueri dan database Amazon Redshift Anda. Perluas bagian yang berlaku untuk kasus penggunaan Anda:

### Mesin kueri Anda disediakan oleh Amazon Redshift
<a name="w2aac28c10c27c13c11c15b1"></a>

Lampirkan kebijakan berikut ke peran layanan kustom Anda untuk memungkinkannya mengakses data Anda dan menghasilkan kueri yang menggunakannya:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RedshiftDataAPIStatementPermissions",
            "Effect": "Allow",
            "Action": [
                "redshift-data:GetStatementResult",
                "redshift-data:DescribeStatement",
                "redshift-data:CancelStatement"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "redshift-data:statement-owner-iam-userid": "${aws:userid}"
                }
            }
        },
        {
            "Sid": "RedshiftDataAPIExecutePermissions",
            "Effect": "Allow",
            "Action": [
                "redshift-data:ExecuteStatement"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:cluster:${Cluster}"
            ]
        },
        {
            "Sid": "SqlWorkbenchAccess",
            "Effect": "Allow",
            "Action": [
                "sqlworkbench:GetSqlRecommendations",
                "sqlworkbench:PutSqlGenerationContext",
                "sqlworkbench:GetSqlGenerationContext",
                "sqlworkbench:DeleteSqlGenerationContext"
            ],
            "Resource": "*"
        },
        {
            "Sid": "GenerateQueryAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock:GenerateQuery"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Anda juga perlu menambahkan izin untuk memungkinkan peran layanan Anda mengautentikasi ke mesin kueri. Perluas bagian untuk melihat izin untuk metode itu.

------
#### [ IAM ]

Untuk mengizinkan peran layanan Anda mengautentikasi ke mesin kueri yang disediakan Amazon Redshift dengan IAM, lampirkan kebijakan berikut ke peran layanan kustom Anda:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetCredentialsWithFederatedIAMCredentials",
            "Effect": "Allow",
            "Action": "redshift:GetClusterCredentialsWithIAM",
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:dbname:Cluster/database"
            ]
        }
    ]
}
```

------

------
#### [ Database user ]

Untuk mengautentikasi sebagai pengguna database Amazon Redshift, lampirkan kebijakan berikut ke peran layanan:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetCredentialsWithClusterCredentials",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:dbuser:${cluster}/${dbuser}",
                "arn:aws:redshift:us-east-1:123456789012:dbname:${cluster}/${database}"
            ]
        }
    ]
}
```

------

------
#### [ AWS Secrets Manager ]

Untuk mengizinkan peran layanan Anda mengautentikasi ke mesin kueri yang disediakan Amazon Redshift Anda dengan rahasia, lakukan hal AWS Secrets Manager berikut:
+ Lampirkan kebijakan berikut ke peran:

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "GetSecretPermissions",
              "Effect": "Allow",
              "Action": [
                  "secretsmanager:GetSecretValue"
              ],
              "Resource": [
                  "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}"
              ]
          }
      ]
  }
  ```

------

### Mesin kueri Anda adalah Amazon Redshift Serverless
<a name="w2aac28c10c27c13c11c15b3"></a>

Izin untuk melampirkan bergantung pada metode otentikasi Anda. Perluas bagian untuk melihat izin untuk suatu metode.

------
#### [ IAM ]

Untuk mengizinkan peran layanan Anda mengautentikasi ke mesin kueri tanpa server Amazon Redshift Anda dengan IAM, lampirkan kebijakan berikut ke peran layanan kustom Anda:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RedshiftServerlessGetCredentials",
            "Effect": "Allow",
            "Action": "redshift-serverless:GetCredentials",
            "Resource": [
                "arn:aws:redshift-serverless:us-east-1:123456789012:workgroup/WorkgroupId"
            ]
        }
    ]
}
```

------

------
#### [ AWS Secrets Manager ]

Untuk mengizinkan peran layanan Anda mengautentikasi ke mesin kueri yang disediakan Amazon Redshift Anda dengan rahasia, lakukan hal AWS Secrets Manager berikut:
+ Lampirkan kebijakan berikut ke peran:

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "GetSecretPermissions",
              "Effect": "Allow",
              "Action": [
                  "secretsmanager:GetSecretValue"
              ],
              "Resource": [
                  "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}"
              ]
          }
      ]
  }
  ```

------

## Izinkan peran layanan basis pengetahuan untuk mengakses penyimpanan data Anda
<a name="knowledge-base-prereq-structured-db-access"></a>

Pastikan data Anda disimpan di salah satu [penyimpanan data terstruktur yang didukung](knowledge-base-structured-create.md) berikut ini:
+ Amazon Redshift
+ AWS Glue Data Catalog (AWS Lake Formation)

Tabel berikut merangkum metode otentikasi yang tersedia untuk mesin kueri, tergantung pada penyimpanan data Anda:


****  

| Metode otentikasi | Amazon Redshift | AWS Glue Data Catalog (AWS Lake Formation) | 
| --- | --- | --- | 
| IAM | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/images/icons/icon-yes.png)Ya | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/images/icons/icon-yes.png)Ya | 
| Nama pengguna basis data | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/images/icons/icon-yes.png)Ya | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/images/icons/icon-no.png)Tidak | 
| AWS Secrets Manager | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/images/icons/icon-yes.png)Ya | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/images/icons/icon-no.png)Tidak | 

Untuk mempelajari cara menyiapkan izin untuk peran layanan Pangkalan Pengetahuan Amazon Bedrock Anda untuk mengakses penyimpanan data Anda dan menghasilkan kueri berdasarkan itu, perluas bagian yang sesuai dengan layanan tempat penyimpanan data Anda berada:

### Amazon Redshift
<a name="w2aac28c10c27c13c13c13b1"></a>

Untuk memberikan akses peran layanan Amazon Bedrock Knowledge Bases ke database Amazon Redshift, gunakan [editor kueri Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2.html) v2 dan jalankan perintah SQL berikut:

1. (Jika Anda mengautentikasi dengan IAM dan pengguna belum dibuat untuk database Anda) Jalankan perintah berikut, yang menggunakan [CREATE USER untuk membuat pengguna](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) database dan memungkinkannya untuk mengautentikasi melalui IAM, ganti *\$1\$1service-role\$1* dengan nama peran layanan Amazon Bedrock Knowledge Bases kustom yang Anda buat:

   ```
   CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;
   ```
**penting**  
Jika Anda menggunakan peran layanan Amazon Bedrock Knowledge Bases yang dibuat untuk Anda di konsol dan kemudian [menyinkronkan penyimpanan data](kb-data-source-structured-sync-ingest.md) Anda sebelum Anda melakukan langkah ini, pengguna akan dibuat untuk Anda, tetapi sinkronisasi akan gagal karena pengguna belum diberikan izin untuk mengakses penyimpanan data Anda. Anda harus melakukan langkah berikut sebelum menyinkronkan.

1. Berikan izin identitas untuk mengambil informasi dari database Anda dengan menjalankan perintah [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html).

------
#### [ IAM ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
   ```

------
#### [ Database user ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "${dbUser}";
   ```

------
#### [ AWS Secrets Manager username ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "${secretsUsername}";
   ```

------
**penting**  
Jangan memberikan`CREATE`,`UPDATE`, atau `DELETE` akses. Pemberian tindakan ini dapat menyebabkan modifikasi data Anda yang tidak diinginkan.

   Untuk kontrol berbutir halus pada tabel yang dapat diakses, Anda dapat mengganti nama tabel `ALL TABLES` tertentu dengan notasi berikut:. *\$1\$1schemaName\$1* *\$1\$1tableName\$1* Untuk informasi selengkapnya tentang notasi ini, lihat bagian **Query objects** di [Cross-database queries](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html).

------
#### [ IAM ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "IAMR:${serviceRole}";
   ```

------
#### [ Database user ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "${dbUser}";
   ```

------
#### [ AWS Secrets Manager username ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "${secretsUsername}";
   ```

------

1. Jika Anda membuat skema baru dalam database Redshift, jalankan perintah berikut untuk memberikan izin identitas terhadap skema baru.

   ```
   GRANT USAGE ON SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
   ```

### AWS Glue Data Catalog
<a name="w2aac28c10c27c13c13c13b3"></a>

Untuk memberikan akses peran layanan Amazon Bedrock Knowledge Bases ke penyimpanan AWS Glue Data Catalog data Anda, gunakan [editor kueri Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2.html) v2 dan jalankan perintah SQL berikut:

1. Jalankan perintah berikut, yang menggunakan [CREATE USER](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) untuk membuat pengguna database dan memungkinkannya untuk mengautentikasi melalui IAM, ganti *\$1\$1service-role\$1* dengan nama peran layanan Amazon Bedrock Knowledge Bases kustom yang Anda buat:

   ```
   CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;
   ```
**penting**  
Jika Anda menggunakan peran layanan Amazon Bedrock Knowledge Bases yang dibuat untuk Anda di konsol dan kemudian [menyinkronkan penyimpanan data](kb-data-source-structured-sync-ingest.md) Anda sebelum Anda melakukan langkah ini, pengguna akan dibuat untuk Anda, tetapi sinkronisasi akan gagal karena pengguna belum diberikan izin untuk mengakses penyimpanan data Anda. Anda harus melakukan langkah berikut sebelum menyinkronkan.

1. Berikan izin peran layanan untuk mengambil informasi dari database Anda dengan menjalankan perintah [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) berikut:

   ```
   GRANT USAGE ON DATABASE awsdatacatalog TO "IAMR:${serviceRole}";
   ```
**penting**  
Jangan memberikan`CREATE`,`UPDATE`, atau `DELETE` akses. Pemberian tindakan ini dapat menyebabkan modifikasi data Anda yang tidak diinginkan.

1. Untuk mengizinkan akses ke AWS Glue Data Catalog database Anda, lampirkan izin berikut ke peran layanan:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": [
                   "glue:GetDatabases",
                   "glue:GetDatabase",
                   "glue:GetTables",
                   "glue:GetTable",
                   "glue:GetPartitions",
                   "glue:GetPartition",
                   "glue:SearchTables"
               ],
               "Resource": [
                   "arn:aws:glue:us-east-1:123456789012:table/${DatabaseName}/${TableName}",
                   "arn:aws:glue:us-east-1:123456789012:database/${DatabaseName}",
                   "arn:aws:glue:us-east-1:123456789012:catalog"
               ]
           }
       ]
   }
   ```

------

1. Berikan izin ke peran layanan Anda melalui AWS Lake Formation (untuk mempelajari lebih lanjut tentang Lake Formation dan hubungannya dengan Amazon Redshift, [lihat Sumber data untuk Redshift](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source.html)) dengan melakukan hal berikut:

   1. Masuk ke Konsol Manajemen AWS, dan buka konsol Lake Formation di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

   1. Pilih **Izin data** dari panel navigasi kiri.

   1. Berikan izin ke peran layanan yang Anda gunakan untuk Pangkalan Pengetahuan Amazon Bedrock.

   1. Berikan izin **Jelaskan** dan **Pilih** untuk database dan tabel Anda.

1. Bergantung pada sumber data yang Anda gunakan AWS Glue Data Catalog, Anda mungkin perlu menambahkan izin untuk mengakses sumber data tersebut (untuk informasi selengkapnya, lihat [AWS Glue ketergantungan pada yang lain Layanan AWS](https://docs.aws.amazon.com/glue/latest/dg/dependency-on-other-services.html)). Misalnya, jika sumber data Anda berada di lokasi Amazon S3, Anda harus menambahkan pernyataan berikut ke kebijakan di atas.

   ```
   {
       "Sid": "Statement1",
       "Effect": "Allow",
       "Action": [
           "s3:ListBucket",
           "s3:GetObject"
       ],
       "Resource": [
           "arn:aws:s3:::${BucketName}",
           "arn:aws:s3:::${BucketName}/*"
       ]
   }
   ```

1. (Opsional) Jika Anda menggunakan AWS KMS untuk mengenkripsi data di Amazon S3 AWS Glue Data Catalog atau, maka Anda perlu menambahkan izin ke peran untuk mendekripsi data pada kunci KMS.

   ```
   {
       "Action": [
           "kms:Decrypt"
       ],
       "Resource": [
           "arn:aws:kms:${Region}:${Account}:key/{KmsId}",
           "arn:aws:kms:${Region}:${Account}:key/{KmsId}"
       ],
       "Effect": "Allow"
   }
   ```

# Buat basis pengetahuan dengan menghubungkan ke penyimpanan data terstruktur
<a name="knowledge-base-structured-create"></a>

Untuk menghubungkan basis pengetahuan ke penyimpanan data terstruktur, Anda menentukan komponen berikut:
+ 

**Konfigurasi mesin kueri**  
Konfigurasi untuk layanan komputasi yang akan mengeksekusi query SQL yang dihasilkan. Mesin kueri digunakan untuk mengonversi kueri pengguna bahasa alami menjadi kueri SQL yang dapat digunakan untuk mengekstrak data dari penyimpanan data Anda. Anda dapat memilih Amazon Redshift sebagai mesin kueri Anda. Saat memilih konfigurasi ini, Anda harus menentukan:
  + Metadata koneksi komputasi seperti ID cluster atau ARN workgroup tergantung pada mesin kueri yang dipilih.
  + Metode otentikasi untuk menggunakan mesin kueri, yang dapat menggunakan peran layanan IAM dengan izin yang sesuai, pengguna database mesin kueri, atau AWS Secrets Manager rahasia yang ditautkan ke kredenal database Anda.
+ 

**Konfigurasi penyimpanan**  
Konfigurasi untuk penyimpanan data yang berisi data Anda. Anda dapat terhubung ke Amazon Redshift Provisioned atau Amazon Redshift Tanpa Server dan menggunakan Amazon Redshift atau sebagai penyimpanan data Anda. AWS Glue Data Catalog 
+ 

**(Opsional) Konfigurasi kueri**  
Anda dapat menggunakan konfigurasi kueri opsional untuk meningkatkan akurasi pembuatan SQL:
  + **Waktu kueri maksimum** — Jumlah waktu setelah waktu kueri habis.
  + **Deskripsi** — Menyediakan metadata atau informasi tambahan tentang tabel atau kolom. Anda dapat menyertakan deskripsi tabel atau kolom, catatan penggunaan, atau atribut tambahan apa pun. Deskripsi yang Anda tambahkan dapat meningkatkan pembuatan kueri SQL dengan memberikan konteks dan informasi tambahan tentang struktur tabel atau kolom.
  + **Inklusi dan Pengecualian** - Menentukan satu set tabel atau kolom untuk dimasukkan atau dikecualikan untuk generasi SQL. Bidang ini sangat penting jika Anda ingin membatasi cakupan kueri SQL ke subset yang ditentukan dari tabel atau kolom yang tersedia. Opsi ini dapat membantu mengoptimalkan proses pembuatan dengan mengurangi referensi tabel atau kolom yang tidak perlu.

    Jika Anda menentukan inklusi, semua tabel dan kolom lainnya diabaikan. Jika Anda menentukan pengecualian, tabel dan kolom yang Anda tentukan akan diabaikan.
**catatan**  
Inklusi dan pengecualian bukan pengganti pagar pembatas dan hanya dimaksudkan untuk meningkatkan akurasi model.
  + **Kueri yang dikuratori** — Satu set contoh pertanyaan dan jawaban yang telah ditentukan sebelumnya. Pertanyaan ditulis sebagai kueri bahasa alami (NLQ) dan jawaban adalah kueri SQL yang sesuai. Contoh-contoh ini membantu proses pembuatan SQL dengan memberikan contoh jenis kueri yang harus dihasilkan. Mereka berfungsi sebagai titik referensi untuk meningkatkan akurasi dan relevansi output SQL generatif.

Perluas bagian yang sesuai dengan kasus penggunaan Anda:

## Gunakan konsol
<a name="knowledge-base-structured-create-console"></a>

Untuk menyambung ke penyimpanan data terstruktur menggunakan Konsol Manajemen AWS, lakukan hal berikut:

1. Masuk ke Konsol Manajemen AWS dengan identitas IAM yang memiliki izin untuk menggunakan konsol Amazon Bedrock. Kemudian, buka konsol Amazon Bedrock di [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Di panel navigasi kiri, pilih **Basis pengetahuan**.

1. Di bagian **Basis pengetahuan**, pilih **Buat** dan kemudian pilih **Basis pengetahuan dengan penyimpanan data terstruktur**.

1. Siapkan detail berikut untuk basis pengetahuan:

   1. (Opsional) Ubah nama default dan berikan deskripsi untuk basis pengetahuan Anda.

   1. Pilih mesin kueri yang akan digunakan untuk mengambil data dari penyimpanan data Anda.

   1. Pilih peran layanan IAM dengan izin yang tepat untuk membuat dan mengelola basis pengetahuan ini. Anda dapat membiarkan Amazon Bedrock membuat peran layanan atau memilih peran khusus yang telah Anda buat. Untuk informasi selengkapnya tentang membuat peran kustom, lihat[Siapkan mesin kueri dan izin Anda untuk membuat basis pengetahuan dengan penyimpanan data terstruktur](knowledge-base-prereq-structured.md).

   1. (Opsional) Tambahkan tag untuk dikaitkan dengan basis pengetahuan Anda. Untuk informasi selengkapnya, lihat [Menandai sumber daya Amazon Bedrock](tagging.md).

   1. Pilih **Berikutnya**.

1. Konfigurasikan mesin kueri Anda:

   1. Pilih layanan tempat Anda membuat cluster atau workgroup. Kemudian pilih cluster atau workgroup yang akan digunakan.

   1. Pilih metode otentikasi dan berikan bidang yang diperlukan.

   1. Pilih penyimpanan data untuk menyimpan metadata Anda. Kemudian, pilih atau masukkan nama database.

   1. (Opsional) Ubah konfigurasi kueri seperlunya. Lihat awal topik ini untuk informasi lebih lanjut tentang konfigurasi yang berbeda.

   1. Pilih **Berikutnya**.

1. Tinjau konfigurasi basis pengetahuan Anda dan edit bagian apa pun yang diperlukan. Konfirmasikan untuk membuat basis pengetahuan Anda.

## Gunakan API
<a name="knowledge-base-structured-create-api"></a>

Untuk menyambung ke penyimpanan data terstruktur menggunakan Amazon Bedrock API, kirim [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)permintaan dengan [titik akhir waktu build Agen untuk Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) dengan badan permintaan umum berikut:

```
{
    "name": "string",
    "roleArn": "string",
    "knowledgeBaseConfiguration": {
        "type": "SQL",
        "sqlKnowledgeBaseConfiguration": [SqlKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SqlKnowledgeBaseConfiguration.html)
    },
    "description": "string",
    "clientToken": "string",
    "tags": {
        "string": "string"
    }
}
```

Bidang berikut diperlukan.


****  

| Bidang | Deskripsi dasar | 
| --- | --- | 
| Nama | Nama untuk basis pengetahuan | 
| roleArn | [Peran layanan basis pengetahuan](kb-permissions.md) dengan izin yang tepat. Anda dapat menggunakan konsol untuk secara otomatis membuat peran layanan dengan izin yang tepat. | 
| knowledgeBaseConfiguration | Berisi konfigurasi untuk basis pengetahuan. Untuk database terstruktur, tentukan SQL sebagai type dan sertakan sqlKnowledgeBaseConfiguration bidang. | 

Bidang berikut adalah opsional.


****  

| Bidang | Gunakan | 
| --- | --- | 
| deskripsi | Untuk memasukkan deskripsi untuk basis pengetahuan. | 
| clientToken | Untuk memastikan permintaan API selesai hanya sekali. Untuk informasi selengkapnya, lihat [Memastikan idempotensi](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 
| tag | Untuk mengaitkan tag dengan aliran. Untuk informasi selengkapnya, lihat [Menandai sumber daya Amazon Bedrock](tagging.md). | 

`SQLKnowledgeBaseConfiguration`Tergantung pada mesin kueri yang Anda gunakan. Untuk Amazon Redshift, tentukan `type` bidang sebagai `REDSHIFT` dan sertakan `redshiftConfiguration` bidang, yang memetakan ke file. [RedshiftConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftConfiguration.html) Untuk [RedshiftConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftConfiguration.html), Anda mengkonfigurasi bidang berikut:

### queryEngineConfiguration
<a name="w2aac28c10c27c15b9b3c17b1"></a>

Anda dapat mengonfigurasi jenis mesin kueri berikut:

#### Amazon Redshift Disediakan
<a name="w2aac28c10c27c15b9b3c17b1b5b1"></a>

Jika database Amazon Redshift Anda disediakan pada node komputasi khusus, nilai `queryEngineConfiguration` bidang harus dalam format berikut: [RedshiftQueryEngineConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineConfiguration.html)

```
{
    "type": "PROVISIONED",
    "provisionedConfiguration": {
        "clusterIdentifier": "string",
        "authConfiguration": [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html)
    },
}
```

Tentukan ID cluster di `clusterIdentifier` lapangan. [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html)Tergantung pada jenis otorisasi yang Anda gunakan. Pilih tab yang cocok dengan metode otorisasi Anda:

------
#### [ IAM role ]

Jika Anda mengotorisasi dengan peran IAM Anda, Anda hanya perlu menentukan `IAM` sebagai jenis di bidang [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html)tanpa tambahan.

```
{
    "type": "IAM"
}
```

------
#### [ Temporary credentials user name ]

Jika Anda mengotorisasi dengan nama pengguna database, tentukan `type` sebagai `USERNAME` dan tentukan nama pengguna di `databaseUser` bidang di`RedshiftProvisionedAuthConfig`:

```
{
    "type": "USERNAME",
    "databaseUser": "string"
}
```

------
#### [ AWS Secrets Manager ]

Jika Anda mengotorisasi dengan AWS Secrets Manager, tentukan `type` sebagai `USERNAME_PASSWORD` dan tentukan ARN rahasia di bidang `usernamePasswordSecretArn` di: `RedshiftProvisionedAuthConfig`

```
{
    "type": "USERNAME_PASSWORD",
    "usernamePasswordSecretArn": "string"
}
```

------

#### Amazon Redshift Tanpa Server
<a name="w2aac28c10c27c15b9b3c17b1b5b3"></a>

Jika Anda menggunakan Amazon Redshift Tanpa Server, nilai `queryConfiguration` bidang harus [RedshiftQueryEngineConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineConfiguration.html)dalam format berikut:

```
{
    "type": "SERVERLESS",
    "serverlessConfiguration": {
        "workgroupArn": "string",
        "authConfiguration": 
    }
}
```

Tentukan ARN dari workgroup Anda di lapangan. `workgroupArn` [RedshiftServerlessAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftServerlessAuthConfiguration.html)Tergantung pada jenis otorisasi yang Anda gunakan. Pilih tab yang cocok dengan metode otorisasi Anda:

------
#### [ IAM role ]

Jika Anda mengotorisasi dengan peran IAM Anda, Anda hanya perlu menentukan `IAM` sebagai jenis di bidang `RedshiftServerlessAuthConfiguration` tanpa tambahan.

```
{
    "type": "IAM"
}
```

------
#### [ AWS Secrets Manager ]

Jika Anda mengotorisasi dengan AWS Secrets Manager, tentukan `type` sebagai `USERNAME_PASSWORD` dan tentukan ARN rahasia di bidang `usernamePasswordSecretArn` di: `RedshiftServerlessAuthConfiguration`

```
{
    "type": "USERNAME_PASSWORD",
    "usernamePasswordSecretArn": "string"
}
```

------

### StorageConfigurations
<a name="w2aac28c10c27c15b9b3c17b3"></a>

Bidang ini memetakan ke array yang berisi satu [RedshiftQueryEngineStorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineStorageConfiguration.html), yang formatnya bergantung pada tempat data Anda disimpan.

#### AWS Glue Data Catalog
<a name="w2aac28c10c27c15b9b3c17b3b5b1"></a>

Jika data Anda disimpan AWS Glue Data Catalog, `RedshiftQueryEngineStorageConfiguration` harus dalam format berikut:

```
{
    "type": "AWS_DATA_CATALOG",
    "awsDataCatalogConfiguration": {
        "tableNames": ["string"]
    }
}
```

Tambahkan nama setiap tabel yang ingin Anda hubungkan dengan basis pengetahuan Anda dalam array yang `tableNames` dipetakan.

**catatan**  
Masukkan nama tabel dalam pola yang dijelaskan dalam [kueri Cross-database ()`${databaseName}.${tableName}`.](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html) Anda dapat memasukkan semua tabel dengan menentukan. `${databaseName.*}`

#### Basis data Amazon Redshift
<a name="w2aac28c10c27c15b9b3c17b3b5b3"></a>

Jika data Anda disimpan dalam database Amazon Redshift, `RedshiftQueryEngineStorageConfiguration` seharusnya dalam format berikut:

```
{
    "type": "string",
    "redshiftConfiguration": {
        "databaseName": "string"
    }
}
```

Tentukan nama database Amazon Redshift Anda di bidang. `databaseName`

**catatan**  
Masukkan nama tabel dalam pola yang dijelaskan dalam [kueri Cross-database ()`${databaseName}.${tableName}`.](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html) Anda dapat memasukkan semua tabel dengan menentukan. `${databaseName.*}`

Jika database Anda dipasang melalui Amazon SageMaker AI Lakehouse, nama database ada dalam format. *\$1\$1db\$1@\$1\$1schema\$1*

### queryGenerationConfiguration
<a name="w2aac28c10c27c15b9b3c17b5"></a>

Bidang ini memetakan ke hal-hal berikut [QueryGenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationConfiguration.html)yang dapat Anda gunakan untuk mengonfigurasi bagaimana data Anda ditanyakan:

```
{
    "executionTimeoutSeconds": number,
    "generationContext": {
        "tables": [
            {
                "name": "string",
                "description": "string",
                "inclusion": "string",
                "columns": [
                    {
                        "name": "string",
                        "description": "string",
                        "inclusion": "string"
                    },
                    ...
                ]
            },
            ...
        ],
        "curatedQueries": [
            {
                "naturalLanguage": "string",
                "sql": "string"
            },
            ...
        ]
    }
}
```

Jika Anda ingin kueri habis waktu, tentukan durasi batas waktu dalam detik di `executionTimeoutSeconds` bidang.

`generationContext`Bidang memetakan ke [QueryGenerationContext](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationContext.html)objek di mana Anda dapat mengonfigurasi sebanyak mungkin opsi berikut yang Anda butuhkan.

**penting**  
Jika Anda menyertakan konteks generasi, mesin kueri melakukan upaya terbaik untuk menerapkannya saat membuat SQL. Konteks generasi tidak deterministik dan hanya dimaksudkan untuk meningkatkan akurasi model. Untuk memastikan akurasi, verifikasi kueri SQL yang dihasilkan.

Untuk informasi tentang konteks pembuatan yang dapat Anda sertakan, perluas bagian berikut:

#### Tambahkan deskripsi untuk tabel atau kolom dalam database
<a name="w2aac28c10c27c15b9b3c17b5c15b1"></a>

Untuk meningkatkan akurasi pembuatan SQL untuk menanyakan database, Anda dapat memberikan deskripsi untuk tabel atau kolom yang menyediakan lebih banyak konteks daripada nama tabel atau kolom pendek. Anda dapat melakukan tindakan berikut:
+ Untuk menambahkan deskripsi untuk tabel, sertakan [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objek dalam `tables` array. Dalam objek itu, tentukan nama tabel di `name` bidang dan deskripsi di `description` bidang, seperti pada contoh berikut:

  ```
  {
      "name": "database.schema.tableA",
      "description": "Description for Table A"
  }
  ```
+ Untuk menambahkan deskripsi untuk kolom, sertakan [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objek dalam `tables` array. Dalam objek itu, tentukan nama tabel di `name` bidang dan sertakan `columns` bidang, yang memetakan ke array [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html). Dalam sebuah `QueryGenerationColumn` objek, sertakan nama kolom di `name` bidang dan deskripsi di `description` bidang, seperti pada contoh berikut:

  ```
  {
      "name": "database.schema.tableA",
      "columns": [
          {
              "name": "Column A",
              "description": "Description for Column A"
          }
      ]
  }
  ```
+ Anda dapat menambahkan deskripsi untuk tabel dan kolom di dalamnya, seperti pada contoh berikut:

  ```
  {
      "name": "database.schema.tableA",
      "description": "Description for Table A",
      "columns": [
          {
              "name": "columnA",
              "description": "Description for Column A"
          }
      ]
  }
  ```
**catatan**  
Masukkan nama tabel dan kolom dalam pola yang dijelaskan dalam [kueri lintas basis data](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html). Jika database Anda masuk AWS Glue Data Catalog, formatnya adalah`awsdatacatalog.gluedatabase.table`.

#### Sertakan atau kecualikan tabel atau kolom dalam database
<a name="w2aac28c10c27c15b9b3c17b5c15b3"></a>

Anda dapat menyarankan tabel atau kolom untuk menyertakan atau mengecualikan saat membuat SQL dengan menggunakan `inclusion` bidang di [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)dan [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html)objek. Anda dapat menentukan salah satu nilai berikut di `inclusion` bidang:
+ INCLUDE - Hanya tabel atau kolom yang Anda tentukan disertakan sebagai konteks saat menghasilkan SQL.
+ EXCLUDE - Tabel atau kolom yang Anda tentukan dikecualikan sebagai konteks saat menghasilkan SQL.

Anda dapat menentukan apakah akan menyertakan atau mengecualikan tabel atau kolom dengan cara berikut:
+ Untuk menyertakan atau mengecualikan tabel, sertakan [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objek dalam `tables` array. Dalam objek itu, tentukan nama tabel di `name` bidang dan apakah akan menyertakan atau mengecualikannya di `inclusion` bidang, seperti pada contoh berikut:

  ```
  {
      "name": "database.schema.tableA",
      "inclusion": "EXCLUDE"
  }
  ```

  Mesin kueri tidak menambahkan `Table A` konteks tambahan untuk menghasilkan SQL.
+ Untuk menyertakan atau mengecualikan kolom, sertakan [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objek dalam `tables` array. Dalam objek itu, tentukan nama tabel di `name` bidang dan sertakan `columns` bidang, yang memetakan ke array [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html). Dalam sebuah `QueryGenerationColumn` objek, sertakan nama kolom di `name` bidang dan apakah akan menyertakan atau mengecualikannya di `inclusion` bidang, seperti pada contoh berikut:

  ```
  {
      "name": "database.schema.tableA",
      "columns": [
          {
              "name": "database.schema.tableA.columnA",
              "inclusion": "EXCLUDE"
          }
      ]
  }
  ```

  Generasi SQL mengabaikan `Column A` `Table A` dalam konteks saat menghasilkan SQL.
+ Anda dapat menggabungkan tabel dan kolom saat menentukan inklusi atau pengecualian, seperti pada contoh berikut:

  ```
  {
      "name": "database.schema.tableA",
      "inclusion": "INCLUDE",
      "columns": [
          {
              "name": "database.schema.tableA.columnA",
              "inclusion": "EXCLUDE"
          }
      ]
  }
  ```

  Generasi SQL termasuk`Table A`, tetapi mengecualikan `Column A` di dalamnya saat menambahkan konteks untuk menghasilkan SQL.

**penting**  
Pengecualian tabel dan kolom bukan pengganti pagar pembatas. Inklusi dan pengecualian tabel dan kolom ini digunakan sebagai konteks tambahan untuk model untuk dipertimbangkan saat menghasilkan SQL.

#### Berikan contoh mesin kueri pemetaan bahasa alami ke kueri SQL
<a name="w2aac28c10c27c15b9b3c17b5c15b5"></a>

Untuk meningkatkan akurasi mesin kueri dalam mengonversi kueri pengguna menjadi kueri SQL, Anda dapat memberikan contoh di `curatedQueries` bidang di [QueryGenerationContext](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationContext.html)objek, yang memetakan ke array objek. [CuratedQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CuratedQuery.html) Setiap objek berisi bidang-bidang berikut:
+ NaturalLanguage — Contoh kueri dalam bahasa alami.
+ sql — Query SQL yang sesuai dengan query bahasa alami.

# Sinkronkan penyimpanan data terstruktur Anda dengan basis pengetahuan Amazon Bedrock Anda
<a name="kb-data-source-structured-sync-ingest"></a>

Setelah Anda menghubungkan basis pengetahuan Anda ke penyimpanan data terstruktur, Anda melakukan sinkronisasi untuk memulai proses konsumsi metadata sehingga data dapat diambil. Metadata ini memungkinkan Amazon Bedrock Knowledge Bases untuk menerjemahkan permintaan pengguna ke dalam kueri untuk database yang terhubung.

Setiap kali Anda membuat modifikasi pada skema database Anda, Anda perlu menyinkronkan perubahan.

Untuk mempelajari cara memasukkan metadata Anda ke dalam basis pengetahuan Anda dan menyinkronkan dengan data terbaru Anda, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

------
#### [ Console ]

**Untuk memasukkan data Anda ke dalam basis pengetahuan Anda dan menyinkronkan dengan data terbaru Anda**

1. Buka konsol Amazon Bedrock di [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/).

1. Dari panel navigasi kiri, pilih **Basis pengetahuan dan pilih basis** pengetahuan Anda.

1. Di bagian **Sumber data**, pilih **Sinkronkan** untuk memulai proses konsumsi metadata. Untuk menghentikan sinkronisasi sumber data yang saat ini, pilih **Berhenti**. Sumber data saat ini harus disinkronkan untuk menghentikan sinkronisasi sumber data. Anda dapat memilih **Sinkronkan** lagi untuk menelan sisa data Anda.

1. Ketika konsumsi data selesai, spanduk sukses hijau muncul jika berhasil.

1. Anda dapat memilih sumber data untuk melihat **riwayat Sinkronisasi**. Pilih **Lihat peringatan** untuk melihat mengapa pekerjaan konsumsi data gagal.

------
#### [ API ]

Untuk memasukkan data Anda ke basis pengetahuan Anda dan menyinkronkan dengan data terbaru Anda, kirim [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html)permintaan dengan titik akhir waktu [pembuatan Agen untuk Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

Gunakan yang `ingestionJobId` dikembalikan dalam respons dalam [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html)permintaan dengan [titik akhir waktu build Agen untuk Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) untuk melacak status pekerjaan konsumsi.

Anda dapat melihat informasi untuk semua pekerjaan konsumsi untuk sumber data dengan mengirimkan [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html)permintaan dengan titik akhir waktu pembuatan [Agen untuk Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

Untuk menghentikan tugas konsumsi data yang sedang berjalan, kirim [StopIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StopIngestionJob.html)permintaan dengan titik akhir waktu pembuatan [Agen untuk Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Anda dapat mengirim `StartIngestionJob` permintaan lagi untuk menelan sisa data Anda saat Anda siap.

------

**penting**  
Jika Anda menggunakan peran layanan Amazon Bedrock Knowledge Bases yang dibuat untuk Anda di konsol dan kemudian menyinkronkan penyimpanan data Anda sebelum memberikan akses ke database Anda ke peran otentikasi yang Anda gunakan, sinkronisasi akan gagal karena pengguna belum diberikan izin untuk mengakses penyimpanan data Anda. Untuk informasi tentang pemberian izin ke peran untuk mengakses penyimpanan data Anda, lihat. [Izinkan peran layanan basis pengetahuan untuk mengakses penyimpanan data Anda](knowledge-base-prereq-structured.md#knowledge-base-prereq-structured-db-access)