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.
Rubriques
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
-
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*
oucollection/*
. -
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
-
Vérifiez que vous avez créé les politiques requises décrites dansAvant de commencer.
-
Exécutez la commande suivante. Pour
type
spécifier l'unSEARCH
ou l'autreTIMESERIES
.aws opensearchserverless create-collection --name "
collection name
" --typecollection 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
\ --idcollection name
--index-nameindex 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" } } } } }'