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
Tópicos
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
-
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*
oucollection/*
. -
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
-
Verifique se você criou as políticas necessárias descritas emAntes de começar.
-
Execute o seguinte comando: Para
type
especificarSEARCH
ouTIMESERIES
.aws opensearchserverless create-collection --name "
collection name
" --typecollection 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
\ --idcollection name
--index-nameindex 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" } } } } }'