

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Para crear una colección (CLI)
<a name="serverless-create-cli"></a>

Utilice los procedimientos de esta sección para crear una colección OpenSearch sin servidor mediante. AWS CLI

**Topics**
+ [Antes de empezar](#serverless-create-cli-before-you-begin)
+ [Creación de una colección](#serverless-create-cli-creating)
+ [Crear una colección con un índice de enriquecimiento semántico automático](#serverless-create-cli-automatic-semantic-enrichment)

## Antes de empezar
<a name="serverless-create-cli-before-you-begin"></a>

Antes de crear una colección mediante el AWS CLI, utilice el siguiente procedimiento para crear las políticas necesarias para la colección.

**nota**  
En cada uno de los siguientes procedimientos, al especificar un nombre para una colección, el nombre debe cumplir los siguientes criterios:  
Es exclusivo de su cuenta y Región de AWS
Contener solo letras minúsculas de la a a la z, números del 0 al 9 y un guion (-)
Contener entre 3 y 32 caracteres

**Para crear las políticas necesarias de una colección**

1. Abra AWS CLI y ejecute el siguiente comando para crear una [política de cifrado](serverless-encryption.md) con un patrón de recursos que coincida con el nombre deseado de la colección. 

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

   Por ejemplo, si planea nombrar la colección como *registros de la aplicación*, puede crear una política de cifrado como esta:

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

   Si piensa utilizar la política para colecciones adicionales, puede hacer que la regla sea más amplia, como `collection/logs*` o `collection/*`.

1. Ejecute el siguiente comando para configurar los ajustes de la red para la colección mediante una [política de red](serverless-network.md). Es posible crear políticas de red después de crear una colección, pero le recomendamos que lo haga de antemano.

   ```
   &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}]"
   ```

   Para seguir con el ejemplo anterior, *logs-application*, puede crear la siguiente política de red:

   ```
   &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}]"
   ```

## Creación de una colección
<a name="serverless-create-cli-creating"></a>

En el siguiente procedimiento, se utiliza la acción de la [CreateCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateCollection.html)API para crear una colección del tipo `SEARCH` o`TIMESERIES`. Si no especifica ningún tipo de colección en la solicitud, se usa `TIMESERIES` de forma predeterminada. Para obtener más información acerca de estos tipos, consulte [Elección de un tipo de colección](serverless-overview.md#serverless-usecase). Para crear una colección de *búsquedas vectoriales*, consulte [Trabajo con colecciones de búsqueda vectorial](serverless-vector-search.md). 

Si su colección está cifrada con un Clave propiedad de AWS, `kmsKeyArn` es `auto` en lugar de un ARN.

**importante**  
Después de crear una colección, no podrá acceder a ella a menos que coincida con una política de acceso a los datos. Para obtener más información, consulte [Control de acceso a datos para Amazon OpenSearch Serverless](serverless-data-access.md).

**Creación de una colección**

1. Compruebe que ha creado las políticas necesarias que se describen en [Antes de empezar](#serverless-create-cli-before-you-begin).

1. Ejecute el comando siguiente. En `type`, especifique `SEARCH` o `TIMESERIES`.

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

## Crear una colección con un índice de enriquecimiento semántico automático
<a name="serverless-create-cli-automatic-semantic-enrichment"></a>

Utilice el siguiente procedimiento para crear una nueva colección OpenSearch sin servidor con un índice que esté configurado para el enriquecimiento [semántico automático](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-semantic-enrichment.html). El procedimiento utiliza la acción de la API OpenSearch sin servidor [CreateIndex](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateIndex.html).

**Para crear una nueva colección con un índice configurado con el enriquecimiento semántico automático**

Ejecute el siguiente comando para crear la colección y un índice.

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

A continuación se muestra un ejemplo.

```
&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" 
                }
            }
        }
    }
}'
```