Criação de uma coleção (CLI) - OpenSearch Serviço Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criação de uma coleção (CLI)

Use os procedimentos desta seção para criar uma coleção OpenSearch sem servidor usando o. AWS CLI

Antes de começar

Antes de criar uma coleção usando o AWS CLI, use o procedimento a seguir para criar as políticas necessárias para a coleção.

nota

Em cada um dos procedimentos a seguir, quando você especifica um nome para uma coleção, o nome deve atender aos seguintes critérios:

  • É exclusivo para sua conta e Região da AWS

  • Contém apenas letras minúsculas a-z, números de 0 a 9 e hífens (-).

  • Contém de 3 a 32 caracteres

Para criar as políticas necessárias para uma coleção
  1. Abra AWS CLI e execute o comando a seguir para criar uma política de criptografia com um padrão de recurso que corresponda ao nome pretendido da coleção.

    aws opensearchserverless create-security-policy \ --name policy name \ --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/collection name\"]}],\"AWSOwnedKey\":true}"

    Por exemplo, se você planeja nomear sua coleção como logs-application, é possível criar uma política de criptografia como esta:

    aws opensearchserverless create-security-policy \ --name logs-policy \ --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AWSOwnedKey\":true}"

    Se você planeja usar a política para cobranças adicionais, é possível tornar a regra mais ampla, como collection/logs* ou collection/*.

  2. Execute o comando a seguir para definir as configurações de rede para a coleção usando uma política de rede. É possível criar políticas de rede depois de criar uma coleção, mas recomendamos fazer isso previamente.

    aws opensearchserverless create-security-policy \ --name policy name \ --type network --policy "[{\"Description\":\"description\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/collection name\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/collection name\"]}],\"AllowFromPublic\":true}]"

    Usando o exemplo anterior de logs-application, é possível criar a seguinte política de rede:

    aws opensearchserverless create-security-policy \ --name logs-policy \ --type network --policy "[{\"Description\":\"Public access for logs collection\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/logs-application\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AllowFromPublic\":true}]"

Criar uma coleção

O procedimento a seguir usa a ação CreateCollectionda API para criar uma coleção do tipo SEARCH ouTIMESERIES. Se você não especificar um tipo de coleção na solicitação, ela assumirá o padrão TIMESERIES. Para obter mais informações sobre esses tipos, consulteEscolha de um tipo de coleção. Para criar uma coleção de pesquisa vetorial, consulteTrabalho com coleções de pesquisa vetorial.

Se sua coleção for criptografada com um Chave pertencente à AWS, o kmsKeyArn é auto em vez de um ARN.

Importante

Depois de criar uma coleção, você não poderá acessá-la, a menos que ela corresponda a uma política de acesso a dados. Para obter mais informações, consulte Controle de acesso a dados para Amazon OpenSearch Serverless.

Como criar uma coleção
  1. Verifique se você criou as políticas necessárias descritas emAntes de começar.

  2. Execute o seguinte comando: Para type especificar SEARCH ouTIMESERIES.

    aws opensearchserverless create-collection --name "collection name" --type collection type --description "description"

Criando uma coleção com um índice automático de enriquecimento semântico

Use o procedimento a seguir para criar uma nova coleção OpenSearch sem servidor com um índice configurado para enriquecimento semântico automático. O procedimento usa a ação da CreateIndexAPI OpenSearch Serverless.

Para criar uma nova coleção com um índice configurado para enriquecimento semântico automático

Execute o comando a seguir para criar a coleção e um índice.

aws opensearchserverless create-index \ --region Region ID \ --id collection name --index-name index name \ --index-schema \ 'mapping in json'

Aqui está um exemplo.

aws opensearchserverless create-index \ --region us-east-1 \ --id conversation_history --index-name conversation_history_index \ --index-schema \ '{ "mappings": { "properties": { "age": { "type": "integer" }, "name": { "type": "keyword" }, "user_description": { "type": "text" }, "conversation_history": { "type": "text", "semantic_enrichment": { "status": "ENABLED", // Specifies the sparse tokenizer for processing multi-lingual text "language_option": "MULTI-LINGUAL", // If embedding_field is provided, the semantic embedding field will be set to the given name rather than original field name + "_embedding" "embedding_field": "conversation_history_user_defined" } }, "book_title": { "type": "text", "semantic_enrichment": { // No embedding_field is provided, so the semantic embedding field is set to "book_title_embedding" "status": "ENABLED", "language_option": "ENGLISH" } }, "abstract": { "type": "text", "semantic_enrichment": { // If no language_option is provided, it will be set to English. // No embedding_field is provided, so the semantic embedding field is set to "abstract_embedding" "status": "ENABLED" } } } } }'