

# Exemplos do Amazon Kendra usando a AWS CLI
<a name="cli_kendra_code_examples"></a>

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a AWS Command Line Interface com o Amazon Kendra.

*Ações* são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

**Topics**
+ [Ações](#actions)

## Ações
<a name="actions"></a>

### `create-data-source`
<a name="kendra_CreateDataSource_cli_topic"></a>

O código de exemplo a seguir mostra como usar `create-data-source`.

**AWS CLI**  
**Para criar um conector de fonte de dados do Amazon Kendra**  
O seguinte `create-data-source` cria e configura um conector de fonte de dados do Amazon Kendra. É possível usar `describe-data-source` para visualizar o status de um conector de fonte de dados e ler qualquer mensagem de erro se o status mostrar que um conector de fonte de dados "FALHOU" em ser completamente criado.  

```
aws kendra create-data-source \
    --name "example data source 1" \
    --description "Example data source 1 for example index 1 contains the first set of example documents" \
    --tags '{"Key": "test resources", "Value": "kendra"}, {"Key": "test resources", "Value": "aws"}' \
    --role-arn "arn:aws:iam::my-account-id:role/KendraRoleForS3TemplateConfigDataSource" \
    --index-id exampleindex1 \
    --language-code "es" \
    --schedule "0 0 18 ? * TUE,MON,WED,THU,FRI,SAT *" \
    --configuration '{"TemplateConfiguration": {"Template": file://s3schemaconfig.json}}' \
    --type "TEMPLATE" \
    --custom-document-enrichment-configuration '{"PostExtractionHookConfiguration": {"LambdaArn": "arn:aws:iam::my-account-id:function/my-function-ocr-docs", "S3Bucket": "s3://amzn-s3-demo-bucket/scanned-image-text-example-docs"}, "RoleArn": "arn:aws:iam:my-account-id:role/KendraRoleForCDE"}' \
    --vpc-configuration '{"SecurityGroupIds": ["sg-1234567890abcdef0"], "SubnetIds": ["subnet-1c234","subnet-2b134"]}'
```
Resultado:  

```
{
    "Id": "exampledatasource1"
}
```
Para obter mais informações, consulte [Introdução a um índice e conector de fonte de dados do Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/getting-started.html) no *Guia do desenvolvedor do Amazon Kendra*.  
+  Para ver detalhes da API, consulte [CreateDataSource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/create-data-source.html) na *Referência de comandos da AWS CLI*. 

### `create-index`
<a name="kendra_CreateIndex_cli_topic"></a>

O código de exemplo a seguir mostra como usar `create-index`.

**AWS CLI**  
**Para criar um índice do Amazon Kendra**  
O seguinte `create-index` cria e configura um índice do Amazon Kendra. É possível usar `describe-index` para visualizar o status de um índice e ler qualquer mensagem de erro se o status mostrar que um índice "FALHOU" em ser completamente criado.  

```
aws kendra create-index \
    --name "example index 1" \
    --description "Example index 1 contains the first set of example documents" \
    --tags '{"Key": "test resources", "Value": "kendra"}, {"Key": "test resources", "Value": "aws"}' \
    --role-arn "arn:aws:iam::my-account-id:role/KendraRoleForExampleIndex" \
    --edition "DEVELOPER_EDITION" \
    --server-side-encryption-configuration '{"KmsKeyId": "my-kms-key-id"}' \
    --user-context-policy "USER_TOKEN" \
    --user-token-configurations '{"JsonTokenTypeConfiguration": {"GroupAttributeField": "groupNameField", "UserNameAttributeField": "userNameField"}}'
```
Resultado:  

```
{
   "Id": index1
}
```
Para obter mais informações, consulte [Introdução a um índice e conector de fonte de dados do Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/getting-started.html) no *Guia do desenvolvedor do Amazon Kendra*.  
+  Para ver detalhes da API, consulte [CreateIndex](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/create-index.html) na *Referência de comandos da AWS CLI*. 

### `describe-data-source`
<a name="kendra_DescribeDataSource_cli_topic"></a>

O código de exemplo a seguir mostra como usar `describe-data-source`.

**AWS CLI**  
**Para obter informações sobre um conector de fonte de dados do Amazon Kendra**  
O comando `describe-data-source` a seguir obtém informações sobre um conector de fonte de dados do Amazon Kendra. É possível visualizar a configuração de um conector de fonte de dados e ler qualquer mensagem de erro se o status mostrar que um conector de fonte de dados "FALHOU" em ser completamente criado.  

```
aws kendra describe-data-source \
    --id exampledatasource1 \
    --index-id exampleindex1
```
Resultado:  

```
{
    "Configuration": {
        "TemplateConfiguration": {
            "Template": {
                "connectionConfiguration": {
                    "repositoryEndpointMetadata": {
                        "BucketName": "amzn-s3-demo-bucket"
                    }
                },
                "repositoryConfigurations": {
                    "document":{
                        "fieldMappings": [
                            {
                                "indexFieldName":"_document_title",
                                "indexFieldType":"STRING",
                                "dataSourceFieldName": "title"
                            },
                            {
                                "indexFieldName":"_last_updated_at",
                                "indexFieldType":"DATE",
                                "dataSourceFieldName": "modified_date"
                            }
                        ]
                    }
                },
                "additionalProperties": {
                    "inclusionPatterns": [
                        "*.txt",
                        "*.doc",
                        "*.docx"
                    ],
                    "exclusionPatterns": [
                        "*.json"
                    ],
                    "inclusionPrefixes": [
                        "PublicExampleDocsFolder"
                    ],
                    "exclusionPrefixes": [
                        "PrivateDocsFolder/private"
                    ],
                    "aclConfigurationFilePath": "ExampleDocsFolder/AclConfig.json",
                    "metadataFilesPrefix": "metadata"
                },
                "syncMode": "FULL_CRAWL",
                "type" : "S3",
                "version": "1.0.0"
            }
        }
    },
    "CreatedAt": 2024-02-25T13:30:10+00:00,
    "CustomDocumentEnrichmentConfiguration": {
        "PostExtractionHookConfiguration": {
            "LambdaArn": "arn:aws:iam::my-account-id:function/my-function-ocr-docs",
            "S3Bucket": "s3://amzn-s3-demo-bucket/scanned-image-text-example-docs/function"
        },
        "RoleArn": "arn:aws:iam:my-account-id:role/KendraRoleForCDE"
    }
    "Description": "Example data source 1 for example index 1 contains the first set of example documents",
    "Id": exampledatasource1,
    "IndexId": exampleindex1,
    "LanguageCode": "en",
    "Name": "example data source 1",
    "RoleArn": "arn:aws:iam::my-account-id:role/KendraRoleForS3TemplateConfigDataSource",
    "Schedule": "0 0 18 ? * TUE,MON,WED,THU,FRI,SAT *",
    "Status": "ACTIVE",
    "Type": "TEMPLATE",
    "UpdatedAt": 1709163615,
    "VpcConfiguration": {
        "SecurityGroupIds": ["sg-1234567890abcdef0"],
        "SubnetIds": ["subnet-1c234","subnet-2b134"]
    }
}
```
Para obter mais informações, consulte [Introdução a um índice e conector de fonte de dados do Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/getting-started.html) no *Guia do desenvolvedor do Amazon Kendra*.  
+  Para ver detalhes da API, consulte [DescribeDataSource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/describe-data-source.html) na *Referência de comandos da AWS CLI*. 

### `describe-index`
<a name="kendra_DescribeIndex_cli_topic"></a>

O código de exemplo a seguir mostra como usar `describe-index`.

**AWS CLI**  
**Para obter informações sobre um índice da Amazon Kendra**  
O seguinte `describe-index` obtém informações sobre um índice do Amazon Kendra. É possível usar para visualizar o status de um índice e ler qualquer mensagem de erro se o status mostrar que um índice "FALHOU" em ser completamente criado.  

```
aws kendra describe-index \
    --id exampleindex1
```
Resultado:  

```
{
    "CapacityUnits": {
        "QueryCapacityUnits": 0,
        "StorageCapacityUnits": 0
    },
    "CreatedAt": 2024-02-25T12:30:10+00:00,
    "Description": "Example index 1 contains the first set of example documents",
    "DocumentMetadataConfigurations": [
        {
            "Name": "_document_title",
            "Relevance": {
                "Importance": 8
            },
            "Search": {
                "Displayable": true,
                "Facetable": false,
                "Searchable": true,
                "Sortable": false
            },
            "Type": "STRING_VALUE"
        },
        {
            "Name": "_document_body",
            "Relevance": {
                "Importance": 5
            },
            "Search": {
                "Displayable": true,
                "Facetable": false,
                "Searchable": true,
                "Sortable": false
            },
            "Type": "STRING_VALUE"
        },
        {
            "Name": "_last_updated_at",
            "Relevance": {
                "Importance": 6,
                "Duration": "2628000s",
                "Freshness": true
            },
            "Search": {
                "Displayable": true,
                "Facetable": false,
                "Searchable": true,
                "Sortable": true
            },
            "Type": "DATE_VALUE"
        },
        {
            "Name": "department_custom_field",
            "Relevance": {
                "Importance": 7,
                "ValueImportanceMap": {
                    "Human Resources" : 4,
                    "Marketing and Sales" : 2,
                    "Research and innvoation" : 3,
                    "Admin" : 1
                }
            },
            "Search": {
                "Displayable": true,
                "Facetable": true,
                "Searchable": true,
                "Sortable": true
            },
            "Type": "STRING_VALUE"
        }
    ],
    "Edition": "DEVELOPER_EDITION",
    "Id": "index1",
    "IndexStatistics": {
        "FaqStatistics": {
            "IndexedQuestionAnswersCount": 10
        },
        "TextDocumentStatistics": {
            "IndexedTextBytes": 1073741824,
            "IndexedTextDocumentsCount": 1200
        }
    },
    "Name": "example index 1",
    "RoleArn": "arn:aws:iam::my-account-id:role/KendraRoleForExampleIndex",
    "ServerSideEncryptionConfiguration": {
        "KmsKeyId": "my-kms-key-id"
    },
    "Status": "ACTIVE",
    "UpdatedAt": 1709163615,
    "UserContextPolicy": "USER_TOKEN",
    "UserTokenConfigurations": [
        {
            "JsonTokenTypeConfiguration": {
                "GroupAttributeField": "groupNameField",
                "UserNameAttributeField": "userNameField"
            }
        }
    ]
}
```
Para obter mais informações, consulte [Introdução a um índice e conector de fonte de dados do Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/getting-started.html) no *Guia do desenvolvedor do Amazon Kendra*.  
+  Para ver detalhes da API, consulte [DescribeIndex](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/describe-index.html) na *Referência de comandos da AWS CLI*. 

### `update-data-source`
<a name="kendra_UpdateDataSource_cli_topic"></a>

O código de exemplo a seguir mostra como usar `update-data-source`.

**AWS CLI**  
**Para atualizar um conector de fonte de dados do Amazon Kendra**  
O seguinte `update-data-source` atualiza a configuração de um conector de fonte de dados do Amazon Kendra. Se a ação for bem-sucedida, o serviço não retornará: ou nenhuma saída, ou o código de status HTTP 200, ou o código de retorno 0 da AWS CLI. É possível usar `describe-data-source` para visualizar a configuração e o status de um conector de fonte de dados.  

```
aws kendra update-data-source \
    --id exampledatasource1 \
    --index-id exampleindex1 \
    --name "new name for example data source 1" \
    --description "new description for example data source 1" \
    --role-arn arn:aws:iam::my-account-id:role/KendraNewRoleForExampleDataSource \
    --configuration '{"TemplateConfiguration": {"Template": file://s3schemanewconfig.json}}' \
    --custom-document-enrichment-configuration '{"PostExtractionHookConfiguration": {"LambdaArn": "arn:aws:iam::my-account-id:function/my-function-ocr-docs", "S3Bucket": "s3://amzn-s3-demo-bucket/scanned-image-text-example-docs"}, "RoleArn": "arn:aws:iam:my-account-id:role/KendraNewRoleForCDE"}' \
    --language-code "es" \
    --schedule "0 0 18 ? * MON,WED,FRI *" \
    --vpc-configuration '{"SecurityGroupIds": ["sg-1234567890abcdef0"], "SubnetIds": ["subnet-1c234","subnet-2b134"]}'
```
Este comando não produz saída.  
Para obter mais informações, consulte [Introdução a um índice e conector de fonte de dados do Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/getting-started.html) no *Guia do desenvolvedor do Amazon Kendra*.  
+  Para ver detalhes da API, consulte [UpdateDataSource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/update-data-source.html) na *Referência de comandos da AWS CLI*. 

### `update-index`
<a name="kendra_UpdateIndex_cli_topic"></a>

O código de exemplo a seguir mostra como usar `update-index`.

**AWS CLI**  
**Para atualizar um índice do Amazon Kendra**  
O seguinte `update-index` atualiza a configuração de um índice do Amazon Kendra. Se a ação for bem-sucedida, o serviço não retornará: ou nenhuma saída, ou o código de status HTTP 200, ou o código de retorno 0 da AWS CLI. É possível usar `describe-index` para visualizar a configuração e o status de um índice.  

```
aws kendra update-index \
    --id enterpriseindex1 \
    --name "new name for Enterprise Edition index 1" \
    --description "new description for Enterprise Edition index 1" \
    --role-arn arn:aws:iam::my-account-id:role/KendraNewRoleForEnterpriseIndex \
    --capacity-units '{"QueryCapacityUnits": 2, "StorageCapacityUnits": 1}' \
    --document-metadata-configuration-updates '{"Name": "_document_title", "Relevance": {"Importance": 6}}, {"Name": "_last_updated_at", "Relevance": {"Importance": 8}}' \
    --user-context-policy "USER_TOKEN" \
    --user-token-configurations '{"JsonTokenTypeConfiguration": {"GroupAttributeField": "groupNameField", "UserNameAttributeField": "userNameField"}}'
```
Este comando não produz saída.  
Para obter mais informações, consulte [Introdução a um índice e conector de fonte de dados do Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/getting-started.html) no *Guia do desenvolvedor do Amazon Kendra*.  
+  Para ver detalhes da API, consulte [UpdateIndex](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/update-index.html) na *Referência de comandos da AWS CLI*. 