Utilisation du service Neptune-Export pour exporter les données Neptune - Amazon Neptune

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.

Utilisation du service Neptune-Export pour exporter les données Neptune

Vous pouvez suivre les étapes suivantes pour exporter les données de votre cluster de bases de données Neptune vers Amazon S3 à l'aide du service Neptune-Export :

Installation du service Neptune-Export

Utilisez un AWS CloudFormation modèle pour créer la pile :

Pour installer le service Neptune-Export
  1. Lancez la AWS CloudFormation pile sur la AWS CloudFormation console en cliquant sur l'un des boutons Lancer la pile dans le tableau suivant :

    Région Vue Afficher dans Designer Lancer
    USA Est (Virginie du Nord) Afficher Afficher dans Designer
    USA Est (Ohio) Afficher Afficher dans Designer
    USA Ouest (Californie du Nord) Afficher Afficher dans Designer
    USA Ouest (Oregon) Afficher Afficher dans Designer
    Canada (Centre) Afficher Afficher dans Designer
    Amérique du Sud (São Paulo) Afficher Afficher dans Designer
    Europe (Stockholm) Afficher Afficher dans Designer
    Europe (Irlande) Afficher Afficher dans Designer
    Europe (Londres) Afficher Afficher dans Designer
    Europe (Paris) Afficher Afficher dans Designer
    Europe (Francfort) Afficher Afficher dans Designer
    Moyen-Orient (Bahreïn) Afficher Afficher dans Designer
    Moyen-Orient (EAU) Afficher Afficher dans Designer
    Afrique (Le Cap) Afficher Afficher dans Designer
    Asie-Pacifique (Hong Kong) Afficher Afficher dans Designer
    Asie Pacifique (Tokyo) Afficher Afficher dans Designer
    Asie-Pacifique (Séoul) Afficher Afficher dans Designer
    Asie-Pacifique (Singapour) Afficher Afficher dans Designer
    Asie-Pacifique (Sydney) Afficher Afficher dans Designer
    Asie-Pacifique (Mumbai) Afficher Afficher dans Designer
    Chine (Beijing) Afficher Afficher dans Designer
    Chine (Ningxia) Afficher Afficher dans Designer
    AWSGovCloud(Ouest des États-Unis) Afficher Afficher dans Designer
    AWSGovCloud(Est des États-Unis) Afficher Afficher dans Designer
  2. Sur la page Select Template, choisissez Next.

  3. Sur la page Spécifier les détails, le modèle, définissez les paramètres suivants :

    • VPC— Le moyen le plus simple de configurer le service Neptune-Export est de l'installer dans le même Amazon VPC que votre base de données Neptune. Si vous souhaitez l'installer dans un VPC distinct, vous pouvez utiliser le peering VPC pour établir la connectivité entre le VPC du cluster de base de données Neptune et le VPC du service Neptune-Export.

    • Subnet1— Le service Neptune-Export doit être installé dans un sous-réseau de votre VPC qui autorise le trafic HTTPS IPv4 sortant du sous-réseau vers Internet. Cela permet au service Neptune-Export d'appeler l'API AWS Batch pour créer et exécuter une tâche d'exportation.

      Si vous avez créé votre cluster Neptune à l'aide du CloudFormation modèle figurant sur la Créer un cluster de bases de données page de la documentation de Neptune, vous pouvez utiliser les PrivateSubnet2 sorties PrivateSubnet1 et de cette pile pour renseigner ce paramètre et le suivant.

    • Subnet2— Un deuxième sous-réseau du VPC qui autorise le trafic HTTPS IPv4 sortant du sous-réseau vers Internet.

    • EnableIAM— Définissez ce paramètre true pour sécuriser l'API Neptune-Endpoint à l'aide de AWS Identity and Access Management (IAM). Nous vous recommandons d'effectuer cette opération.

      Si vous activez l'authentification IAM, vous devez Sigv4 signer toutes les demandes HTTPS adressées au point de terminaison. Vous pouvez utiliser un outil tel que awscurl pour signer les demandes en votre nom.

    • VPCOnly— Paramétrer ce paramètre pour que true le point de terminaison d'exportation soit réservé au VPC, de sorte que vous ne puissiez y accéder que depuis le VPC sur lequel le service Neptune-Export est installé. Cela limite l'utilisation de l'API Neptune-Export uniquement depuis ce VPC.

      Nous vous recommandons de définir le VPCOnly à la valeur true.

    • NumOfFilesULimit — Spécifiez une valeur comprise entre 10 000 et 1 000 000 pour nofile dans la propriété du ulimits conteneur. La valeur par défaut est de 10 000 et nous vous recommandons de conserver cette valeur par défaut, sauf si votre graphique contient un grand nombre d'étiquettes uniques.

    • PrivateDnsEnabled (Boolean) : indique si vous souhaitez associer une zone hébergée privée au VPC spécifié. La valeur par défaut est true.

      Lorsqu'un point de terminaison VPC est créé avec cet indicateur activé, tout le trafic de API Gateway est acheminé via le point de terminaison du VPC et les appels de point de terminaison de API Gateway publics sont désactivés. Si vous le définissez sur PrivateDnsEnabledfalse, le point de terminaison public de la API Gateway est activé, mais le service d'exportation Neptune ne peut pas être connecté via le point de terminaison DNS privé. Vous pouvez ensuite utiliser un point de terminaison DNS public pour que le point de terminaison VPC appelle le service d'exportation, comme détaillé ici.

  4. Choisissez Suivant.

  5. Dans la page Options, choisissez Next (Suivant).

  6. Sur la page Révision, cochez la première case pour confirmer que les ressources IAM AWS CloudFormation seront créées. Cochez la deuxième case pour confirmer CAPABILITY_AUTO_EXPAND comme nouvelle pile.

    Note

    CAPABILITY_AUTO_EXPAND accepte explicitement que les macros soient étendues lors de la création de la pile, sans révision préalable. Les utilisateurs créent souvent un jeu de modifications à partir d'un modèle traité, de sorte que les modifications apportées par les macros puissent être révisées avant la création de la pile. Pour de plus amples informations, veuillez consulter l'API AWS CloudFormationCreateStack.

    Ensuite, choisissez Create (Créer).

