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.
Exemple : chargement de données dans une instance de base de données Neptune
Cet exemple montre comment charger des données dans Amazon Neptune. Sauf indication contraire, vous devez suivre ces étapes depuis une instance Amazon Elastic Compute Cloud (AmazonEC2) située dans le même Amazon Virtual Private Cloud (VPC) que votre instance de base de données Neptune.
Prérequis pour l'exemple de chargement de données
Avant de commencer, les prérequis suivants doivent être remplis :
-
Vous devez disposer d'une instance de base de données Neptune.
Pour plus d'informations sur le lancement d'une instance de base de données Neptune, consultez Création d'un cluster Neptune.
-
Vous devez disposer d'un compartiment Amazon Simple Storage Service (Amazon S3) dans lequel stocker les fichiers de données :
Vous pouvez utiliser un compartiment existant. Si vous n'avez pas de compartiment S3, consultez Création d'un compartiment dans le Guide de démarrage Amazon S3.
-
Vous devez disposer des données de graphe à charger, dans un des formats compatibles avec le chargeur :
Si vous utilisez Gremlin pour interroger votre graphe, Neptune peut charger les données dans comma-separated-values un format
CSV
(), comme décrit dans. Format de chargement de données GremlinSi vous utilisez openCypher pour interroger votre graphe, Neptune peut également charger des données dans un
CSV
format openCypher spécifique, comme décrit dans. Format de chargement des openCypher donnéesSi vous utilisezSPARQL, Neptune peut charger des données dans un certain nombre de RDF formats, comme décrit dans. RDFformats de données de chargement
-
IAMRôle que doit assumer l'instance de base de données Neptune dotée d'une IAM politique autorisant l'accès aux fichiers de données du compartiment S3. La stratégie doit accorder des autorisations de lecture et de type Liste.
Pour plus d'informations sur la création d'un rôle ayant accès à Amazon S3 et sur son association à un cluster Neptune, consultez Conditions préalables : IAM rôle et accès Amazon S3.
Note
Le Neptune
Load
API a uniquement besoin d'un accès en lecture aux fichiers de données. La IAM politique n'a pas besoin d'autoriser l'accès en écriture ou l'accès à l'ensemble du compartiment. Un point de VPC terminaison Amazon S3. Pour plus d’informations, consultez la section Création d'un point de VPC terminaison Amazon S3.
Création d'un point de VPC terminaison Amazon S3
Le chargeur Neptune nécessite un VPC point de terminaison pour Amazon S3.
Pour configurer l'accès à Amazon S3
Connectez-vous à la VPC console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/vpc/
. Dans le panneau de navigation de gauche, sélectionnez Points de terminaison.
Choisissez Créer un point de terminaison.
-
Pour Nom du service, choisissez
com.amazonaws.
.region
.s3Note
Si la région dans ce champ est incorrecte, assurez-vous que la région de la console est correcte.
Choisissez celui VPC qui contient votre instance de base de données Neptune.
Cochez la case en regard des tables de routage associées aux sous-réseaux liés à votre cluster. Si vous n'avez qu'une seule table de routage, vous devez cocher cette case.
Choisissez Créer un point de terminaison.
Pour plus d'informations sur la création du point de terminaison, consultez la section VPCEndpoints dans le guide de VPC l'utilisateur Amazon. Pour plus d'informations sur les limites des VPC points de terminaison, consultez VPCEndpoints for Amazon S3.
Pour charger des données dans une instance de base de données Neptune
-
Copiez les fichiers de données dans un compartiment Amazon S3. Le compartiment S3 doit se trouver dans la même AWS région que le cluster qui charge les données.
Vous pouvez utiliser la AWS CLI commande suivante pour copier les fichiers dans le compartiment.
Note
Il n'est pas nécessaire d'exécuter cette commande depuis l'EC2instance Amazon.
aws s3 cp
data-file-name
s3://bucket-name
/object-key-name
Note
Dans Amazon S3, le nom de la clé d'objet est le chemin d'accès complet d'un fichier, y compris le nom du fichier.
Exemple : Dans la commande
aws s3 cp datafile.txt s3://examplebucket/mydirectory/datafile.txt
, le nom de la clé d'objet estmydirectory/datafile.txt
.Vous pouvez également utiliser le AWS Management Console pour télécharger des fichiers dans le compartiment S3. Ouvrez la console Amazon S3 à https://console.aws.amazon.com/s3/
l'adresse et choisissez un compartiment. Dans le coin supérieur gauche, choisissez Upload (Charger) pour charger les fichiers. -
Dans une fenêtre de ligne de commande, entrez ce qui suit pour exécuter le chargeur Neptune, en utilisant les valeurs correctes pour votre point de terminaison, le chemin, le format et IAM le rôle Amazon S3. ARN
Le
format
paramètre peut prendre l'une des valeurs suivantes :csv
pour Gremlin,opencypher
pouropenCypher, ountriples
,nquads
turtle
, etrdfxml
pourRDF. Pour plus d'informations sur les autres paramètres, consultez Commande de chargeur Neptune.Consultez la section Connexion aux points de terminaison Amazon Neptune pour découvrir comment trouver le nom d'hôte de votre instance de base de données Neptune.
Le paramètre de région doit correspondre à la région du cluster et au compartiment S3.
Amazon Neptune est disponible dans les régions suivantes : AWS
USA Est (Virginie du Nord) :
us-east-1
USA Est (Ohio) :
us-east-2
USA Ouest (Californie du Nord) :
us-west-1
USA Ouest (Oregon) :
us-west-2
Canada (Centre) :
ca-central-1
Amérique du Sud (São Paulo) :
sa-east-1
Europe (Stockholm) :
eu-north-1
Europe (Irlande) :
eu-west-1
Europe (Londres) :
eu-west-2
Europe (Paris) :
eu-west-3
Europe (Francfort) :
eu-central-1
Moyen-Orient (Bahreïn) :
me-south-1
Moyen-Orient (UAE) :
me-central-1
Israël (Tel Aviv) :
il-central-1
Afrique (Le Cap) :
af-south-1
Asie-Pacifique (Hong Kong) :
ap-east-1
Asie-Pacifique (Tokyo) :
ap-northeast-1
Asie-Pacifique (Séoul) :
ap-northeast-2
Asie-Pacifique (Osaka) :
ap-northeast-3
Asie-Pacifique (Singapour) :
ap-southeast-1
Asie-Pacifique (Sydney) :
ap-southeast-2
Asie-Pacifique (Mumbai) :
ap-south-1
Chine (Beijing) :
cn-north-1
Chine (Ningxia) :
cn-northwest-1
AWS GovCloud (US-Ouest) :
us-gov-west-1
AWS GovCloud (USA Est) :
us-gov-east-1
curl -X POST \ -H 'Content-Type: application/json' \ https://
your-neptune-endpoint
:port
/loader -d ' { "source" : "s3://bucket-name
/object-key-name
", "format" : "format
", "iamRoleArn" : "arn:aws:iam::account-id
:role/role-name
", "region" : "region
", "failOnError" : "FALSE", "parallelism" : "MEDIUM", "updateSingleCardinalityProperties" : "FALSE", "queueRequest" : "TRUE", "dependencies" : ["load_A_id", "load_B_id"
] }'Pour plus d'informations sur la création et l'association d'un IAM rôle à un cluster Neptune, consultez. Conditions préalables : IAM rôle et accès Amazon S3
Note
Pour de plus amples informations sur les paramètres de demande de chargement, veuillez consulter Paramètres de demande du chargeur Neptune. En bref :
Le
source
paramètre accepte un Amazon S3 URI qui pointe vers un seul fichier ou un dossier. Si vous spécifiez un dossier, Neptune y charge chaque fichier de données.Le dossier peut contenir plusieurs fichiers de sommet et plusieurs fichiers d'arc.
Ils URI peuvent être dans l'un des formats suivants.
s3://
bucket_name
/object-key-name
https://s3.amazonaws.com/
bucket_name
/object-key-name
https://s3-us-east-1.amazonaws.com/
bucket_name
/object-key-name
Ce paramètre
format
peut être l'un des suivants :CSVformat Gremlin (
csv
) pour les graphes de propriétés GremlinopenCypher CSVformat (
opencypher
) pour les graphes openCypher de propriétésFormat N -Triples (
ntriples
) pour/RDFSPARQLFormat N-Quads (
nquads
) pour/RDFSPARQLRDFformat/XML(
rdfxml
) pourRDF/SPARQLFormat Turtle (
turtle
) pourRDF/SPARQL
Le paramètre facultatif
parallelism
vous permet de limiter le nombre de threads utilisés dans le processus de chargement en bloc. Il peut être défini surLOW
,MEDIUM
,HIGH
ouOVERSUBSCRIBE
.Lorsque la valeur
updateSingleCardinalityProperties
est définie sur"FALSE"
, le chargeur renvoie une erreur si plusieurs valeurs sont fournies dans un fichier source en cours de chargement pour une propriété de sommet d'une arête ou d'une seule cardinalité.Si
queueRequest
est défini sur"TRUE"
, la demande de chargement est placée dans une file d'attente lorsqu'une tâche de chargement est déjà en cours d'exécution.Avec le paramètre
dependencies
, l'exécution de la demande de chargement dépend de la réussite d'une ou de plusieurs tâches de chargement qui ont déjà été placées dans la file d'attente. -
Le chargeur Neptune renvoie un
id
de tâche qui vous permet de vérifier le statut ou d'annuler le processus de chargement, par exemple :{ "status" : "200 OK", "payload" : { "loadId" : "
ef478d76-d9da-4d94-8ff1-08d9d4863aa5
" } } -
Saisissez la commande suivante pour obtenir le statut du chargement avec le paramètre
loadId
de l'étape 3 :curl -G 'https://
your-neptune-endpoint
:port
/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5
'Si le statut du chargement signale une erreur, vous pouvez demander un statut plus détaillé et une liste des erreurs. Pour plus d’informations et d’exemples, consultez Neptune Loader Get Status API.
-
(Facultatif) Annulez la tâche
Load
.Saisissez la commande suivante pour supprimer (
Delete
) la tâche de chargement (loader) avec l'id
de tâche de l'étape 3 :curl -X DELETE 'https://
your-neptune-endpoint
:port
/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5
'La
DELETE
commande renvoie le HTTP code en200 OK
cas d'annulation réussie.Les données des fichiers de la tâche de chargement qui ont fini de se charger ne sont pas annulées. Les données restent dans l'instance de base de données Neptune.