

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.

# Version 1.0.2.0 du moteur Amazon Neptune (08/03/2023)
<a name="engine-releases-1.2.1.0"></a>

Depuis le 8 mars 2023, la version 1.2.1.0 du moteur est déployée globalement. Notez que plusieurs jours sont nécessaires pour qu'une nouvelle version soit disponible dans chaque région.

**Note**  
**En cas de mise à niveau à partir d'une version de moteur antérieure à 1.2.0.0 :**  
La [version 1.2.0.0 du moteur](engine-releases-1.2.0.0.md) implique un nouveau format pour les groupes de paramètres personnalisés et les groupes de paramètres de cluster personnalisés. Par conséquent, si vous effectuez une mise à niveau d'une version de moteur antérieure vers la version 1.2.0.0 ou une version supérieure, vous devrez recréer tous vos groupes de paramètres personnalisés et groupes de paramètres de cluster personnalisés existants à l'aide de la famille de groupes de paramètres `neptune1.2`. Les versions antérieures utilisaient une famille de groupes de paramètres `neptune1`, lesquels ne sont pas compatibles avec les versions 1.2.0.0 et supérieures. Pour plus d’informations, consultez [Groupes de paramètres Amazon Neptune](parameter-groups.md).
La version 1.2.0.0 du moteur comprend également un nouveau format pour les journaux d'annulation. Par conséquent, tous les journaux d'annulation créés par une version antérieure du moteur doivent être purgés et la [`UndoLogsListSize`](cw-metrics.md#cw-metrics-UndoLogListSize) CloudWatch métrique doit tomber à zéro avant qu'une mise à niveau à partir d'une version antérieure à 1.2.0.0 puisse commencer. S'il existe trop d'enregistrements de journaux d'annulation (200 000 entrées ou plus) lorsque vous essayez de démarrer une mise à jour, la tentative de mise à niveau peut expirer en attendant que la purge des journaux d'annulation soit terminée.  
Vous pouvez accélérer le taux de purge en mettant à niveau l'instance d'enregistreur du cluster, où la purge a lieu. Suivre cette étape avant d'essayer de procéder à la mise à niveau contribue à réduire le nombre de journaux d'annulation avant de commencer. L'augmentation de la taille du dispositif d'écriture dans un type d'instance 24XL peut accroître le taux de purge, permettant ainsi de traiter plus d'un million d'enregistrements par heure.  
Si l'`UndoLogsListSize` CloudWatch indicateur est extrêmement important, l'ouverture d'un dossier de support peut vous aider à explorer d'autres stratégies pour le réduire.
Enfin, une modification majeure a été apportée à la version 1.2.0.0. Celle-ci concerne le code antérieur qui utilisait le protocole Bolt avec l'authentification IAM. À partir de la version 1.2.0.0, Bolt a besoin d'un chemin de ressources pour la signature IAM. En Java, la définition du chemin de ressources peut ressembler à ceci : `request.setResourcePath("/openCypher"));`. Dans d'autres langages, `/openCypher` peut être ajouté à l'URI du point de terminaison. Pour obtenir des exemples, consultez [Utilisation du protocole Bolt](access-graph-opencypher-bolt.md).

## Versions de correctifs ultérieures pour cette version
<a name="engine-releases-1.2.1.0-patches"></a>
+ [Sortie : 1.2.1.0.R2 (02/05/2023)](engine-releases-1.2.1.0.R2.md) 
+ [Sortie : 1.2.1.0.R3 (13/06/2023)](engine-releases-1.2.1.0.R3.md) 
+ [Sortie : 1.2.1.0.R4 (10/08/2023)](engine-releases-1.2.1.0.R4.md) 
+ [Sortie : 1.2.1.0.R5 (02/09/2023)](engine-releases-1.2.1.0.R5.md) 
+ [Sortie : 1.2.1.0.R6 (12/09/2023)](engine-releases-1.2.1.0.R6.md) 
+ [Version : 1.2.1.0.R7 (06-10-2023)](engine-releases-1.2.1.0.R7.md) 

## Nouvelles fonctionnalités pour cette version du moteur
<a name="engine-releases-1.2.1.0-features"></a>
+ Ajout du support pour la [TinkerPop version 3.6.2](https://tinkerpop.apache.org/docs/3.6.2-SNAPSHOT/dev/provider/), qui ajoute de nombreuses nouvelles fonctionnalités de Gremlin, telles que les nouveaux`mergeV()`, `mergeE()``element()`, et les `fail()` étapes. Les étapes `mergeV()` et `mergeE()` sont particulièrement intéressantes, car elles offrent une option déclarative tant attendue pour effectuer des opérations de type upsert. Cela devrait grandement simplifier les modèles de code existants et faciliter la lecture de Gremlin. La version 3.6.x a également ajouté des prédicats regex (expression régulière), une nouvelle surcharge à l'étape `property()` qui utilise un mappage (`Map`), ainsi qu'une révision majeure du comportement de modulation `by()` qui est beaucoup plus cohérente dans toutes les étapes qui l'utilisent.

  Consultez le [journal des TinkerPop modifications](https://github.com/apache/tinkerpop/blob/3.6.0/CHANGELOG.asciidoc#release-3-6-0) et la [page de mise à niveau](https://tinkerpop.apache.org/docs/current/upgrade/) pour obtenir des informations sur les modifications apportées à la version 3.6 et les éléments à prendre en compte lors de la mise à niveau.

  Si vous utilisez `fold().coalesce(unfold(), <mutate>)` pour les insertions conditionnelles, nous vous recommandons de migrer vers la nouvelle syntaxe `mergeV/E()`, décrite [ici](https://tinkerpop.apache.org/docs/3.6.0/reference/#mergevertex-step) et [ici](https://tinkerpop.apache.org/docs/3.6.0/reference/#mergeedge-step). Neptune utilise un schéma de verrouillage plus étroit pour `Merge` que pour`Coalesce`, ce qui permet de réduire les exceptions de modification simultanées (). CMEs

  Pour plus d'informations sur les nouvelles fonctionnalités disponibles dans cette TinkerPop version, consultez le blog de Stephen Mallette, [Exploring new features of Apache TinkerPop 3.6.x in Amazon Neptune](https://aws.amazon.com/blogs/database/exploring-new-features-of-apache-tinkerpop-3-6-x-in-amazon-neptune/).
+ Ajout de la prise en charge des [types d'instances R6i](https://aws.amazon.com/ec2/instance-types/r6i/), alimentés par des processeurs Intel Xeon Scalable de 3e génération. Elles sont parfaitement adaptées aux charges de travail gourmandes en mémoire et offrent des compute/price performances jusqu'à 15 % supérieures et une bande passante mémoire jusqu'à 20 % supérieure par vCPU par rapport aux types d'instances R5 comparables.
+ Ajout de points de terminaison d'[API de résumé de graphe](neptune-graph-summary.md) pour les graphes de propriétés et les graphes RDF, afin de vous permettre de générer un rapport récapitulatif rapide du graphe.

  Pour les graphes de propriétés (PG), l'API de résumé de graphe fournit une liste en lecture seule des étiquettes et des clés de propriété des nœuds et des arêtes, ainsi que le nombre de nœuds, d'arêtes et de propriétés. Pour les graphes RDF, elle fournit une liste de classes et de clés de prédicat, ainsi que le nombre de quadruplets, de sujets et de prédicats.

  Les modifications suivantes ont été apportées avec la nouvelle API de résumé de graphe :
  + Ajout d'une nouvelle action sur le [GetGraphSummary](iam-dp-actions.md#getgraphsummary)plan de données.
  + Ajout d'un nouveau point de terminaison `rdf/statistics` pour remplacer le point de terminaison `sparql/statistics`, qui est désormais obsolète.
  + Remplacement du nom du champ `summary` dans la réponse d'état des statistiques par `signatureInfo`, afin de ne pas le confondre avec les informations du résumé de graphe. Les versions précédentes du moteur continueront d'utiliser `summary` dans la réponse JSON.
  + La précision du champ `date` dans la réponse d'état des statistiques a été modifiée, passant de la minute à la milliseconde. Le format précédent était `2020-05-07T23:13Z` (précision à la minute), tandis que le nouveau format est `2023-01-24T00:47:43.319Z` (précision à la milliseconde). Ces deux formats sont conformes à la norme ISO 8601, mais cette modification peut corrompre le code existant, en fonction de la façon dont la date est analysée.
  + Une nouvelle magie linéaire [`%statistics`](notebooks-magics.md#notebooks-line-magics-statistics), qui vous permet de récupérer les statistiques du moteur DFE, a été ajoutée dans le workbench.
  + Une nouvelle magie linéaire [`%summary`](notebooks-magics.md#notebooks-line-magics-summary), qui vous permet de récupérer les informations du résumé de graphe, a été ajoutée dans le workbench.
+ Ajout de la [journalisation des requêtes lentes](slow-query-logs.md) pour enregistrer les requêtes dont l'exécution prend plus de temps qu'un seuil spécifié. Vous devez activer et contrôler la journalisation des requêtes lentes à l'aide des deux nouveaux paramètres dynamiques, à savoir [neptune\$1enable\$1slow\$1query\$1log](parameters.md#parameters-db-cluster-parameters-neptune_enable_slow_query_log) et [neptune\$1slow\$1query\$1log\$1threshold](parameters.md#parameters-db-cluster-parameters-neptune_slow_query_log_threshold).
+ Ajout de la prise en charge de deux [paramètres dynamiques](parameter-groups.md), à savoir les nouveaux paramètres de cluster [neptune\$1enable\$1slow\$1query\$1log](parameters.md#parameters-db-cluster-parameters-neptune_enable_slow_query_log) et [neptune\$1slow\$1query\$1log\$1threshold](parameters.md#parameters-db-cluster-parameters-neptune_slow_query_log_threshold). Lorsque vous modifiez un paramètre dynamique, il s'applique immédiatement, sans nécessiter de redémarrage de l'instance.
+ Ajout d'une fonction OpenCypher [removeKeyFromMap ()](access-graph-opencypher-extensions.md#opencypher-compliance-removeKeyFromMap-function) spécifique à Neptune qui supprime une clé spécifiée d'une carte et renvoie la nouvelle carte résultante.

## Améliorations de cette version du moteur
<a name="engine-releases-1.2.1.0-improvements"></a>
+ Prise en charge étendue de Gremlin DFE pour les étapes `limit` avec une portée locale.
+ Ajout de la prise en charge de la modulation `by()` pour l'étape Gremlin `DedupGlobalStep` dans le moteur DFE.
+ Ajout de la prise en charge DFE des étapes Gremlin `SelectStep` et `SelectOneStep`.
+ Amélioration des performances et corrections de divers opérateurs Gremlin, notamment `repeat`, `coalesce`, `store` et `aggregate`.
+ Amélioration des performances des requêtes openCypher impliquant `MERGE` et `OPTIONAL MATCH`.
+ Amélioration des performances des requêtes openCypher impliquant `UNWIND` pour une liste de mappages de valeurs littérales.
+ Amélioration des performances des requêtes openCypher dotées d'un filtre `IN` pour `id`. Par exemple :

  ```
  MATCH (n) WHERE id(n) IN ['1', '2', '3'] RETURN n
  ```
+ Ajout de la possibilité de spécifier l'IRI de base pour les requêtes SPARQL à l'aide de l'instruction BASE (voir [IRI de base par défaut pour les requêtes et les mises à jour](feature-sparql-compliance.md#opencypher-compliance-default-iri)).
+ Réduction du temps d'attente pour le traitement des chargements en bloc spécifiques aux arêtes Gremlin et openCypher.
+ Les chargements en bloc reprennent désormais de manière asynchrone lorsque Neptune redémarre afin d'éviter un long délai d'attente causé par des problèmes de connectivité à Amazon S3 avant l'échec des tentatives de reprise.
+ Gestion améliorée des requêtes SPARQL DESCRIBE dont l'indicateur de requête [DescribeMode](sparql-query-hints-for-describe.md#sparql-query-hints-describeMode) est défini sur `"CBD"` (description CBD) et qui impliquent un grand nombre de nœuds vides.

## Défauts corrigés dans cette version du moteur
<a name="engine-releases-1.2.1.0-defects"></a>
+ Correction d'un bogue openCypher où les requêtes renvoyaient la chaîne `"null"` au lieu d'une valeur nulle dans Bolt et SPARQL-JSON.
+ Correction d'un bogue openCypher lié à la compréhension de liste, où une valeur nulle était générée au lieu des valeurs fournies pour les éléments de liste.
+ Correction d'un bogue openCypher en raison duquel les valeurs d'octets n'étaient pas correctement sérialisées.
+ Correction d'un bogue Gremlin dans l'étape `UnionStep` qui se produisait lorsqu'une entrée était une arête traversante vers un sommet dans une traversée enfant.
+ Correction d'un bogue Gremlin qui empêchait la propagation correcte d'une étiquette d'étape associée à `UnionStep` vers la dernière étape de chaque traversée enfant.
+ Correction d'un bogue Gremlin pour l'étape `dedup` avec des étiquettes suivant une étape `repeat`, bogue à cause duquel les étiquettes attachées à l'étape `dedup` n'étaient pas disponibles pour une utilisation ultérieure dans la requête.
+ Correction d'un bogue Gremlin qui empêchait la conversion d'une étape `repeat` dans une étape `union` en raison d'une erreur interne.
+ Correction des problèmes d'exactitude Gremlin pour les requêtes DFE utilisant `limit` comme traversée enfant des étapes autres que l'union en revenant à Tinkerpop. Les requêtes sous la forme suivante sont affectées : 

  ```
  g.withSideEffect('Neptune#useDFE', true).V().as("a").select("a").by(out().limit(1))
  ```
+ Correction d'un bogue SPARQL qui empêchait les modèles `SPARQL GRAPH` de prendre en compte le jeu de données fourni par une clause `FROM NAMED`.
+ Correction d'un bogue SPARQL en raison duquel le SPARQL, `DESCRIBE` avec certaines `FROM` and/or `FROM NAMED` clauses, n'utilisait pas toujours correctement les données du graphe par défaut et lançait parfois une exception. Consultez [Comportement de SPARQL DESCRIBE par rapport au graphe par défaut](sparql-default-describe.md).
+ Correction d'un bogue SPARQL qui renvoyait le message d'exception correct en cas de rejet de caractères null.
+ Correction d'un bogue d'[explication](sparql-explain.md) dans le SPARQL qui affectait les plans contenant un [PipelinedHashIndexJoin](sparql-explain-operators.md#sparql-explain-operator-pipeline-hash-index-join)opérateur.
+ Correction d'un bogue qui provoquait le déclenchement d'une erreur interne lorsqu'une requête renvoyant une valeur de constante était soumise.
+ Correction d'un problème lié à la logique du détecteur de blocage qui empêchait parfois le moteur de répondre.

## Versions de langage de requête prises en charge dans cette version
<a name="engine-releases-1.2.1.0-query-versions"></a>

Avant de mettre à niveau un cluster de bases de données vers la version 1.2.1.0, assurez-vous que votre projet est compatible avec les versions de langage de requête suivantes :
+ *Première version de Gremlin prise en charge :* `3.6.2`
+ *Dernière version de Gremlin est prise en charge :* `3.6.2`
+ *Version d'openCypher :* `Neptune-9.0.20190305-1.1`
+ *Version de SPARQL :* `1.1`

## Chemins de mise à niveau vers la version de moteur 1.2.1.0
<a name="engine-releases-1.2.1.0-upgrade-paths"></a>

[Vous pouvez effectuer une mise à niveau manuelle vers cette version à partir de n'importe quelle version de moteur Neptune précédente supérieure ou égale à 1.1.0.0.](engine-releases-1.1.0.0.md)

**Note**  
À partir de la [version 1.2.0.0 du moteur](engine-releases-1.2.0.0.md), tous les groupes de paramètres personnalisés et les groupes de paramètres de cluster personnalisés que vous utilisiez avec les versions de moteur antérieures à `1.2.0.0` doivent désormais être recréés à l'aide de la famille `neptune1.2` de groupes de paramètres. Les versions précédentes utilisaient une famille de groupes de paramètres `neptune1`, et ces groupes de paramètres ne fonctionnent pas avec les versions `1.2.0.0` et ultérieures. Pour plus d’informations, consultez [Groupes de paramètres Amazon Neptune](parameter-groups.md).

La mise à niveau vers cette version majeure n'est pas automatique.

## Mise à niveau vers cette version
<a name="engine-releases-1.2.1.0-upgrading"></a>

Amazon Neptune 1.2.1.0 est désormais disponible globalement.

Si un cluster de bases de données exécute une version de moteur à partir de laquelle il existe un chemin de mise à niveau vers cette version, il peut être mis à niveau dès maintenant. Vous pouvez mettre à niveau n'importe quel cluster éligible à l'aide des opérations de cluster de bases de données sur la console ou à l'aide du kit SDK. La commande CLI suivante met immédiatement à niveau un cluster éligible :

Pour Linux, OS X ou Unix :

```
1. aws neptune modify-db-cluster \
2.     --db-cluster-identifier (your-neptune-cluster) \
3.     --engine-version 1.2.1.0 \
4.     --apply-immediately
```

Pour Windows :

```
1. aws neptune modify-db-cluster ^
2.     --db-cluster-identifier (your-neptune-cluster) ^
3.     --engine-version 1.2.1.0 ^
4.     --apply-immediately
```

Les mises à jour sont appliquées simultanément à toutes les instances figurant dans un cluster de bases de données. Une mise à jour nécessite un redémarrage de la base de données sur ces instances. Vous subirez donc un temps d'arrêt allant de 20-30 secondes à plusieurs minutes, après quoi vous pourrez reprendre l'utilisation du cluster de bases de données.

### Toujour effectuer des tests avant la mise à niveau
<a name="engine-1.2.1.0-test-before-upgrading"></a>

Lorsqu'une nouvelle version majeure ou mineure du moteur Neptune est publiée, testez toujours vos applications Neptune sur cette version avant de procéder à la mise à niveau. Même une mise à niveau mineure peut introduire de nouvelles fonctionnalités ou de nouveaux comportements susceptibles d'affecter le code.

Commencez par comparer les pages de notes de mise à jour de votre version actuelle à celles de la version cible pour déterminer s'il existe des modifications des versions de langage de requête ou d'autres changements majeurs.

Le meilleur moyen de tester une nouvelle version avant de mettre à niveau le cluster de bases de données de production est de cloner ce cluster pour qu'il exécute cette nouvelle version du moteur. Vous pouvez ainsi exécuter des requêtes sur le clone sans affecter le cluster de bases de données de production.

### Toujours créer un instantané manuel avant de procéder à la mise à niveau
<a name="engine-1.2.1.0-snapshot-before-upgrading"></a>

Avant la mise à niveau, nous vous recommandons vivement de toujours créer un instantané manuel du cluster de bases de données. Un instantané automatique n'offre qu'une protection à court terme, tandis qu'un instantané manuel reste disponible jusqu'à ce que vous le supprimiez explicitement.

Dans certains cas, Neptune crée un instantané manuel pour vous dans le cadre du processus de mise à niveau, mais il est préférable de ne pas compter sur ce mécanisme et de créer dans tous les cas votre propre instantané manuel.

Lorsque vous êtes certain de ne pas avoir besoin de rétablir l'état antérieur à la mise à niveau de votre cluster de bases de données, vous pouvez supprimer explicitement l'instantané manuel que vous avez créé vous-même, ainsi que celui que Neptune a éventuellement créé. Si Neptune crée un instantané manuel, il porte un nom commençant par `preupgrade`, suivi du nom de votre cluster de bases de données, de la version du moteur source, de la version du moteur cible et de la date.

**Note**  
Si vous essayez de procéder à une mise à niveau alors qu'[une action en attente est en cours](manage-console-maintaining), une erreur telle que la suivante peut survenir :  

```
   We're sorry, your request to modify DB cluster (cluster identifier) has failed.
   Cannot modify engine version because instance (instance identifier) is
   running on an old configuration. Apply any pending maintenance actions on the instance before
   proceeding with the upgrade.
```
Si vous rencontrez cette erreur, attendez que l'action en attente soit terminée ou déclenchez immédiatement une fenêtre de maintenance pour laisser la mise à niveau précédente se terminer.

Pour plus d'informations sur la mise à niveau de la version du moteur , consultez [Maintenance du cluster de bases de données Amazon Neptune](cluster-maintenance.md). Si vous avez des questions ou des préoccupations, l'équipe de AWS support est disponible sur les forums communautaires et via le [support AWS Premium](https://aws.amazon.com/support).