Créer une collection (CLI) - Amazon OpenSearch Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Créer une collection (CLI)

Utilisez les procédures décrites dans cette section pour créer une collection OpenSearch sans serveur à l'aide du AWS CLI.

Avant de commencer

Avant de créer une collection à l'aide de AWS CLI, suivez la procédure suivante pour créer les politiques requises pour la collection.

Note

Dans chacune des procédures suivantes, lorsque vous spécifiez le nom d'une collection, celui-ci doit répondre aux critères suivants :

  • est propre à votre compte et Région AWS

  • Contient uniquement les lettres minuscules a-z, les chiffres 0-9 et le trait d'union (-)

  • Contient entre 3 et 32 caractères

Pour créer les politiques requises pour une collection
  1. Ouvrez le AWS CLI et exécutez la commande suivante pour créer une politique de chiffrement avec un modèle de ressource correspondant au nom prévu de la collection.

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

    Par exemple, si vous envisagez de nommer votre collection logs-application, vous pouvez créer une stratégie de chiffrement comme suit :

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

    Si vous envisagez d'utiliser la stratégie pour des collections supplémentaires, vous pouvez élargir la règle, par exemple collection/logs* ou collection/*.

  2. Exécutez la commande suivante pour configurer les paramètres réseau de la collection à l'aide d'une politique réseau. Vous pouvez créer des stratégies réseau après avoir créé une collection, mais nous vous recommandons de le faire au préalable.

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

    À l'aide de l'exemple logs-application précédent, vous pouvez créer la stratégie réseau suivante :

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

Création d’une collection

La procédure suivante utilise l'action CreateCollectionAPI pour créer une collection de type SEARCH ouTIMESERIES. Si vous ne spécifiez pas de type de collection dans la demande, il est défini par défaut à TIMESERIES. Pour plus d'informations sur ces types, consultezChoix d'un type de collection. Pour créer une collection de recherche vectorielle, voirUtilisation de collections de recherche vectorielle.

Si votre collection est chiffrée avec un Clé détenue par AWS, kmsKeyArn c'est auto plutôt qu'un ARN.

Important

Une fois la collection créée, vous ne pourrez y accéder que si elle correspond à une stratégie d'accès aux données. Pour de plus amples informations, veuillez consulter Contrôle d'accès aux données pour Amazon OpenSearch Serverless.

Pour créer une collection
  1. Vérifiez que vous avez créé les politiques requises décrites dansAvant de commencer.

  2. Exécutez la commande suivante. Pour type spécifier l'un SEARCH ou l'autreTIMESERIES.

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

Création d'une collection avec un index d'enrichissement sémantique automatique

Utilisez la procédure suivante pour créer une nouvelle collection OpenSearch Serverless avec un index configuré pour un enrichissement sémantique automatique. La procédure utilise l'action CreateIndexAPI OpenSearch Serverless.

Pour créer une nouvelle collection avec un index configuré pour un enrichissement sémantique automatique

Exécutez la commande suivante pour créer la collection et un index.

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

Voici un exemple :

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