Activer l'accès à Neptune depuis Neptune-Export

Une fois l'installation de Neptune-Export terminée, mettez à jour votre groupe de sécurité Neptune VPC pour autoriser l'accès depuis Neptune-Export. Lorsque la AWS CloudFormation pile Neptune-Export a été créée, l'onglet Outputs inclut un ID. NeptuneExportSecurityGroup Mettez à jour votre groupe de sécurité Neptune VPC pour autoriser l'accès à partir de ce groupe de sécurité Neptune-Export.

Autoriser l'accès au point de terminaison Neptune-Export à partir d'une instance EC2 basée sur VPC

Si vous configurez votre point de terminaison Neptune-Export uniquement sous forme de VPC, vous ne pouvez y accéder que depuis le VPC dans lequel le service Neptune-Export est installé. Pour autoriser la connectivité à partir d'une instance Amazon EC2 du VPC à partir de laquelle vous pouvez effectuer des appels d'API Neptune-Export, attachez le fichier NeptuneExportSecurityGroup créé par la AWS CloudFormation pile à cette instance Amazon EC2.

Exécuter une tâche Neptune-Export à l'aide de l'API Neptune-Export

L'onglet Sorties de la AWS CloudFormation pile inclut également leNeptuneExportApiUri. Utilisez cet URI chaque fois que vous envoyez une demande au point de terminaison Neptune-Export.

Exécuter une tâche d'exportation
  • Assurez-vous que l'utilisateur ou le rôle sous lequel l'exportation s'exécute dispose d'une execute-api:Invoke autorisation.

  • Si vous avez défini le EnableIAM paramètre sur « true dans la AWS CloudFormation pile » lorsque vous avez installé Neptune-Export, vous devez Sigv4 signer toutes les demandes à l'API Neptune-Export. Nous vous recommandons d'utiliser awscurl pour envoyer des requêtes à l'API. Tous les exemples présentés ici supposent que l'authentification IAM est activée.

  • Si vous avez défini le VPCOnly paramètre sur « true dans la AWS CloudFormation pile » lorsque vous avez installé Neptune-Export, vous devez appeler l'API Neptune-Export depuis le VPC, généralement depuis une instance Amazon EC2 située dans le VPC.

Pour commencer à exporter des données, envoyez une demande au NeptuneExportApiUri point de terminaison avec command des paramètres de outputS3Path demande et un paramètre endpoint d'exportation.

Le code suivant est un exemple de requête qui exporte les données de graphes de propriétés de Neptune et les publie sur Amazon S3 :

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-pg", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)" } }'

De même, voici un exemple de requête qui exporte des données RDF depuis Neptune vers Amazon S3 :

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-rdf", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)" } }'

Si vous omettez le paramètre de command requête, Neptune-Export tente par défaut d'exporter les données du graphe des propriétés depuis Neptune.

Si la commande précédente s'est exécutée correctement, le résultat devrait ressembler à ceci :

{ "jobName": "neptune-export-abc12345-1589808577790", "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f" }

Surveillez la tâche d'exportation que vous venez de commencer

Pour surveiller une tâche en cours d'exécution, ajoutez son objet JobID à votreNeptuneExportApiUri, comme ceci :

curl \ (your NeptuneExportApiUri)(the job ID)

Si le service n'avait pas encore lancé la tâche d'exportation, la réponse se présenterait comme suit :

{ "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f", "status": "pending" }

Lorsque vous répétez la commande après le démarrage de la tâche d'exportation, la réponse ressemble à ceci :

{ "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f", "status": "running", "logs": "https://us-east-1.console.aws.amazon.com/cloudwatch/home?..." }

Si vous ouvrez les CloudWatch journaux dans Logs à l'aide de l'URI fourni par l'appel d'état, vous pouvez alors suivre la progression de l'exportation en détail :

Capture d'écran de l'affichage CloudWatch des journaux.

Annuler une tâche d'exportation en cours d'exécution

Pour annuler une tâche d'exportation en cours d'exécution à l'aide du AWS Management Console
  1. Ouvrez la AWS Batch console à l'adresse https://console.aws.amazon.com/batch/.

  2. Choisissez Tâches.

  3. Localisez la tâche en cours que vous souhaitez annuler en fonction de celle-cijobID.

  4. Sélectionnez Annuler la tâche.

Pour annuler une tâche d'exportation en cours à l'aide de l'API d'exportation Neptune :

Envoyez une HTTP DELETE demande au NeptuneExportApiUri avec le texte en jobID annexe, comme ceci :

curl -X DELETE \ (your NeptuneExportApiUri) (the job ID)