Référence d'Oracle NoSQL Database Migrator
Découvrez les paramètres de modèle de configuration de source, de puits et de transformation disponibles pour Oracle NoSQL Database Migrator.
Cet article comprend les rubriques suivantes :
Modèles de configuration source
Découvrez les formats de fichier de configuration pour chaque source valide et l'objectif de chaque paramètre de configuration.
Rubriques
- Fichier JSON
- Fichier JSON dans le bucket OCI Object Storage
- Fichier JSON au format MongoDB
- Fichier JSON au format MongoDB dans le bucket OCI Object Storage
- Fichier JSON au format DynamoDB stocké dans AWS S3
- Fichier JSON au format DynamoDB
- Oracle NoSQL Database
- Oracle NoSQL Database Cloud Service
- CSV comme source de fichier
- Fichier CSV dans le bucket OCI Object Storage
Fichier JSON
Le format de fichier de configuration du fichier JSON en tant que source de NoSQL Database Migrator est indiqué ci-dessous.
Modèle de configuration
"source" : {
"type" : "file",
"format" : "json",
"dataPath": "</path/to/a/json/file>",
"schemaInfo": {
"schemaPath": "</path/to/schema/file>"
}
}
Paramètres source
type
-
Objet : identifie le type de source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "file"
format
-
Objectif : indique le format source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"format" : "json"
dataPath
-
Objectif : indique le chemin absolu d'un fichier ou d'un répertoire contenant les données JSON à migrer.
Vous devez vous assurer que ces données correspondent au schéma de table NoSQL défini au niveau du récepteur. Si vous spécifiez un répertoire, NoSQL Database Migrator identifie tous les fichiers avec l'extension
.json
dans ce répertoire pour la migration. Les sous-répertoires ne sont pas pris en charge. - Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
-
Spécification d'un fichier JSON
"dataPath" : "/home/user/sample.json"
-
Indication d'un répertoire
"dataPath" : "/home/user"
-
schemaInfo
-
Objectif : spécifie le schéma des données source en cours de migration. Ce schéma est transmis au récepteur NoSQL.
- Type de données : objet
- Obligatoire (O/N) : N
schemaInfo.schemaPath
-
Objectif : indique le chemin absolu du fichier de définition de schéma contenant des instructions DDL pour la table NoSQL en cours de migration.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"schemaInfo" : { "schemaPath" : "/home/user/mytable/Schema/schema.ddl" }
Fichier JSON dans le bucket OCI Object Storage
Le format de fichier de configuration du fichier JSON dans le bucket OCI Object Storage en tant que source de NoSQL Database Migrator est indiqué ci-dessous.
Les types de puits valides pour le type de source OCI Object Storage sont
nosqldb
et nosqldb_cloud
.
Modèle de configuration
"source" : {
"type" : "object_storage_oci",
"format" : "json",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"schemaInfo" : {
"schemaObject" : "<object name>"
},
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>
}
Paramètres source
type
-
Objet : identifie le type de source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "object_storage_oci"
format
-
Objectif : indique le format source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"format" : "json"
adresse
-
Objectif : indique l'URL d'adresse ou l'ID de région du service OCI Object Storage.
Vous pouvez indiquer l'URL complète ou l'ID de région seul. Reportez-vous à Régions de données et URL de service associées dans Utilisation d'Oracle NoSQL Database Cloud Service pour obtenir la liste des régions de données prises en charge pour Oracle NoSQL Database Cloud Service.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
-
ID de région :
"endpoint" : "us-ashburn-1"
-
Format d'URL :
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
espace de noms
-
Objet : indique l'espace de noms du service OCI Object Storage. Ce paramètre est facultatif. Si vous n'indiquez pas ce paramètre, l'espace de noms par défaut de la location est utilisé.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"namespace" : "my-namespace"
intervalle
-
Objectif : indique le nom du bucket, qui contient les fichiers JSON source. Assurez-vous que le bucket requis existe déjà dans l'instance OCI Object Storage et dispose de droits d'accès en lecture.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"bucket" : "staging_bucket"
préfixe
-
Objectif : permet de filtrer les objets en cours de migration à partir du bucket. Tous les objets dont le préfixe indiqué est présent dans le bucket sont migrés. Pour plus d'informations sur les préfixes, reportez-vous à Dénomination des objets à l'aide de préfixes et de hiérarchies.
Si vous n'indiquez aucune valeur, aucun filtre n'est appliqué et tous les objets présents dans le bucket sont migrés.
- Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"prefix" : "my_table/Data/000000.json"
(migre uniquement000000.json
)"prefix" : "my_table/Data"
(migre tous les objets avec le préfixemy_table/Data
)
schemaInfo
-
Objectif : spécifie le schéma des données source en cours de migration. Ce schéma est transmis au récepteur NoSQL.
- Type de données : objet
- Obligatoire (O/N) : N
schemaInfo.schemaObject
-
Objectif : indique le nom de l'objet dans le bucket où sont stockées les définitions de schéma de table NoSQL pour les données migrées.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"schemaInfo" : { "schemaObject" : "mytable/Schema/schema.ddl" }
informations d'identification
-
Objectif : chemin absolu vers un fichier contenant les informations d'identification OCI.
S'il n'est pas indiqué, la valeur par défaut est
$HOME/.oci/config
.Reportez-vous à la section Example Configuration pour obtenir un exemple de fichier d'informations d'identification.
Remarque
Même si les paramètres credentials et useInstancePrincipal ne sont pas obligatoires individuellement, l'un de ces paramètres DOIT être spécifié. En outre, ces deux paramètres sont mutuellement exclusifs. Indiquez UNIQUEMENT l'un de ces paramètres, mais pas les deux en même temps. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objectif : nom du profil de configuration à utiliser pour la connexion à Oracle NoSQL Database Cloud Service. Les informations d'identification de compte utilisateur sont appelées "profil".
Si vous ne spécifiez pas cette valeur, elle est définie par défaut sur le profil
DEFAULT
.Remarque
Ce paramètre est valide UNIQUEMENT si le paramètre credentials est spécifié. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
Objet : indique si l'outil de migration NoSQL utilise ou non l'authentification de principal d'instance pour se connecter à Oracle NoSQL Database Cloud Service. Pour plus d'informations sur la méthode d'authentification de principal d'instance, reportez-vous à Sécurité de source et de récepteur.
S'il n'est pas indiqué, la valeur par défaut est False.
Remarque
- Elle est prise en charge UNIQUEMENT lorsque l'outil NoSQL Database Migrator est exécuté dans une instance de calcul OCI, par exemple, l'outil NoSQL Database Migrator exécuté dans une machine virtuelle hébergée sur OCI.
- Même si les paramètres credentials et useInstancePrincipal ne sont pas obligatoires individuellement, l'un de ces paramètres DOIT être spécifié. En outre, ces deux paramètres sont mutuellement exclusifs. Indiquez UNIQUEMENT l'un de ces paramètres, mais pas les deux en même temps.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useInstancePrincipal" : true
Fichier JSON au format MongoDB
Le format de fichier de configuration du fichier JSON au format MongoDB en tant que source du migrateur de base de données NoSQL est indiqué ci-dessous.
Modèle de configuration
"source" : {
"type" : "file",
"format" : "mongodb_json",
"dataPath": "</path/to/a/json/file>",
"schemaInfo": {
"schemaPath": "</path/to/schema/file>"
}
}
Paramètres source
type
-
Objet : identifie le type de source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "file"
format
-
Objectif : indique le format source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"format" : "mongodb_json"
dataPath
-
Objectif : indique le chemin absolu d'un fichier ou d'un répertoire contenant les données JSON exportées MongoDB pour la migration.
Vous devez avoir généré ces fichiers à l'aide de l'outil mongoexport. Reportez-vous à mongoexport pour plus d'informations.
Vous pouvez fournir le fichier JSON au format MongoDB généré à l'aide de l'outil mongoexport en mode canonique ou détendu. Les deux modes sont pris en charge par NoSQL Database Migrator pour la migration.
Si vous spécifiez un répertoire, NoSQL Database Migrator identifie tous les fichiers avec l'extension
.json
dans ce répertoire pour la migration. Les sous-répertoires ne sont pas pris en charge. Vous devez vous assurer que ces données correspondent au schéma de table NoSQL défini au niveau du récepteur. - Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
-
Spécification d'un fichier JSON au format MongoDB
"dataPath" : "/home/user/sample.json"
-
Indication d'un répertoire
"dataPath" : "/home/user"
-
schemaInfo
-
Objectif : spécifie le schéma des données source en cours de migration. Ce schéma est transmis au récepteur NoSQL.
- Type de données : objet
- Obligatoire (O/N) : N
schemaInfo.schemaPath
-
Objectif : indique le chemin absolu du fichier de définition de schéma contenant des instructions DDL pour la table NoSQL en cours de migration.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"schemaInfo" : { "schemaPath" : "/home/user/mytable/Schema/schema.ddl" }
Fichier JSON au format MongoDB dans le bucket OCI Object Storage
Le format du fichier de configuration pour le fichier JSON au format MongoDB dans le bucket OCI Object Storage en tant que source de NoSQL Database Migrator est indiqué ci-dessous.
Les types de puits valides pour le type de source OCI Object Storage sont
nosqldb
et nosqldb_cloud
.
Modèle de configuration
"source" : {
"type" : "object_storage_oci",
"format" : "mongodb_json",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"schemaInfo" : {
"schemaObject" : "<object name>"
},
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>
}
Paramètres source
type
-
Objet : identifie le type de source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "object_storage_oci"
format
-
Objectif : indique le format source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"format" : "mongodb_json"
adresse
-
Objectif : indique l'URL d'adresse ou l'ID de région du service OCI Object Storage.
Vous pouvez indiquer l'URL complète ou l'ID de région seul. Reportez-vous à Régions de données et URL de service associées dans Utilisation d'Oracle NoSQL Database Cloud Service pour obtenir la liste des régions de données prises en charge pour Oracle NoSQL Database Cloud Service.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
-
ID de région :
"endpoint" : "us-ashburn-1"
-
Format d'URL :
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
espace de noms
-
Objet : indique l'espace de noms du service OCI Object Storage. Ce paramètre est facultatif. Si vous n'indiquez pas ce paramètre, l'espace de noms par défaut de la location est utilisé.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"namespace" : "my-namespace"
intervalle
-
Objectif : indique le nom du bucket, qui contient les fichiers JSON au format MongoDB source. Assurez-vous que le bucket requis existe déjà dans l'instance OCI Object Storage et dispose de droits d'accès en lecture.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"bucket" : "staging_bucket"
préfixe
-
Objectif : permet de filtrer les objets en cours de migration à partir du bucket. Tous les objets dont le préfixe indiqué est présent dans le bucket sont migrés. Pour plus d'informations sur les préfixes, reportez-vous à Dénomination des objets à l'aide de préfixes et de hiérarchies.
Si vous n'indiquez aucune valeur, aucun filtre n'est appliqué et tous les objets au format JSON MongoDB présents dans le bucket sont migrés. Extrayez les données de MongoDB à l'aide de l'utilitaire mongoexport et téléchargez-les vers le bucket OCI Object Storage. Reportez-vous à mongoexport pour plus d'informations.
Si vous n'indiquez aucune valeur, aucun filtre n'est appliqué et tous les objets présents dans le bucket sont migrés.
- Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"prefix" : "mongo_export/Data/table.json"
(migre uniquementtable.json
)"prefix" : "mongo_export/Data"
(migre tous les objets avec le préfixemongo_export/Data
)
schemaInfo
-
Objectif : spécifie le schéma des données source en cours de migration. Ce schéma est transmis au récepteur NoSQL.
- Type de données : objet
- Obligatoire (O/N) : N
schemaInfo.schemaObject
-
Objectif : indique le nom de l'objet dans le bucket où sont stockées les définitions de schéma de table NoSQL pour les données migrées.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"schemaInfo" : { "schemaObject" : "mytable/Schema/schema.ddl" }
informations d'identification
-
Objectif : chemin absolu vers un fichier contenant les informations d'identification OCI.
S'il n'est pas indiqué, la valeur par défaut est
$HOME/.oci/config
.Reportez-vous à la section Example Configuration pour obtenir un exemple de fichier d'informations d'identification.
Remarque
Même si les paramètres credentials et useInstancePrincipal ne sont pas obligatoires individuellement, l'un de ces paramètres DOIT être spécifié. En outre, ces deux paramètres sont mutuellement exclusifs. Indiquez UNIQUEMENT l'un de ces paramètres, mais pas les deux en même temps. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objectif : nom du profil de configuration à utiliser pour la connexion à Oracle NoSQL Database Cloud Service. Les informations d'identification de compte utilisateur sont appelées "profil".
Si vous ne spécifiez pas cette valeur, elle est définie par défaut sur le profil
DEFAULT
.Remarque
Ce paramètre est valide UNIQUEMENT si le paramètre credentials est spécifié. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
Objet : indique si l'outil de migration NoSQL utilise ou non l'authentification de principal d'instance pour se connecter à Oracle NoSQL Database Cloud Service. Pour plus d'informations sur la méthode d'authentification de principal d'instance, reportez-vous à Sécurité de source et de récepteur.
S'il n'est pas indiqué, la valeur par défaut est False.
Remarque
- Elle est prise en charge UNIQUEMENT lorsque l'outil NoSQL Database Migrator est exécuté dans une instance de calcul OCI, par exemple, l'outil NoSQL Database Migrator exécuté dans une machine virtuelle hébergée sur OCI.
- Même si les informations d'identification et les paramètres useInstancePrincipal ne sont pas obligatoires individuellement, l'un de ces paramètres DOIT être indiqué. En outre, ces deux paramètres sont mutuellement exclusifs. Indiquez UNIQUEMENT l'un de ces paramètres, mais pas les deux en même temps.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useInstancePrincipal" : true
Fichier JSON au format DynamoDB stocké dans AWS S3
Le format de fichier de configuration du fichier JSON au format DynamoDB dans AWS S3 en tant que source de l'outil de migration de base de données NoSQL est indiqué ci-dessous.
Les types de puits valides pour le format DynamoDB JSON stocké dans AWS S3 sont nosqldb
et nosqldb_cloud
.
"source" : {
"type" : "aws_s3",
"format" : "dynamodb_json",
"s3URL" : "<S3 object url>",
"credentials" : "</path/to/aws/credentials/file>",
"credentialsProfile" : <"profile name in aws credentials file">
}
- type
- format
- s3URL
- informations d'identification
- credentialsProfile
- Objectif : identifie le type de source.
- Type de données : chaîne
- Obligatoire (O/N) : O
- Exemple :
"type" : "aws_s3"
- Objectif : indique le format source.
- Type de données : chaîne
- Obligatoire (O/N) : O
- Exemple :
"format" : "dynamodb_json"
Si la valeur de "type" est
aws_s3
, le format doit être dynamodb_json
.
- Objectif : indique l'URL d'une table DynamoDB exportée stockée dans AWS S3. Vous pouvez obtenir cette URL à partir de la console AWS S3. Le format d'URL valide est
https://<bucket-name>.<s3_endpoint>/<prefix>
. Le migrateur recherche les fichiersjson.gz
dans le préfixe pour l'import.Remarque
Vous devez exporter la table DynamoDB comme indiqué dans Exportation de données de table DynamoDB vers Amazon S3. - Type de données : chaîne
- Obligatoire : Oui
- Exemple :
https://my-bucket.s3.ap-south-1.amazonaws.com/AWSDynamoDB/01649660790057-14f642be
- Objectif : indique le chemin absolu d'un fichier contenant les informations d'identification AWS. S'il n'est pas indiqué, la valeur par défaut est
$HOME/.aws/credentials
. Pour plus d'informations sur le fichier d'informations d'identification, reportez-vous à la section Configuration et paramètres du fichier d'informations d'identification. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentials" : "/home/user/.aws/credentials" "credentials" : "/home/user/security/credentials
Le Migrator ne consigne aucune information sur les informations d'identification. Vous devez protéger correctement le fichier d'informations d'identification contre tout accès non autorisé.
- Objectif : nom du profil dans le fichier d'informations d'identification AWS à utiliser pour la connexion à AWS S3. Les informations d'identification de compte utilisateur sont appelées profil. Si vous ne spécifiez pas cette valeur, le profil par défaut est défini. Pour plus d'informations sur le fichier d'informations d'identification, reportez-vous à la section Configuration et paramètres du fichier d'informations d'identification.
- Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentialsProfile" : "default" "credentialsProfile": "test"
Fichier JSON au format DynamoDB
Le format de fichier de configuration du fichier JSON au format DynamoDB en tant que source du migreur de base de données NoSQL est indiqué ci-dessous.
Les types de puits valides pour le fichier JSON DynamoDB sont nosqldb
et nosqldb_cloud
.
"source" : {
"type" : "file",
"format" : "dynamodb_json",
"dataPath" : "<path to a file or directory containing exported DDB table data>"
}
- type
- format
- dataPath
- Objectif : identifie le type de source.
- Type de données : chaîne
- Obligatoire (O/N) : O
- Exemple :
"type" : "file"
- Objectif : indique le format source.
- Type de données : chaîne
- Obligatoire (O/N) : O
- Exemple :
"format" : "dynamodb_json"
- Objectif : indique le chemin absolu d'un fichier ou d'un répertoire contenant les données de table DynamoDB exportées. Vous devez copier les données de table DynamoDB exportées à partir d'AWS S3 vers un système de fichiers monté local. Vous devez vous assurer que ces données correspondent au schéma de table NoSQL défini au niveau du récepteur. Si vous spécifiez un répertoire, NoSQL Database Migrator identifie tous les fichiers avec l'extension
.json.gz
dans ce répertoire et le sous-répertoiredata
. - Type de données : chaîne
- Obligatoire (O/N) : O
- Exemple :
-
Spécification d'un fichier
"dataPath" : "/home/user/AWSDynamoDB/01639372501551-bb4dd8c3/data/zclclwucjy6v5mkefvckxzhfvq.json.gz"
- Indication d'un répertoire
"dataPath" : "/home/user/AWSDynamoDB/01639372501551-bb4dd8c3"
-
Oracle NoSQL Database
Le format de fichier de configuration d'Oracle NoSQL Database en tant que source de NoSQL Database Migrator est indiqué ci-dessous.
Modèle de configuration
"source" : {
"type": "nosqldb",
"table" : "<fully qualified table name>",
"storeName" : "<store name>",
"helperHosts" : ["hostname1:port1","hostname2:port2,..."],
"security" : "</path/to/store/security/file>",
"requestTimeoutMs" : 5000,
"includeTTL": <true|false>
}
Paramètres source
type
-
Objet : identifie le type de source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "nosqldb"
tableau
-
Objectif : Nom de table entièrement qualifié à partir duquel migrer les données.
Format :
[namespace_name:]<table_name>
Si la table se trouve dans l'espace de noms DEFAULT, vous pouvez omettre
namespace_name
. La table doit exister dans le magasin. - Type de données : chaîne
- Obligatoire (O/N) : Y
- Exemple :
-
Avec l'espace de noms DEFAULT
"table" :"mytable"
-
Avec un espace de noms autre que celui par défaut
"table" : "mynamespace:mytable"
-
Pour indiquer une table enfant
"table" : "mytable.child"
-
storeName
-
Objectif : nom de la banque Oracle NoSQL Database.
- Type de données : chaîne
- Obligatoire (O/N) : Y
- Exemple :
"storeName" : "kvstore"
helperHosts
-
Objectif : liste des paires de ports d'hôte et de registre au format
hostname:port
. Délimitez chaque élément de la liste à l'aide d'une virgule. Vous devez indiquer au moins un hôte helper. - Type de données : tableau de chaînes
- Obligatoire (O/N) : Y
- Exemple :
"helperHosts" : ["localhost:5000","localhost:6000"]
Sécurité
-
Objectif :
Si votre magasin est un magasin sécurisé, indiquez le chemin absolu du fichier de connexion de sécurité qui contient les informations d'identification de votre magasin. Reportez-vous à la section Configuring Security with Remote Access dans le Administrator's Guide pour en savoir plus sur le fichier de connexion de sécurité.
Vous pouvez utiliser l'authentification basée sur un fichier de mots de passe ou l'authentification basée sur un portefeuille. Toutefois, l'authentification basée sur le portefeuille est prise en charge uniquement dans Enterprise Edition (EE) d'Oracle NoSQL Database. Pour plus d'informations sur l'authentification basée sur le portefeuille, reportez-vous à Sécurité source et récepteur.
L'édition Community Edition (CE) prend uniquement en charge l'authentification par fichier de mots de passe.
- Type de données : chaîne
- Obligatoire (O/N) : Y pour un magasin sécurisé
- Exemple :
"security" : "/home/user/client.credentials"
Exemple de contenu de fichier de sécurité pour l'authentification basée sur un fichier de mots de passe :
oracle.kv.password.noPrompt=true oracle.kv.auth.username=admin oracle.kv.auth.pwdfile.file=/home/nosql/login.passwd oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
Exemple de contenu de fichier de sécurité pour l'authentification basée sur le portefeuille :
oracle.kv.password.noPrompt=true oracle.kv.auth.username=admin oracle.kv.auth.wallet.dir=/home/nosql/login.wallet oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
requestTimeoutMs
-
Objectif : indique le temps d'attente de la fin de chaque opération de lecture du magasin. Il est fourni en millisecondes. La valeur par défaut est 5000. Il doit s'agir d'un entier positif.
- Type de données : entier
- Obligatoire (O/N) : N
- Exemple :
"requestTimeoutMs" : 5000
includeTTL
-
Objectif : indique si les métadonnées de durée de vie des lignes de table doivent être incluses lors de l'export des tables Oracle NoSQL Database. Si la valeur est True, les données de durée de vie des lignes sont également incluses dans les données fournies par la source. La durée de vie est présente dans l'objet JSON _metadata associé à chaque ligne. Le délai d'expiration de chaque ligne est exporté en tant que nombre de millisecondes depuis l'époque UNIX (1er janvier 1970).
Si vous n'indiquez pas ce paramètre, la valeur par défaut est
false
.Seules les lignes ayant une valeur d'expiration positive pour la durée de vie sont incluses dans les lignes exportées. Si une ligne n'expire pas, ce qui signifie TTL=0, ses métadonnées TTL ne sont pas incluses explicitement. Par exemple, si ROW1 expire à 2021-10-19 00:00:00 et que ROW2 n'expire pas, les données exportées se présentent comme suit ://ROW1 { "id" : 1, "name" : "abc", "_metadata" : { "expiration" : 1634601600000 } } //ROW2 { "id" : 2, "name" : "xyz" }
- Type de données : booléen
- Obligatoire (O/N) : N
- Exemple :
"includeTTL" : true
Oracle NoSQL Database Cloud Service
Le format de fichier de configuration d'Oracle NoSQL Database Cloud Service en tant que source de migrateur de base de données NoSQL est indiqué ci-dessous.
Modèle de configuration
"source" : {
"type" : "nosqldb_cloud",
"endpoint" : "<Oracle NoSQL Cloud Service Endpoint. You can either specify the complete URL or the Region ID alone>",
"table" : "<table name>",
"compartment" : "<OCI compartment name or id>",
"credentials" : "</path/to/oci/credential/file>",
"credentialsProfile" : "<oci credentials profile name>",
"readUnitsPercent" : <table readunits percent>,
"requestTimeoutMs" : <timeout in milli seconds>,
"useInstancePrincipal" : <true|false>,
"includeTTL": <true|false>
}
Paramètres source
type
-
Objet : identifie le type de source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "nosqldb_cloud"
adresse
-
Objectif : indique l'adresse de service d'Oracle NoSQL Database Cloud Service.
Vous pouvez indiquer l'URL complète ou l'ID de région seul. Reportez-vous à Régions de données et URL de service associées dans Utilisation d'Oracle NoSQL Database Cloud Service pour obtenir la liste des régions de données prises en charge pour Oracle NoSQL Database Cloud Service.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
-
ID de région :
"endpoint" : "us-ashburn-1"
-
Format d'URL :
"endpoint" : "https://nosql.us-ashburn-1.oci.oraclecloud.com/"
-
tableau
-
Objectif : nom de la table à partir de laquelle migrer les données.
- Type de données : chaîne
- Obligatoire (O/N) : Y
- Exemple :
- Pour indiquer une table
"table" : "myTable"
- Pour indiquer une table enfant
"table" : "mytable.child"
- Pour indiquer une table
compartiment
-
Objectif : indique le nom ou l'OCID du compartiment dans lequel réside la table.
Si vous n'indiquez aucune valeur, elle est définie par défaut sur le compartiment root.
Vous pouvez trouver l'OCID de votre compartiment dans la fenêtre Explorateur de compartiment, sous Gouvernance, dans la console OCI Cloud.
- Type de données : chaîne
- Obligatoire (Y/N) : Oui, si la table ne se trouve pas dans le compartiment racine de la location OU lorsque le paramètre useInstancePrincipal est défini sur True.
Remarque
Si le paramètre useInstancePrincipal est défini sur True, le compartiment doit indiquer l'OCID du compartiment et non le nom. - Exemple :
-
Nom de compartiment
"compartment" : "mycompartment"
-
Nom de compartiment qualifié avec son compartiment parent
"compartment" : "parent.childcompartment"
-
Aucune valeur fournie. La valeur par défaut est le compartiment racine.
"compartment": ""
-
OCID de compartiment
"compartment" : "ocid1.tenancy.oc1...4ksd"
-
informations d'identification
-
Objectif : chemin absolu vers un fichier contenant les informations d'identification OCI.
S'il n'est pas indiqué, la valeur par défaut est
$HOME/.oci/config
.Reportez-vous à la section Example Configuration pour obtenir un exemple de fichier d'informations d'identification.
Remarque
Même si les paramètres credentials et useInstancePrincipal ne sont pas obligatoires individuellement, l'un de ces paramètres DOIT être spécifié. En outre, ces deux paramètres sont mutuellement exclusifs. Indiquez UNIQUEMENT l'un de ces paramètres, mais pas les deux en même temps. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objectif : nom du profil de configuration à utiliser pour la connexion à Oracle NoSQL Database Cloud Service. Les informations d'identification de compte utilisateur sont appelées "profil".
Si vous ne spécifiez pas cette valeur, elle est définie par défaut sur le profil
DEFAULT
.Remarque
Ce paramètre est valide UNIQUEMENT si le paramètre credentials est spécifié. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
readUnitsPercent
-
Objectif : pourcentage des unités de lecture de table à utiliser lors de la migration de la table NoSQL.
La valeur par défaut est 90. La plage valide est un entier compris entre 1 et 100. Notez que la durée nécessaire à la migration des données est directement proportionnelle à cet attribut. Il est préférable d'augmenter le débit de lecture de la table pour l'activité de migration. Vous pouvez réduire le débit de lecture une fois le processus de migration terminé.
Pour connaître les limites quotidiennes sur les modifications de débit, reportez-vous à limites cloud dans le guide Utilisation d'Oracle NoSQL Database Cloud Service.
La valeur par défaut est 90. La plage valide est un entier compris entre 1 et 100.
Remarque
La durée requise pour la migration des données est directement proportionnelle à la valeurwriteUnitsPercent
.Reportez-vous à Dépannage d'Oracle NoSQL Database Migrator pour savoir comment utiliser cet attribut afin d'améliorer la vitesse de migration des données.
- Type de données : entier
- Obligatoire (O/N) : N
- Exemple :
"readUnitsPercent" : 90
requestTimeoutMs
-
Objectif : indique le temps d'attente de la fin de chaque opération de lecture dans le dissipateur. Il est fourni en millisecondes. La valeur par défaut est 5000. Il doit s'agir d'un entier positif.
- Type de données : entier
- Obligatoire (O/N) : N
- Exemple :
"requestTimeoutMs" : 5000
useInstancePrincipal
-
Objet : indique si l'outil de migration NoSQL utilise ou non l'authentification de principal d'instance pour se connecter à Oracle NoSQL Database Cloud Service. Pour plus d'informations sur la méthode d'authentification de principal d'instance, reportez-vous à Sécurité de source et de récepteur.
S'il n'est pas indiqué, la valeur par défaut est False.
Remarque
- Elle est prise en charge UNIQUEMENT lorsque l'outil NoSQL Database Migrator est exécuté dans une instance de calcul OCI, par exemple, l'outil NoSQL Database Migrator exécuté dans une machine virtuelle hébergée sur OCI.
- Même si les paramètres credentials et useInstancePrincipal ne sont pas obligatoires individuellement, l'un de ces paramètres DOIT être spécifié. En outre, ces deux paramètres sont mutuellement exclusifs. Indiquez UNIQUEMENT l'un de ces paramètres, mais pas les deux en même temps.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useInstancePrincipal" : true
includeTTL
-
Objectif : indique si les métadonnées de durée de vie des lignes de table doivent être incluses lors de l'export des tables Oracle NoSQL Database Cloud Service. Si la valeur est True, les données de durée de vie des lignes sont également incluses dans les données fournies par la source. La durée de vie est présente dans l'objet JSON _metadata associé à chaque ligne. Le délai d'expiration de chaque ligne est exporté en tant que nombre de millisecondes depuis l'époque UNIX (1er janvier 1970).
Si vous n'indiquez pas ce paramètre, la valeur par défaut est
false
.Seules les lignes ayant une valeur d'expiration positive pour la durée de vie sont incluses dans les lignes exportées. Si une ligne n'expire pas, ce qui signifie TTL=0, ses métadonnées TTL ne sont pas incluses explicitement. Par exemple, si ROW1 expire à 2021-10-19 00:00:00 et que ROW2 n'expire pas, les données exportées se présentent comme suit ://ROW1 { "id" : 1, "name" : "abc", "_metadata" : { "expiration" : 1634601600000 } } //ROW2 { "id" : 2, "name" : "xyz" }
- Type de données : booléen
- Obligatoire (O/N) : N
- Exemple :
"includeTTL" : true
CSV comme source de fichier
Le format du fichier de configuration du fichier CSV en tant que source de NoSQL Database Migrator est illustré ci-dessous. Le fichier CSV doit être conforme au format RFC4180
.
Modèle de configuration
"source" : {
"type" : "file",
"format" : "csv",
"dataPath": "</path/to/a/csv/file-or-directory>",
"hasHeader" : <true | false>,
"columns" : ["column1", "column2", ....],
"csvOptions" : {
"trim" : <true | false>,
"encoding" : "<character set encoding>"
}
}
Paramètres source
type
-
Objet : identifie le type de source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "file"
format
-
Objet : Indique le format source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"format" : "csv"
chemin de données
-
Objet : Indique le chemin absolu d'un fichier ou d'un répertoire contenant les données CSV à migrer. Si vous spécifiez un répertoire, NoSQL Database Migrator importe tous les fichiers avec l'extension
.csv
ou.CSV
dans ce répertoire. Tous les fichiers CSV sont copiés dans une table unique, mais pas dans un ordre particulier.Les fichiers CSV doivent être conformes à la norme
RFC4180
. Vous devez vous assurer que les données de chaque fichier CSV correspondent au schéma de table NoSQL Database défini dans la table des puits. Les sous-répertoires ne sont pas pris en charge. - Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
-
Spécification d'un fichier CSV
"dataPath" : "/home/user/sample.csv"
-
Spécification d'un répertoire
"dataPath" : "/home/user"
-
Les fichiers CSV ne doivent contenir que des valeurs scalaires. L'importation de fichiers CSV contenant des types complexes tels que MAP, RECORD, ARRAY et JSON n'est pas prise en charge. L'outil NoSQL Database Migrator ne vérifie pas l'exactitude des données du fichier CSV d'entrée. L'outil NoSQL Database Migrator prend en charge l'importation de données CSV conformes au format RFC4180
. Les fichiers CSV contenant des données non conformes à la norme RFC4180
risquent de ne pas être copiés correctement ou d'entraîner une erreur. Si les données d'entrée sont endommagées, l'outil NoSQL Database Migrator n'analyse pas les enregistrements CSV. Si des erreurs se produisent au cours de la migration, l'outil NoSQL Database Migrator consigne les informations relatives aux enregistrements d'entrée en échec à des fins de débogage et d'information. Pour plus d'informations, reportez-vous à la section Logging Migrator Progress dans Using Oracle NoSQL Database Migrator.
hasHeader
-
Objet : Indique si le fichier CSV comporte un en-tête ou non. Si cette option est définie sur
true
, la première ligne est ignorée. S'il est défini surfalse
, la première ligne est considérée comme un enregistrement CSV. La valeur par défaut estfalse
. - Type de données : Booléen
- Obligatoire (O/N) : N
-
Exemple :
"hasHeader" : "false"
colonnes
-
Objet : indique la liste des noms de colonne de table NoSQL Database. L'ordre des noms de colonne indique le mappage des champs de fichier CSV avec les colonnes de table NoSQL Database correspondantes. Si l'ordre des colonnes du fichier CSV d'entrée ne correspond pas aux colonnes de table NoSQL Database existantes ou nouvellement créées, vous pouvez mapper l'ordre à l'aide de ce paramètre. En outre, lors de l'import dans une table comportant une colonne d'identité, vous pouvez ignorer le nom de la colonne d'identité dans la configuration
columns
.Remarque
- Si la table NoSQL Database contient des colonnes supplémentaires qui ne sont pas disponibles dans le fichier CSV, les valeurs des colonnes manquantes sont mises à jour avec la valeur par défaut définie dans la table NoSQL Database. Si aucune valeur par défaut n'est fournie, une valeur NULL est insérée lors de la migration. Pour plus d'informations sur les valeurs par défaut, reportez-vous à la section Data Type Definitions du Guide de référence SQL.
- Si le fichier CSV contient des colonnes supplémentaires qui ne sont pas définies dans la table NoSQL Database, les informations de colonne supplémentaires sont ignorées.
- Si une valeur de l'enregistrement CSV est vide, elle est définie sur la valeur par défaut des colonnes correspondantes dans la table NoSQL Database. Si aucune valeur par défaut n'est fournie, une valeur NULL est insérée lors de la migration.
- Type de données : tableau de chaînes
- Obligatoire (O/N) : N
-
Exemple :
"columns" : ["table_column_1", "table_column_2"]
csvOptions
-
Objet : Indique les options de formatage d'un fichier CSV. Indiquez le format de codage du jeu de caractères du fichier CSV et indiquez si les espaces doivent être tronqués.
- Type de données : objet
- Obligatoire (O/N) : N
csvOptions.trim
-
Objet : Indique si les blancs de début et de fin d'une valeur de champ CSV doivent être tronqués. La valeur par défaut est
false
. - Type de données : Booléen
- Obligatoire (O/N) : N
-
Exemple :
"trim" : "true"
csvOptions.encoding
-
Objet : Indique le jeu de caractères pour décoder le fichier CSV. La valeur par défaut est
UTF-8
. Les jeux de caractères pris en charge sontUS-ASCII, ISO-8859-1, UTF-8,
etUTF-16
. - Type de données : chaîne
- Obligatoire (O/N) : N
-
Exemple :
"encoding" : "UTF-8"
Fichier CSV dans le bucket OCI Object Storage
Le format du fichier de configuration du fichier CSV dans le bucket OCI Object Storage en tant que source de NoSQL Database Migrator est indiqué ci-dessous. Le fichier CSV doit être conforme au format RFC4180
.
Les types de récepteur valides pour le type de source OCI Object Storage sont
nosqldb
et nosqldb_cloud
.
Modèle de configuration
"source" : {
"type" : "object_storage_oci",
"format" : "csv",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>,
"hasHeader" : <true | false>,
"columns" : ["column1", "column2", ....],
"csvOptions" : {
"trim" : <true | false>,
"encoding" : "<character set encoding>"
}
}
Paramètres source
type
-
Objet : identifie le type de source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "object_storage_oci"
format
-
Objet : Indique le format source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"format" : "csv"
adresse
-
Objectif : indique l'URL d'adresse ou l'ID de région du service OCI Object Storage.
Vous pouvez indiquer l'URL complète ou l'ID de région seul. Reportez-vous à Régions de données et URL de service associées dans Utilisation d'Oracle NoSQL Database Cloud Service pour obtenir la liste des régions de données prises en charge pour Oracle NoSQL Database Cloud Service.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
-
ID de région :
"endpoint" : "us-ashburn-1"
-
Format d'URL :
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
espace de noms
-
Objet : indique l'espace de noms du service OCI Object Storage. Ce paramètre est facultatif. Si vous n'indiquez pas ce paramètre, l'espace de noms par défaut de la location est utilisé.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"namespace" : "my-namespace"
intervalle
-
Objet : indique le nom du bucket, qui contient les fichiers CSV source. L'utilitaire NoSQL Database Migrator importe tous les fichiers avec l'extension .
csv
ou.CSV
au niveau objet et les copie dans une table unique dans le même ordre.Assurez-vous que le bucket requis existe déjà dans l'instance OCI Object Storage et qu'il dispose de droits d'accès en lecture.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"bucket" : "staging_bucket"
Remarque
Les fichiers CSV ne doivent contenir que des valeurs scalaires. L'importation de fichiers CSV contenant des types complexes tels que MAP, RECORD, ARRAY et JSON n'est pas prise en charge. L'outil NoSQL Database Migrator ne vérifie pas l'exactitude des données du fichier CSV d'entrée. L'outil NoSQL Database Migrator prend en charge l'importation de données CSV conformes au format
RFC4180
. Les fichiers CSV contenant des données non conformes à la normeRFC4180
risquent de ne pas être copiés correctement ou d'entraîner une erreur. Si les données d'entrée sont endommagées, l'outil NoSQL Database Migrator n'analyse pas les enregistrements CSV. Si des erreurs se produisent au cours de la migration, l'outil NoSQL Database Migrator consigne les informations relatives aux enregistrements d'entrée en échec à des fins de débogage et d'information. Pour plus d'informations, reportez-vous à la section Logging Migrator Progress dans Using Oracle NoSQL Database Migrator.
préfixe
-
Objet : utilisé pour filtrer les objets en cours de migration à partir du bucket. Tous les objets dont le préfixe est présent dans le bucket sont migrés. Pour plus d'informations sur les préfixes, reportez-vous à Dénomination des objets à l'aide de préfixes et de hiérarchies.
Si vous n'indiquez aucune valeur, le filtre n'est pas appliqué et tous les objets présents dans le bucket sont migrés.
- Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"prefix" : "my_table/Data/000000.json"
(migre uniquement000000.json
)"prefix" : "my_table/Data"
(migre tous les objets avec le préfixemy_table/Data
)
informations d'identification
-
Objectif : chemin absolu vers un fichier contenant les informations d'identification OCI.
S'il n'est pas indiqué, la valeur par défaut est
$HOME/.oci/config
.Reportez-vous à la section Example Configuration pour obtenir un exemple de fichier d'informations d'identification.
Remarque
Vous devez indiquer les paramètres credentials ou useInstancePrincipal dans le modèle de configuration. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objet : nom du profil de configuration à utiliser pour la connexion à Oracle NoSQL Database Cloud Service. Les informations d'identification du compte utilisateur sont appelées profil.
Si vous ne spécifiez pas cette valeur, elle est définie par défaut sur le profil
DEFAULT
. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
Objet : indique si l'outil NoSQL Database Migrator utilise ou non l'authentification du principal d'instance pour se connecter à Oracle NoSQL Database Cloud Service. Pour plus d'informations sur la méthode d'authentification de principal d'instance, reportez-vous à Sécurité de source et de récepteur.
La valeur par défaut est
false
.Remarque
- L'authentification avec les ID instance est prise en charge uniquement lorsque l'outil NoSQL Database Migrator est exécuté dans une instance de calcul OCI, par exemple, l'outil NoSQL Database Migrator exécuté dans une machine virtuelle hébergée sur OCI.
- Vous devez spécifier les paramètres credentials ou useInstancePrincipal dans le modèle de configuration.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useInstancePrincipal" : true
hasHeader
-
Objet : Indique si le fichier CSV comporte un en-tête ou non. Si cette option est définie sur
true
, la première ligne est ignorée. S'il est défini surfalse
, la première ligne est considérée comme un enregistrement CSV. La valeur par défaut estfalse
. - Type de données : Booléen
- Obligatoire (O/N) : N
-
Exemple :
"hasHeader" : "false"
colonnes
-
Objet : indique la liste des noms de colonne de table NoSQL Database. L'ordre des noms de colonne indique le mappage des champs de fichier CSV avec les colonnes de table NoSQL Database correspondantes. Si l'ordre des colonnes du fichier CSV d'entrée ne correspond pas aux colonnes de table NoSQL Database existantes ou nouvellement créées, vous pouvez mapper l'ordre à l'aide de ce paramètre. En outre, lors de l'import dans une table comportant une colonne d'identité, vous pouvez ignorer le nom de la colonne d'identité dans la configuration
columns
.Remarque
- Si la table NoSQL Database contient des colonnes supplémentaires qui ne sont pas disponibles dans le fichier CSV, les valeurs des colonnes manquantes sont mises à jour avec la valeur par défaut définie dans la table NoSQL Database. Si aucune valeur par défaut n'est fournie, une valeur NULL est insérée lors de la migration. Pour plus d'informations sur les valeurs par défaut, reportez-vous à la section Data Type Definitions du Guide de référence SQL.
- Si le fichier CSV contient des colonnes supplémentaires qui ne sont pas définies dans la table NoSQL Database, les informations de colonne supplémentaires sont ignorées.
- Si une valeur de l'enregistrement CSV est vide, elle est définie sur la valeur par défaut des colonnes correspondantes dans la table NoSQL Database. Si aucune valeur par défaut n'est fournie, une valeur NULL est insérée lors de la migration.
- Type de données : tableau de chaînes
- Obligatoire (O/N) : N
-
Exemple :
"columns" : ["table_column_1", "table_column_2"]
csvOptions
-
Objet : Indique les options de formatage d'un fichier CSV. Indiquez le format de codage du jeu de caractères du fichier CSV et indiquez si les espaces doivent être tronqués.
- Type de données : objet
- Obligatoire (O/N) : N
csvOptions.trim
-
Objet : Indique si les blancs de début et de fin d'une valeur de champ CSV doivent être tronqués. La valeur par défaut est
false
. - Type de données : Booléen
- Obligatoire (O/N) : N
-
Exemple :
"trim" : "true"
csvOptions.encoding
-
Objet : Indique le jeu de caractères pour décoder le fichier CSV. La valeur par défaut est
UTF-8
. Les jeux de caractères pris en charge sontUS-ASCII, ISO-8859-1, UTF-8,
etUTF-16
. - Type de données : chaîne
- Obligatoire (O/N) : N
-
Exemple :
"encoding" : "UTF-8"
Modèles de configuration de dissipateur
Découvrez les formats de fichier de configuration pour chaque puits valide et l'objectif de chaque paramètre de configuration.
Fichier JSON
Le format de fichier de configuration du fichier JSON en tant que récepteur de NoSQL Database Migrator est indiqué ci-dessous.
Modèle de configuration
"sink" : {
"type" : "file",
"format" : "json",
"dataPath": "</path/to/a/file>",
"schemaPath" : "<path/to/a/file>",
"pretty" : <true|false>,
"useMultiFiles" : <true|false>,
"chunkSize" : <size in MB>
}
Paramètres du dissipateur
type
-
Objectif : identifie le type de dissipateur.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "file"
format
-
Objectif : indique le format du puits.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"format" : "json"
dataPath
-
Objectif : indique le chemin absolu d'un fichier dans lequel les données source seront copiées au format JSON.
Si le fichier n'existe pas dans le chemin de données spécifié, NoSQL Database Migrator le crée. S'il existe déjà, NoSQL Database Migrator remplace son contenu par les données source.
Vous devez vous assurer que le répertoire parent du fichier indiqué dans le chemin d'accès aux données est valide.
Remarque
Si le paramètre useMultiFiles est défini sur True, indiquez le chemin d'accès à un répertoire. Sinon, indiquez le chemin d'accès au fichier. - Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
- Avec le paramètre useMultiFiles défini sur True
"dataPath" :"
/home/user/data
" - Avec le paramètre useMultiFiles non spécifié ou défini sur False
"dataPath" :"
/home/user/sample.json
"
- Avec le paramètre useMultiFiles défini sur True
schemaPath
-
Objectif : indique le chemin absolu d'écriture des informations de schéma fournies par la source.
Si cette valeur n'est pas définie, les informations du schéma source ne seront pas migrées vers le récepteur. Si cette valeur est spécifiée, l'utilitaire de migration écrit le schéma de la table source dans le fichier indiqué ici.
Les informations de schéma sont écrites en tant que commande DDL par ligne dans ce fichier. Si le fichier n'existe pas dans le chemin de données spécifié, NoSQL Database Migrator le crée. S'il existe déjà, NoSQL Database Migrator remplace son contenu par les données source. Vous devez vous assurer que le répertoire parent du fichier indiqué dans le chemin d'accès aux données est valide.
- Type de données : chaîne
- Obligatoire (O/N) : N
-
Exemple :
"schemaPath" : "/home/user/schema_file"
joli.
-
Objectif : indique s'il faut embellir la sortie JSON pour améliorer la lisibilité.
S'il n'est pas indiqué, la valeur par défaut est False.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"pretty" : true
useMultiFiles
-
Objectif : indique si les données de la table NoSQL doivent être fractionnées en plusieurs fichiers lors de la migration des données source vers un fichier.
S'il n'est pas indiqué, la valeur par défaut est False.
Si la valeur est True, lors de la migration des données source vers un fichier, les données de la table NoSQL sont divisées en plusieurs fichiers plus petits. Par exemple,
<chunk>.json
, où chunk=00000,00001,000002, etc.dataPath |--000000.json |--000001.json
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useMultiFiles" : true
chunkSize
-
Objectif : indique la taille maximale d'un "bloc" de données de table à stocker au niveau du récepteur. Lors de la migration, une table est divisée en blocs chunkSize et chaque bloc est écrit en tant que fichier distinct dans le récepteur. Lorsque les données source en cours de migration dépassent cette taille, un nouveau fichier est créé.
Si aucune valeur n'est indiquée, la valeur par défaut est 32 Mo. La valeur valide est un entier compris entre 1 et 1024.
Remarque
Ce paramètre est applicable UNIQUEMENT lorsque le paramètre useMultiFiles est défini sur True. - Type de données : entier
- Obligatoire (O/N) : N
-
Exemple :
"chunkSize" : 40
Fichier Parquet
Le format de fichier de configuration du fichier Parquet en tant que puits de NoSQL Database Migrator est indiqué ci-dessous.
Modèle de configuration
"sink" : {
"type" : "file",
"format" : "parquet",
"dataPath": "</path/to/a/dir>",
"chunkSize" : <size in MB>,
"compression": "<SNAPPY|GZIP|NONE>",
"parquetOptions": {
"useLogicalJson": <true|false>,
"useLogicalEnum": <true|false>,
"useLogicalUUID": <true|false>,
"truncateDoubleSpecials": <true|false>
}
}
Paramètres du dissipateur
type
-
Objectif : identifie le type de dissipateur.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "file"
format
-
Objectif : indique le format du puits.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"format" : "parquet"
dataPath
-
Objectif : indique le chemin d'accès à un répertoire à utiliser pour stocker les données de la table NoSQL migrée. Assurez-vous que le répertoire existe déjà et dispose de droits d'accès en lecture et en écriture.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"dataPath" : "/home/user/migrator/my_table"
chunkSize
-
Objectif : indique la taille maximale d'un "bloc" de données de table à stocker au niveau du récepteur. Lors de la migration, une table est divisée en blocs chunkSize et chaque bloc est écrit en tant que fichier distinct dans le récepteur. Lorsque les données source en cours de migration dépassent cette taille, un nouveau fichier est créé.
Si aucune valeur n'est indiquée, la valeur par défaut est 32 Mo. La valeur valide est un entier compris entre 1 et 1024.
- Type de données : entier
- Obligatoire (O/N) : N
-
Exemple :
"chunkSize" : 40
Compression
-
Objectif : indique le type de compression à utiliser pour compresser les données de parquet. Les valeurs valides sont SNAPPY, GZIP et NONE.
S'il n'est pas spécifié, il prend par défaut la valeur SNAPPY.
- Type de données : chaîne
- Obligatoire (O/N) : N
-
Exemple :
"compression" : "GZIP"
parquetOptions
-
Objectif : permet de sélectionner les types logiques Parquet pour les colonnes NoSQL ENUM, JSON et UUID.
Si vous ne spécifiez pas ce paramètre, NoSQL Database Migrator écrit les données des colonnes ENUM, JSON et UUID en tant que chaîne.
- Type de données : objet
- Obligatoire (O/N) : N
parquetOptions.useLogicalJson
-
Objectif : indique si les données de colonne JSON NoSQL doivent être écrites en tant que type JSON logique Parquet. Pour plus d'informations, reportez-vous à Définitions de type logique Parquet.
Si aucune valeur n'est indiquée ou définie sur False, NoSQL Database Migrator écrit les données de colonne JSON NoSQL sous forme de chaîne.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useLogicalJson" : true
parquetOptions.useLogicalEnum
-
Objectif : indique si les données de colonne NoSQL ENUM doivent être écrites en tant que type ENUM logique Parquet. Pour plus d'informations, reportez-vous à Définitions de type logique Parquet.
S'il n'est pas indiqué ou défini sur False, NoSQL Database Migrator écrit les données de colonne NoSQL ENUM sous forme de chaîne.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useLogicalEnum" : true
parquetOptions.useLogicalUUID
-
Objectif : indique si les données de colonne UUID NoSQL doivent être écrites en tant que type UUID logique Parquet. Pour plus d'informations, reportez-vous à Définitions de type logique Parquet.
Si aucune valeur n'est indiquée ou définie sur False, NoSQL Database Migrator écrit les données de colonne UUID NoSQL sous forme de chaîne.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useLogicalUUID" : true
parquetOptions.truncateDoubleSpecials
-
Objectif : indique si les valeurs doubles +Infinity, -Infinity et Nan doivent être tronquées.
La valeur par défaut estfalse
. Si la valeur esttrue
,- Positive_Infinity est tronqué à Double.MAX_VALUE.
- NEGATIVE_INFINITY est tronqué en -Double.MAX_VALUE.
- NaN est tronqué à 9.9999999999999990E307.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"truncateDoubleSpecials" : true
Fichier JSON dans le bucket OCI Object Storage
Le format de fichier de configuration du fichier JSON dans le bucket OCI Object Storage en tant que puits de NoSQL Database Migrator est indiqué ci-dessous.
Les types de source valides pour le type de source OCI Object Storage sont
nosqldb
et nosqldb_cloud
.
Modèle de configuration
"sink" : {
"type" : "object_storage_oci",
"format" : "json",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"chunkSize" : <size in MB>,
"pretty" : <true|false>,
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>
}
Paramètres source
type
-
Objectif : identifie le type de dissipateur.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "object_storage_oci"
format
-
Objectif : indique le format du puits.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"format" : "json"
adresse
-
Objectif : indique l'URL d'adresse ou l'ID de région du service OCI Object Storage.
Vous pouvez indiquer l'URL complète ou l'ID de région seul. Reportez-vous à Régions de données et URL de service associées dans Utilisation d'Oracle NoSQL Database Cloud Service pour obtenir la liste des régions de données prises en charge pour Oracle NoSQL Database Cloud Service.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
-
ID de région :
"endpoint" : "us-ashburn-1"
-
Format d'URL :
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
espace de noms
-
Objet : indique l'espace de noms du service OCI Object Storage. Ce paramètre est facultatif. Si vous n'indiquez pas ce paramètre, l'espace de noms par défaut de la location est utilisé.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"namespace" : "my-namespace"
intervalle
-
Objectif : indique le nom de bucket à utiliser pour le stockage des données migrées. Assurez-vous que le bucket requis existe déjà dans l'instance OCI Object Storage et dispose de droits d'accès en écriture.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"bucket" : "staging_bucket"
préfixe
-
Objectif : indique le préfixe ajouté au nom d'objet lorsque des objets sont créés dans le bucket. Le préfixe sert de conteneur logique ou de répertoire pour le stockage des données. Pour plus d'informations sur les préfixes, reportez-vous à Dénomination des objets à l'aide de préfixes et de hiérarchies.
S'il n'est pas indiqué, le nom de table de la source est utilisé comme préfixe. Si un objet portant le même nom existe déjà dans le bucket, il est écrasé.
Le schéma est migré vers le fichier
<prefix>/Schema /schema.ddl
et les données source sont migrées vers le(s) fichier(s)<prefix>/Data/<chunk>.json
, où chunk=000000.json, 000001.json, etc. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"prefix" : "my_export"
"prefix" : "my_export/2021-04-05/"
chunkSize
-
Objectif : indique la taille maximale d'un "bloc" de données de table à stocker au niveau du récepteur. Lors de la migration, une table est divisée en blocs chunkSize et chaque bloc est écrit en tant que fichier distinct dans le récepteur. Lorsque les données source en cours de migration dépassent cette taille, un nouveau fichier est créé.
Si aucune valeur n'est indiquée, la valeur par défaut est 32 Mo. La valeur valide est un entier compris entre 1 et 1024.
- Type de données : entier
- Obligatoire (O/N) : N
-
Exemple :
"chunkSize" : 40
joli.
-
Objectif : indique s'il faut embellir la sortie JSON pour améliorer la lisibilité.
S'il n'est pas indiqué, la valeur par défaut est False.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"pretty" : true
informations d'identification
-
Objectif : chemin absolu vers un fichier contenant les informations d'identification OCI.
S'il n'est pas indiqué, la valeur par défaut est
$HOME/.oci/config
.Reportez-vous à la section Example Configuration pour obtenir un exemple de fichier d'informations d'identification.
Remarque
Même si les paramètres credentials et useInstancePrincipal ne sont pas obligatoires individuellement, l'un de ces paramètres DOIT être spécifié. En outre, ces deux paramètres sont mutuellement exclusifs. Indiquez UNIQUEMENT l'un de ces paramètres, mais pas les deux en même temps. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objectif : nom du profil de configuration à utiliser pour la connexion à Oracle NoSQL Database Cloud Service. Les informations d'identification de compte utilisateur sont appelées "profil".
Si vous ne spécifiez pas cette valeur, elle est définie par défaut sur le profil
DEFAULT
.Remarque
Ce paramètre est valide UNIQUEMENT si le paramètre credentials est spécifié. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
Objet : indique si l'outil de migration NoSQL utilise ou non l'authentification de principal d'instance pour se connecter à Oracle NoSQL Database Cloud Service. Pour plus d'informations sur la méthode d'authentification de principal d'instance, reportez-vous à Sécurité de source et de récepteur.
S'il n'est pas indiqué, la valeur par défaut est False.
Remarque
- Elle est prise en charge UNIQUEMENT lorsque l'outil NoSQL Database Migrator est exécuté dans une instance de calcul OCI, par exemple, l'outil NoSQL Database Migrator exécuté dans une machine virtuelle hébergée sur OCI.
- Même si les paramètres credentials et useInstancePrincipal ne sont pas obligatoires individuellement, l'un de ces paramètres DOIT être spécifié. En outre, ces deux paramètres sont mutuellement exclusifs. Indiquez UNIQUEMENT l'un de ces paramètres, mais pas les deux en même temps.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useInstancePrincipal" : true
Fichier Parquet dans le bucket OCI Object Storage
Le format de fichier de configuration du fichier Parquet dans le bucket OCI Object Storage en tant que puits de NoSQL Database Migrator est indiqué ci-dessous.
Les types de source valides pour le type de source OCI Object Storage sont
nosqldb
et nosqldb_cloud
.
Modèle de configuration
"sink" : {
"type" : "object_storage_oci",
"format" : "parquet",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"chunkSize" : <size in MB>,
"compression": "<SNAPPY|GZIP|NONE>",
"parquetOptions": {
"useLogicalJson": <true|false>,
"useLogicalEnum": <true|false>,
"useLogicalUUID": <true|false>,
"truncateDoubleSpecials": <true|false>
},
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>
}
Paramètres source
type
-
Objectif : identifie le type de dissipateur.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "object_storage_oci"
format
-
Objectif : indique le format du puits.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"format" : "parquet"
adresse
-
Objet : indique l'URL d'adresse ou l'ID de région du service OCI Object Storage.
Vous pouvez indiquer l'URL complète ou l'ID de région seul. Reportez-vous à Régions de données et URL de service associées dans Utilisation d'Oracle NoSQL Database Cloud Service pour obtenir la liste des régions de données prises en charge pour Oracle NoSQL Database Cloud Service.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
-
ID de région :
"endpoint" : "us-ashburn-1"
-
Format d'URL :
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
espace de noms
-
Objet : indique l'espace de noms du service OCI Object Storage. Ce paramètre est facultatif. Si vous n'indiquez pas ce paramètre, l'espace de noms par défaut de la location est utilisé.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"namespace" : "my-namespace"
bucket
-
Objectif : indique le nom de bucket à utiliser pour le stockage des données migrées. Assurez-vous que le bucket requis existe déjà dans l'instance OCI Object Storage et dispose de droits d'accès en écriture.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"bucket" : "staging_bucket"
préfixe
-
Objectif : indique le préfixe ajouté au nom d'objet lorsque des objets sont créés dans le bucket. Le préfixe sert de conteneur logique ou de répertoire pour le stockage des données. Pour plus d'informations sur les préfixes, reportez-vous à Dénomination des objets à l'aide de préfixes et de hiérarchies.
S'il n'est pas indiqué, le nom de table de la source est utilisé comme préfixe. Si un objet portant le même nom existe déjà dans le bucket, il est écrasé.
Les données source sont migrées vers les fichiers
<prefix>/Data/<chunk>.parquet
, où chunk=000000.parquet, 000001.parquet, etc. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"prefix" : "my_export"
"prefix" : "my_export/2021-04-05/"
chunkSize
-
Objectif : indique la taille maximale d'un "bloc" de données de table à stocker au niveau du récepteur. Lors de la migration, une table est divisée en blocs chunkSize et chaque bloc est écrit en tant que fichier distinct dans le récepteur. Lorsque les données source en cours de migration dépassent cette taille, un nouveau fichier est créé.
Si aucune valeur n'est indiquée, la valeur par défaut est 32 Mo. La valeur valide est un entier compris entre 1 et 1024.
- Type de données : entier
- Obligatoire (O/N) : N
-
Exemple :
"chunkSize" : 40
Compression
-
Objectif : indique le type de compression à utiliser pour compresser les données de parquet. Les valeurs valides sont SNAPPY, GZIP et NONE.
S'il n'est pas spécifié, il prend par défaut la valeur SNAPPY.
- Type de données : chaîne
- Obligatoire (O/N) : N
-
Exemple :
"compression" : "GZIP"
parquetOptions
-
Objectif : permet de sélectionner les types logiques Parquet pour les colonnes NoSQL ENUM, JSON et UUID.
Si vous ne spécifiez pas ce paramètre, NoSQL Database Migrator écrit les données des colonnes ENUM, JSON et UUID en tant que chaîne.
- Type de données : objet
- Obligatoire (O/N) : N
parquetOptions.useLogicalJson
-
Objectif : indique si les données de colonne JSON NoSQL doivent être écrites en tant que type JSON logique Parquet. Pour plus d'informations, reportez-vous à Définitions de type logique Parquet.
Si aucune valeur n'est indiquée ou définie sur False, NoSQL Database Migrator écrit les données de colonne JSON NoSQL sous forme de chaîne.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useLogicalJson" : true
parquetOptions.useLogicalEnum
-
Objectif : indique si les données de colonne NoSQL ENUM doivent être écrites en tant que type ENUM logique Parquet. Pour plus d'informations, reportez-vous à Définitions de type logique Parquet.
S'il n'est pas indiqué ou défini sur False, NoSQL Database Migrator écrit les données de colonne NoSQL ENUM sous forme de chaîne.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useLogicalEnum" : true
parquetOptions.useLogicalUUID
-
Objectif : indique si les données de colonne UUID NoSQL doivent être écrites en tant que type UUID logique Parquet. Pour plus d'informations, reportez-vous à Définitions de type logique Parquet.
Si aucune valeur n'est indiquée ou définie sur False, NoSQL Database Migrator écrit les données de colonne UUID NoSQL sous forme de chaîne.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useLogicalUUID" : true
parquetOptions.truncateDoubleSpecials
-
Objectif : indique si les valeurs doubles +Infinity, -Infinity et Nan doivent être tronquées.
La valeur par défaut estfalse
. Si la valeur esttrue
,- Positive_Infinity est tronqué à Double.MAX_VALUE.
- NEGATIVE_INFINITY est tronqué en -Double.MAX_VALUE.
- NaN est tronqué à 9.9999999999999990E307.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"truncateDoubleSpecials" : true
informations d'identification
-
Objectif : chemin absolu vers un fichier contenant les informations d'identification OCI.
S'il n'est pas indiqué, la valeur par défaut est
$HOME/.oci/config
.Reportez-vous à la section Example Configuration pour obtenir un exemple de fichier d'informations d'identification.
Remarque
Même si les paramètres credentials et useInstancePrincipal ne sont pas obligatoires individuellement, l'un de ces paramètres DOIT être spécifié. En outre, ces deux paramètres sont mutuellement exclusifs. Indiquez UNIQUEMENT l'un de ces paramètres, mais pas les deux en même temps. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objectif : nom du profil de configuration à utiliser pour la connexion à Oracle NoSQL Database Cloud Service. Les informations d'identification de compte utilisateur sont appelées "profil".
Si vous ne spécifiez pas cette valeur, elle est définie par défaut sur le profil
DEFAULT
.Remarque
Ce paramètre est valide UNIQUEMENT si le paramètre credentials est spécifié. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
Objet : indique si l'outil de migration NoSQL utilise ou non l'authentification de principal d'instance pour se connecter à Oracle NoSQL Database Cloud Service. Pour plus d'informations sur la méthode d'authentification de principal d'instance, reportez-vous à Sécurité de source et de récepteur.
S'il n'est pas indiqué, la valeur par défaut est False.
Remarque
- Elle est prise en charge UNIQUEMENT lorsque l'outil NoSQL Database Migrator est exécuté dans une instance de calcul OCI, par exemple, l'outil NoSQL Database Migrator exécuté dans une machine virtuelle hébergée sur OCI.
- Même si les paramètres credentials et useInstancePrincipal ne sont pas obligatoires individuellement, l'un de ces paramètres DOIT être spécifié. En outre, ces deux paramètres sont mutuellement exclusifs. Indiquez UNIQUEMENT l'un de ces paramètres, mais pas les deux en même temps.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useInstancePrincipal" : true
Oracle NoSQL Database
Le format de fichier de configuration d'Oracle NoSQL Database en tant que puits de NoSQL Database Migrator est indiqué ci-dessous.
Modèle de configuration
"sink" : {
"type": "nosqldb",
"table" : "<fully qualified table name>",
"schemaInfo" : {
"schemaPath" : "</path/to/a/schema/file>",
"defaultSchema" : <true|false>,
"useSourceSchema" : <true|false>,
"DDBPartitionKey" : <"name:type">,
"DDBSortKey" : "<name:type>"
},
"overwrite" : <true|false>,
"storeName" : "<store name>",
"helperHosts" : ["hostname1:port1","hostname2:port2,..."],
"security" : "</path/to/store/credentials/file>",
"requestTimeoutMs" : <timeout in milli seconds>,
"includeTTL": <true|false>,
"ttlRelativeDate": "<date-to-use in UTC>"
}
Paramètres du dissipateur
type
-
Objectif : identifie le type de dissipateur.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "nosqldb"
tableau
-
Objectif : Nom de table entièrement qualifié à partir duquel migrer les données.
Format :
[namespace_name:]<table_name>
Si la table se trouve dans l'espace de noms DEFAULT, vous pouvez omettre
namespace_name
. La table doit exister dans la banque pendant la migration et son schéma doit correspondre aux données source.Si la table n'est pas disponible dans le récepteur, vous pouvez utiliser le paramètre
schemaInfo
pour indiquer au migrateur de base de données NoSQL de créer la table également dans le récepteur. - Type de données : chaîne
- Obligatoire (O/N) : Y
- Exemple :
-
Avec l'espace de noms DEFAULT
"table" :"mytable"
-
Avec un espace de noms autre que celui par défaut
"table" : "mynamespace:mytable"
-
Pour indiquer une table enfant
"table" : "mytable.child"
Remarque
Vous pouvez migrer les tables enfant d'une source de données valide vers Oracle NoSQL Database. NoSQL Database Migrator copie une seule table à chaque exécution. Assurez-vous que la table parent est migrée avant la table enfant.
-
schmainfo
-
Objectif : indique le schéma des données en cours de migration. Si cette option n'est pas spécifiée, la table suppose que la table existe déjà dans le magasin du dissipateur.
- Type de données : Objet
- Obligatoire (O/N) : N
schemaInfo.schemaPath
-
Objectif : indique le chemin absolu d'un fichier contenant des instructions DDL pour la table NoSQL.
NoSQL Database Migrator exécute les commandes DDL répertoriées dans ce fichier avant de migrer les données.
NoSQL Database Migrator ne prend pas en charge plus d'une instruction DDL par ligne dans le fichier
schemaPath
. -
Type de données : chaîne
-
Obligatoire : Y, uniquement lorsque le paramètre
schemaInfo.defaultSchema
est défini sur Non.
schemaInfo.defaultSchema
-
Objet : la définition de ce paramètre sur true indique à NoSQL Database Migrator de créer une table avec le schéma par défaut. Le schéma par défaut est défini par le programme de migration lui-même. Pour plus d'informations sur les définitions de schéma par défaut, reportez-vous à Schéma par défaut dans Utilisation d'Oracle NoSQL Database Migrator.
-
Type de données : booléen
-
Obligatoire : N
Remarque
defaultSchema
etschemaPath
s'excluent mutuellement - Exemple :
- Avec le schéma par défaut :
"schemaInfo" : { "defaultSchema" : true }
- Avec un schéma prédéfini :
"schemaInfo" : { "schemaPath" : "<complete/path/to/the/schema/definition/file>" }
- Avec le schéma par défaut :
schemaInfo.useSourceSchema
-
Objectif : indique si le récepteur utilise ou non la définition de schéma de table fournie par la source lors de la migration des tables NoSQL.
-
Type de données : booléen
- Obligatoire (O/N) : N
Remarque
Les paramètres defaultSchema, schemaPath et useSourceSchema s'excluent mutuellement. Indiquez UNIQUEMENT l'un de ces paramètres. - Exemple :
- Avec le schéma par défaut :
"schemaInfo" : { "defaultSchema" : true }
- Avec un schéma prédéfini :
"schemaInfo" : { "schemaPath" : "<complete/path/to/the/schema/definition/file>" }
- Avec le schéma source :
"schemaInfo" : { "useSourceSchema" : true }
- Avec le schéma par défaut :
schemaInfo.DDBPartitionKey
- Objectif : indique la clé de partition DynamoDB et le type Oracle NoSQL Database correspondant à utiliser dans la table puits Oracle NoSQL Database. Cette clé sera utilisée en tant que clé de shard de table de base de données NoSQL. Cela n'est applicable que lorsque
defaultSchema
est défini sur True et que le format source estdynamodb_json
. Pour plus d'informations, reportez-vous à Mise en correspondance de types DynamoDB avec des types Oracle NoSQL. - Obligatoire : Oui si
defaultSchema
est vrai et que la source estdynamodb_json.
- Exemple :
"DDBPartitionKey" : "PersonID:INTEGER"
Remarque
Si la clé de partition contient des tirets (-) ou des points (.), le programme de migration la remplacera par un trait de soulignement (_) car le nom de colonne NoSQL ne prend pas en charge les tirets et les points.
schemaInfo.DDBSortKey
- Objectif : indique la clé de tri DynamoDB et le type Oracle NoSQL Database correspondant à utiliser dans la table Oracle NoSQL Database cible. Si la table d'import DynamoDB n'a pas de clé de tri, cela ne doit pas être défini. Cette clé sera utilisée en tant que partie non partagée de la clé primaire dans la table de base de données NoSQL. Cela n'est applicable que lorsque
defaultSchema
est défini sur True et que la source estdynamodb_json
. Pour plus d'informations, reportez-vous à Mise en correspondance de types DynamoDB avec des types Oracle NoSQL. - Obligatoire : Non
- Exemple :
"DDBSortKey" : "Skey:STRING"
Remarque
Si la clé de tri contient des tirets (-) ou des points (.), le programme de migration le remplacera par un trait de soulignement (_) car le nom de colonne NoSQL ne prend pas en charge les tirets et les points.
remplacer
-
Objectif : indique le comportement de NoSQL Database Migrator lorsque l'enregistrement en cours de migration à partir de la source est déjà présent dans le récepteur.
Si la valeur est définie sur False, lors de la migration des tables, NoSQL Database Migrator ignore les enregistrements pour lesquels la même clé primaire existe déjà dans le récepteur.
Si la valeur est définie sur True, lors de la migration des tables, NoSQL Database Migrator remplace les enregistrements pour lesquels la même clé primaire existe déjà dans le récepteur.
S'il n'est pas indiqué, la valeur par défaut est True.
- Type de données : booléen
- Obligatoire (O/N) : N
- Exemple :
"overwrite" : false
storeName
-
Objectif : nom de la banque Oracle NoSQL Database.
- Type de données : chaîne
- Obligatoire (O/N) : Y
- Exemple :
"storeName" : "kvstore"
helperHosts
-
Objectif : liste des paires de ports d'hôte et de registre au format
hostname:port
. Délimitez chaque élément de la liste à l'aide d'une virgule. Vous devez indiquer au moins un hôte helper. - Type de données : tableau de chaînes
- Obligatoire (O/N) : Y
- Exemple :
"helperHosts" : ["localhost:5000","localhost:6000"]
Sécurité
-
Objectif :
Si votre magasin est un magasin sécurisé, indiquez le chemin absolu du fichier de connexion de sécurité qui contient les informations d'identification de votre magasin. Reportez-vous à la section Configuring Security with Remote Access dans le Administrator's Guide pour en savoir plus sur le fichier de connexion de sécurité.
Vous pouvez utiliser l'authentification basée sur un fichier de mots de passe ou l'authentification basée sur un portefeuille. Toutefois, l'authentification basée sur le portefeuille est prise en charge uniquement dans Enterprise Edition (EE) d'Oracle NoSQL Database. Pour plus d'informations sur l'authentification basée sur le portefeuille, reportez-vous à Sécurité source et récepteur.
- Type de données : chaîne
- Obligatoire (O/N) : Y pour un magasin sécurisé
- Exemple :
"security" : "
/home/user/client.credentials
"Exemple de contenu de fichier de sécurité pour l'authentification basée sur un fichier de mots de passe :
oracle.kv.password.noPrompt=true oracle.kv.auth.username=admin oracle.kv.auth.pwdfile.file=/home/nosql/login.passwd oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
Exemple de contenu de fichier de sécurité pour l'authentification basée sur le portefeuille :
oracle.kv.password.noPrompt=true oracle.kv.auth.username=admin oracle.kv.auth.wallet.dir=/home/nosql/login.wallet oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
requestTimeoutMs
-
Objectif : indique le temps d'attente de la fin de chaque opération d'écriture dans le dissipateur. Il est fourni en millisecondes. La valeur par défaut est 5000. Il doit s'agir d'un entier positif.
- Type de données : entier
- Obligatoire (O/N) : N
- Exemple :
"requestTimeoutMs" : 5000
includeTTL
-
Objectif : indique si les métadonnées de durée de vie doivent être incluses pour les lignes de table fournies par la source lors de l'import des tables Oracle NoSQL Database.
Si vous n'indiquez pas ce paramètre, la valeur par défaut est
false
. Dans ce cas, NoSQL Database Migrator n'inclut pas les métadonnées de durée de vie pour les lignes de table fournies par la source lors de l'import des tables Oracle NoSQL Database.Si la valeur est True, l'outil NoSQL Database Migrator effectue les vérifications suivantes sur les métadonnées de durée de vie lors de l'import d'une ligne de table :- Si vous importez une ligne qui n'a pas de définition
_metadata
, l'outil NoSQL Database Migrator définit la durée de vie sur 0, ce qui signifie que la ligne n'expire jamais. - Si vous importez une ligne comportant une définition
_metadata
, l'outil NoSQL Database Migrator compare la valeur de durée de vie à une heure de référence lors de l'importation d'une ligne. Si la ligne a déjà expiré par rapport à l'heure de référence, elle est ignorée. Si la ligne n'a pas expiré, elle est importée avec la valeur de durée de vie. Par défaut, l'opération de référence de temps d'import correspond à l'heure actuelle en millisecondes, obtenue à partir de System.currentTimeMillis(), de l'ordinateur sur lequel l'outil de migration de base de données NoSQL est exécuté. Vous pouvez également définir une heure de référence personnalisée à l'aide du paramètre de configurationttlRelativeDate
si vous souhaitez prolonger la date d'expiration et importer des lignes qui expireraient immédiatement.La formule permettant de calculer le délai d'expiration d'une ligne est la suivante :expiration = (TTL value of source row in milliseconds - Reference Time in milliseconds) if (expiration <= 0) then it indicates that row has expired.
Remarque
Etant donné que les limites de durée de vie Oracle NoSQL sont exprimées en heures et en jours, dans certains cas, la durée de vie de la ligne importée peut être ajustée à l'heure ou au jour le plus proche. Par exemple, prenons une ligne dont la valeur d'expiration est1629709200000 (2021-08-23 09:00:00)
et la valeur de temps de référence est1629707962582 (2021-08-23 08:39:22)
. Ici, même si la ligne n'est pas expirée par rapport à l'heure de référence lors de l'importation de ces données, la nouvelle durée de vie de la ligne est1629712800000 (2021-08-23 10:00:00)
.
- Si vous importez une ligne qui n'a pas de définition
- Type de données : booléen
- Obligatoire (O/N) : N
- Exemple :
"includeTTL" : true
ttlRelativeDate
-
Objectif : indiquez une date UTC au format YYYY-MM-DD hh:mm:ss utilisé pour définir l'expiration de durée de vie des lignes de table lors de l'import dans Oracle NoSQL Database.
Si une ligne de table dans les données que vous exportez a expiré, vous pouvez définir le paramètre ttlRelativeDate sur une date antérieure à la date d'expiration de la ligne de table dans les données exportées.
Si vous ne spécifiez pas ce paramètre, il s'agit par défaut de l'heure actuelle en millisecondes, obtenue à partir de System.currentTimeMillis(), de l'ordinateur sur lequel l'outil NoSQL Database Migrator est exécuté.
- Type de données : date
- Obligatoire (O/N) : N
- Exemple :
"ttlRelativeDate" : "2021-01-03 04:31:17"
Considérons un scénario dans lequel les lignes de table expirent après sept jours à partir du 1er janvier 2021. Après avoir exporté ce tableau, le 7 janvier 2021, vous rencontrez un problème avec votre table et décidez d'importer les données. Les lignes de la table vont expirer en un jour (date d'expiration des données moins la valeur par défaut du paramètre de configuration ttlRelativedate, qui est la date actuelle). Toutefois, si vous souhaitez prolonger la date d'expiration des lignes de table à cinq jours au lieu d'un jour, utilisez le paramètre ttlRelativeDate et choisissez une date antérieure. Par conséquent, dans ce scénario, si vous souhaitez prolonger la durée d'expiration des lignes de table de cinq jours, définissez la valeur des paramètres de configuration ttlRelativeDate sur 3-Jan-2021, qui est utilisée comme Heure de référence lors de l'importation des lignes de table.
Oracle NoSQL Database Cloud Service
Le format de fichier de configuration d'Oracle NoSQL Database Cloud Service en tant que puits de NoSQL Database Migrator est indiqué ci-dessous.
Modèle de configuration
"sink" : {
"type" : "nosqldb_cloud",
"endpoint" : "<Oracle NoSQL Cloud Service Endpoint>",
"table" : "<table name>",
"compartment" : "<OCI compartment name or id>",
"schemaInfo" : {
"schemaPath" : "</path/to/a/schema/file>",
"defaultSchema" : <true|false>,
"useSourceSchema" : <true|false>,
"DDBPartitionKey" : <"name:type">,
"DDBSortKey" : "<name:type>",
"onDemandThroughput" : <true|false>,
"readUnits" : <table read units>,
"writeUnits" : <table write units>,
"storageSize" : <storage size in GB>
},
"credentials" : "</path/to/oci/credential/file>",
"credentialsProfile" : "<oci credentials profile name>",
"writeUnitsPercent" : <table writeunits percent>,
"requestTimeoutMs" : <timeout in milli seconds>,
"useInstancePrincipal" : <true|false>,
"overwrite" : <true|false>,
"includeTTL": <true|false>,
"ttlRelativeDate" : "<date-to-use in UTC>"
}
Paramètres du dissipateur
- type
- adresse
- tableau
- compartiment
- schemaInfo
- schemaInfo.schemaPath
- schemaInfo.defaultSchema
- schemaInfo.useSourceSchema
- schemaInfo.DDBPartitionKey
- schemaInfo.DDBSortKey
- schemaInfo.onDemandThroughput
- schemaInfo.readUnits
- schemaInfo.writeUnits
- schemaInfo.storageSize
- informations d'identification
- credentialsProfile
- writeUnitsPercent
- requestTimeoutMs
- useInstancePrincipal
- remplacer
- includeTTL
- ttlRelativeDate
type
-
Objectif : identifie le type de dissipateur.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
"type" : "nosqldb_cloud"
Adresse
-
Objectif : indique l'adresse de service d'Oracle NoSQL Database Cloud Service.
Vous pouvez indiquer l'URL complète ou l'ID région seul. Reportez-vous à Régions de données et URL de service associées dans Utilisation d'Oracle NoSQL Database Cloud Service pour obtenir la liste des régions de données prises en charge pour Oracle NoSQL Database Cloud Service.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple :
-
ID de région :
"endpoint" : "us-ashburn-1"
-
Format d'URL :
"endpoint" : "https://nosql.us-ashburn-1.oci.oraclecloud.com/"
-
tableau
-
Objectif : nom de la table vers laquelle migrer les données.
Vous devez vous assurer que cette table existe dans Oracle NoSQL Database Cloud Service. Sinon, vous devez utiliser l'objet
schemaInfo
dans la configuration du dissipateur pour demander à NoSQL Database Migrator de créer la table.Le schéma de cette table doit correspondre aux données source.
- Type de données : chaîne
- Obligatoire (O/N) : Y
- Exemple :
- Pour indiquer une table
"table" : "mytable"
- Pour indiquer une table enfant
"table" : "mytable.child"
Remarque
Vous pouvez migrer les tables enfant d'une source de données valide vers Oracle NoSQL Database Cloud Service. NoSQL Database Migrator copie une seule table à chaque exécution. Assurez-vous que la table parent est migrée avant la table enfant.
- Pour indiquer une table
compartiment
-
Objectif : indique le nom ou l'OCID du compartiment dans lequel réside la table.
Si vous n'indiquez aucune valeur, elle est définie par défaut sur le compartiment root.
Vous pouvez trouver l'OCID de votre compartiment dans la fenêtre Explorateur de compartiment, sous Gouvernance, dans la console OCI Cloud.
- Type de données : chaîne
- Obligatoire (Y/N) : Y si la table ne se trouve pas dans le compartiment racine de la location OU si le paramètre useInstancePrincipal est défini sur True.
Remarque
Si le paramètre useInstancePrincipal est défini sur True, le compartiment doit indiquer l'OCID du compartiment et non le nom. - Exemple :
-
Nom de compartiment
"compartment" : "mycompartment"
-
Nom de compartiment qualifié avec son compartiment parent
"compartment" : "parent.childcompartment"
-
Aucune valeur fournie. La valeur par défaut est le compartiment racine.
"compartment": ""
-
OCID de compartiment
"compartment" : "ocid1.tenancy.oc1...4ksd"
-
schemaInfo
-
Objectif : indique le schéma des données en cours de migration.
Si vous ne spécifiez pas ce paramètre, NoSQL Database Migrator suppose que la table existe déjà dans Oracle NoSQL Database Cloud Service.
Si ce paramètre n'est pas spécifié et que la table n'existe pas dans le récepteur, la migration échoue.
- Type de données : Objet
- Obligatoire (O/N) : N
schemaInfo.schemaPath
-
Objectif : indique le chemin absolu d'un fichier contenant des instructions DDL pour la table NoSQL.
NoSQL Database Migrator exécute les commandes DDL répertoriées dans ce fichier avant de migrer les données.
NoSQL Database Migrator ne prend pas en charge plus d'une instruction DDL par ligne dans le fichier
schemaPath
. -
Type de données : chaîne
-
Obligatoire : Y, uniquement lorsque le paramètre
schemaInfo.defaultSchema
est défini sur Non.
schemaInfo.defaultSchema
-
Objet : La définition de ce paramètre sur Oui indique à NoSQL Database Migrator de créer une table avec le schéma par défaut. Le schéma par défaut est défini par le programme de migration lui-même. Pour plus d'informations sur les définitions de schéma par défaut, reportez-vous à Schéma par défaut dans Utilisation d'Oracle NoSQL Database Migrator.
-
Type de données : booléen
-
Obligatoire : Y, uniquement lorsque le paramètre
schemaInfo.defaultSchema
est défini sur Non.Remarque
defaultSchema
etschemaPath
s'excluent mutuellement
schemaInfo.useSourceSchema
-
Objectif : indique si le récepteur utilise ou non la définition de schéma de table fournie par la source lors de la migration des tables NoSQL.
-
Type de données : booléen
- Obligatoire (O/N) : N
Remarque
Les paramètres defaultSchema, schemaPath et useSourceSchema s'excluent mutuellement. Indiquez UNIQUEMENT l'un de ces paramètres. - Exemple :
- Avec le schéma par défaut :
"schemaInfo" : { "defaultSchema" : true, "readUnits" : 100, "writeUnits" : 60, "storageSize" : 1 }
- Avec un schéma prédéfini :
"schemaInfo" : { "schemaPath" : "<complete/path/to/the/schema/definition/file>", "readUnits" : 100, "writeUnits" : 100, "storageSize" : 1 }
- Avec le schéma source :
"schemaInfo" : { "useSourceSchema" : true, "readUnits" : 100, "writeUnits" : 60, "storageSize" : 1 }
- Avec le schéma par défaut :
schemaInfo.DDBPartitionKey
- Objectif : indique la clé de partition DynamoDB et le type Oracle NoSQL Database correspondant à utiliser dans la table puits Oracle NoSQL Database. Cette clé sera utilisée en tant que clé de shard de table de base de données NoSQL. Cela n'est applicable que lorsque
defaultSchema
est défini sur True et que le format source estdynamodb_json
. Pour plus d'informations, reportez-vous à Mise en correspondance de types DynamoDB avec des types Oracle NoSQL. - Obligatoire : Oui si
defaultSchema
est vrai et que la source estdynamodb_json.
- Exemple :
"DDBPartitionKey" : "PersonID:INTEGER"
Remarque
Si la clé de partition contient des tirets (-) ou des points (.), le programme de migration la remplacera par un trait de soulignement (_) car le nom de colonne NoSQL ne prend pas en charge les tirets et les points.
schemaInfo.DDBSortKey
- Objectif : indique la clé de tri DynamoDB et le type Oracle NoSQL Database correspondant à utiliser dans la table Oracle NoSQL Database cible. Si la table d'import DynamoDB n'a pas de clé de tri, cela ne doit pas être défini. Cette clé sera utilisée en tant que partie non partagée de la clé primaire dans la table de base de données NoSQL. Cela n'est applicable que lorsque
defaultSchema
est défini sur True et que la source estdynamodb_json
. Pour plus d'informations, reportez-vous à Mise en correspondance de types DynamoDB avec des types Oracle NoSQL. - Obligatoire : Non
- Exemple :
"DDBSortKey" : "Skey:STRING"
Remarque
Si la clé de tri contient des tirets (-) ou des points (.), le programme de migration le remplacera par un trait de soulignement (_) car le nom de colonne NoSQL ne prend pas en charge les tirets et les points.
schemaInfo.onDemandThroughput
- Objet : indique de créer la table avec un débit de lecture et d'écriture à la demande. Si ce paramètre n'est pas défini, la table est créée avec une capacité provisionnée.
La valeur par défaut est
false
.Remarque
Ce paramètre n'est pas applicable aux tables enfant car elles partagent le débit de la table parent de niveau supérieur. -
Type de données : Booléen
-
Obligatoire : N
- Exemple :
"onDemandThroughput" : "true"
schemaInfo.readUnits
- Objectif : indique le débit de lecture de la nouvelle table.
Remarque
- Ce paramètre n'est pas applicable aux tables provisionnées avec une capacité à la demande.
- Ce paramètre ne s'applique pas aux tables enfant car elles partagent le débit de lecture de la table parent de niveau supérieur.
-
Type de données : entier
-
Obligatoire : Y (Oui) lorsque la table n'est pas une table enfant ou lorsque le paramètre schemaInfo.onDemandThroughput est défini sur
false
, sinon N (Non). - Exemple :
"readUnits" : 100
schemaInfo.writeUnits
- Objectif : indique le débit d'écriture de la nouvelle table.
Remarque
- Ce paramètre n'est pas applicable aux tables provisionnées avec une capacité à la demande.
- Ce paramètre ne s'applique pas aux tables enfant car elles partagent le débit d'écriture de la table parent de niveau supérieur.
-
Type de données : entier
-
Obligatoire : Y (Oui) lorsque la table n'est pas une table enfant ou lorsque le paramètre schemaInfo.onDemandThroughput est défini sur
false
, sinon N (Non). - Exemple :
"writeUnits" : 100
schemaInfo.storageSize
- Objectif : indique la taille de stockage de la nouvelle table en Go.
Remarque
Ce paramètre n'est pas applicable aux tables enfant car elles partagent la taille de stockage de la table parent de niveau supérieur. -
Type de données : entier
-
Obligatoire : Y (Oui) lorsque la table n'est pas une table enfant, sinon N (Non).
- Exemple :
-
Avec
schemaPath
"schemaInfo" : { "schemaPath" : "</path/to/a/schema/file>", "readUnits" : 500, "writeUnits" : 1000, "storageSize" : 5 }
-
Avec
defaultSchema
"schemaInfo" : { "defaultSchema" :Yes, "readUnits" : 500, "writeUnits" : 1000, "storageSize" : 5 }
-
informations
-
Objet : chemin absolu vers un fichier contenant des informations d'identification OCI.
Si aucune valeur n'est indiquée, la valeur par défaut est
$HOME/.oci/config
.Reportez-vous à la section Example Configuration pour obtenir un exemple de fichier d'informations d'identification.
Remarque
Même si les paramètres credentials et useInstancePrincipal ne sont pas obligatoires individuellement, l'un de ces paramètres DOIT être spécifié. En outre, ces deux paramètres sont mutuellement exclusifs. Indiquez UNIQUEMENT l'un de ces paramètres, mais pas les deux en même temps. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objectif : nom du profil de configuration à utiliser pour la connexion à Oracle NoSQL Database Cloud Service.
Si vous ne spécifiez pas cette valeur, le profil
DEFAULT
est utilisé par défaut.Remarque
Ce paramètre est valide UNIQUEMENT si le paramètre credentials est spécifié. - Type de données : chaîne
- Obligatoire (O/N) : N
- Exemple :
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
writeUnitsPercent
-
Objectif : indique le pourcentage d'unités d'écriture de table à utiliser lors de l'activité de migration.
La valeur par défaut est 90. La plage valide est un entier compris entre 1 et 100.
Remarque
La durée requise pour la migration des données est directement proportionnelle à la valeurwriteUnitsPercent
.Reportez-vous à Dépannage d'Oracle NoSQL Database Migrator pour savoir comment utiliser cet attribut afin d'améliorer la vitesse de migration des données.
- Type de données : entier
- Obligatoire (O/N) : N
- Exemple :
"writeUnitsPercent" : 90
requestTimeoutMs
-
Objectif : indique le temps d'attente de la fin de chaque opération d'écriture dans le dissipateur. Il est fourni en millisecondes. La valeur par défaut est 5000. Il doit s'agir d'un entier positif.
- Type de données : entier
- Obligatoire (O/N) : N
- Exemple :
"requestTimeoutMs" : 5000
useInstancePrincipal
-
Objet : indique si l'outil de migration NoSQL utilise ou non l'authentification de principal d'instance pour se connecter à Oracle NoSQL Database Cloud Service. Pour plus d'informations sur la méthode d'authentification de principal d'instance, reportez-vous à Sécurité de source et de récepteur.
S'il n'est pas indiqué, la valeur par défaut est False.
Remarque
- Elle est prise en charge UNIQUEMENT lorsque l'outil NoSQL Database Migrator est exécuté dans une instance de calcul OCI, par exemple, l'outil NoSQL Database Migrator exécuté dans une machine virtuelle hébergée sur OCI.
- Même si les paramètres credentials et useInstancePrincipal ne sont pas obligatoires individuellement, l'un de ces paramètres DOIT être spécifié. En outre, ces deux paramètres sont mutuellement exclusifs. Indiquez UNIQUEMENT l'un de ces paramètres, mais pas les deux en même temps.
- Type de données : booléen
- Obligatoire (O/N) : N
-
Exemple :
"useInstancePrincipal" : true
remplacer
-
Objectif : indique le comportement de NoSQL Database Migrator lorsque l'enregistrement en cours de migration à partir de la source est déjà présent dans le récepteur.
Si la valeur est définie sur False, lors de la migration des tables, NoSQL Database Migrator ignore les enregistrements pour lesquels la même clé primaire existe déjà dans le récepteur.
Si la valeur est définie sur True, lors de la migration des tables, NoSQL Database Migrator remplace les enregistrements pour lesquels la même clé primaire existe déjà dans le récepteur.
S'il n'est pas indiqué, la valeur par défaut est True.
- Type de données : booléen
- Obligatoire (O/N) : N
- Exemple :
"overwrite" : false
includeTTL
-
Objectif : indique si les métadonnées de durée de vie doivent être incluses pour les lignes de table fournies par la source lors de l'import des tables Oracle NoSQL Database.
Si vous n'indiquez pas ce paramètre, la valeur par défaut est
false
. Dans ce cas, NoSQL Database Migrator n'inclut pas les métadonnées de durée de vie pour les lignes de table fournies par la source lors de l'import des tables Oracle NoSQL Database.Si la valeur est True, l'outil NoSQL Database Migrator effectue les vérifications suivantes sur les métadonnées de durée de vie lors de l'import d'une ligne de table :- Si vous importez une ligne qui n'a pas de définition
_metadata
, l'outil NoSQL Database Migrator définit la durée de vie sur 0, ce qui signifie que la ligne n'expire jamais. - Si vous importez une ligne comportant une définition
_metadata
, l'outil NoSQL Database Migrator compare la valeur de durée de vie à une heure de référence lors de l'importation d'une ligne. Si la ligne a déjà expiré par rapport à l'heure de référence, elle est ignorée. Si la ligne n'a pas expiré, elle est importée avec la valeur de durée de vie. Par défaut, l'opération de référence de temps d'import correspond à l'heure actuelle en millisecondes, obtenue à partir de System.currentTimeMillis(), de l'ordinateur sur lequel l'outil de migration de base de données NoSQL est exécuté. Vous pouvez également définir une heure de référence personnalisée à l'aide du paramètre de configurationttlRelativeDate
si vous souhaitez prolonger la date d'expiration et importer des lignes qui expireraient immédiatement.La formule permettant de calculer le délai d'expiration d'une ligne est la suivante :expiration = (TTL value of source row in milliseconds - Reference Time in milliseconds) if (expiration <= 0) then it indicates that row has expired.
Remarque
Etant donné que les limites de durée de vie Oracle NoSQL sont exprimées en heures et en jours, dans certains cas, la durée de vie de la ligne importée peut être ajustée à l'heure ou au jour le plus proche. Par exemple, prenons une ligne dont la valeur d'expiration est1629709200000 (2021-08-23 09:00:00)
et la valeur de temps de référence est1629707962582 (2021-08-23 08:39:22)
. Ici, même si la ligne n'est pas expirée par rapport à l'heure de référence lors de l'importation de ces données, la nouvelle durée de vie de la ligne est1629712800000 (2021-08-23 10:00:00)
.
- Si vous importez une ligne qui n'a pas de définition
- Type de données : booléen
- Obligatoire (O/N) : N
- Exemple :
"includeTTL" : true
ttlRelativeDate
-
Objectif : indiquez une date UTC au format YYYY-MM-DD hh:mm:ss utilisé pour définir l'expiration de durée de vie des lignes de table lors de l'import dans Oracle NoSQL Database.
Si une ligne de table dans les données que vous exportez a expiré, vous pouvez définir le paramètre ttlRelativeDate sur une date antérieure à la date d'expiration de la ligne de table dans les données exportées.
Si vous ne spécifiez pas ce paramètre, il s'agit par défaut de l'heure actuelle en millisecondes, obtenue à partir de System.currentTimeMillis(), de l'ordinateur sur lequel l'outil NoSQL Database Migrator est exécuté.
- Type de données : date
- Obligatoire (O/N) : N
- Exemple :
"ttlRelativeDate" : "2021-01-03 04:31:17"
Considérons un scénario dans lequel les lignes de table expirent après sept jours à partir du 1er janvier 2021. Après avoir exporté ce tableau, le 7 janvier 2021, vous rencontrez un problème avec votre table et décidez d'importer les données. Les lignes de la table vont expirer en un jour (date d'expiration des données moins la valeur par défaut du paramètre de configuration ttlRelativedate, qui est la date actuelle). Toutefois, si vous souhaitez prolonger la date d'expiration des lignes de table à cinq jours au lieu d'un jour, utilisez le paramètre ttlRelativeDate et choisissez une date antérieure. Par conséquent, dans ce scénario, si vous souhaitez prolonger la durée d'expiration des lignes de table de cinq jours, définissez la valeur des paramètres de configuration ttlRelativeDate sur 3-Jan-2021, qui est utilisée comme Heure de référence lors de l'importation des lignes de table.
Modèles de configuration de la transformation
Cette rubrique explique les paramètres de configuration des différentes transformations prises en charge par le migrateur Oracle NoSQL Database.
Oracle NoSQL Database Migrator vous permet de modifier les données, c'est-à-dire d'ajouter des transformations de données dans le cadre de l'activité de migration. Vous pouvez définir plusieurs transformations dans une même migration. Dans ce cas, l'ordre des transformations est essentiel car les données source subissent chaque transformation dans l'ordre donné. La sortie d'une transformation devient l'entrée de la suivante dans le pipeline de migration.
Tableau 9-7 Transformations
Attribut de configuration de transformation | Vous pouvez utiliser cette transformation pour... |
---|---|
ignoreFields |
Ignorez les colonnes identifiées de la ligne source avant d'écrire dans le récepteur. |
includeFields |
Incluez les colonnes identifiées de la ligne source avant d'écrire dans le puits. |
renameFields |
Renommez les colonnes identifiées de la ligne source avant d'écrire dans le puits. |
aggregateFields |
Regroupez plusieurs colonnes de la source en une seule colonne dans le dissipateur. Dans le cadre de cette transformation, vous pouvez également identifier les colonnes à exclure de l'agrégation. Ces champs seront ignorés de la colonne agrégée. |
Vous trouverez ci-dessous le modèle de configuration pour chaque transformation prise en charge.
ignoreFields
Le format du fichier de configuration pour la transformation ignoreFields
est illustré ci-dessous.
Modèle de configuration
"transforms" : {
"ignoreFields" : ["<field1>","<field2>",...]
}
Paramètre de transformation
ignoreFields
-
Objectif : tableau des noms de colonne à ignorer des enregistrements source.
Remarque
Vous ne pouvez fournir que des champs de niveau supérieur. Les transformations ne peuvent pas être appliquées aux données des champs imbriqués. - Type de données : tableau de chaînes
- Obligatoire (O/N) : Y
-
Exemple : pour ignorer les colonnes nommées "nom" et "adresse" de l'enregistrement source :
"ignoreFields" : ["name","address"]
includeFields
Le format du fichier de configuration pour la transformation includeFields
est illustré ci-dessous.
Modèle de configuration
"transforms" : {
"includeFields" : ["<field1>","<field2>",...]
}
Paramètre de transformation
includeFields
-
Objectif : tableau des noms de colonne à inclure à partir des enregistrements source. Il uniquement inclut les champs spécifiés dans le tableau. Les autres champs sont ignorés.
Remarque
L'outil NoSQL Database Migrator génère une erreur si vous indiquez un tableau vide. De plus, vous ne pouvez indiquer que les champs de niveau supérieur. L'outil NoSQL Database Migrator n'applique pas de transformations aux données des champs imbriqués. - Type de données : tableau de chaînes
- Obligatoire (O/N) : Y
-
Exemple : pour ignorer les colonnes nommées "age" et "gender" de l'enregistrement source :
"includeFields" : ["age","gender"]
renameFields
Le format du fichier de configuration pour la transformation renameFields
est illustré ci-dessous.
Modèle de configuration
"transforms" : {
"renameFields" : {
"<old_name>" : "<new_name>",
"<old_name>" : "<new_name>,"
.....
}
}
Paramètre de transformation
renameFields
-
Objectif : paires clé-valeur des anciens et nouveaux noms des colonnes à renommer.
Remarque
Vous ne pouvez fournir que des champs de niveau supérieur. Les transformations ne peuvent pas être appliquées aux données des champs imbriqués. - Type de données : objet JSON
- Obligatoire (O/N) : Y
-
Exemple : pour renommer la colonne nommée "residence" en "address" et la colonne nommée "_id" en "id" :
"renameFields" : { "residence" : "address", "_id" : "id" }
aggregateFields
Le format du fichier de configuration pour la transformation aggregateFields
est illustré ci-dessous.
Modèle de configuration
"transforms" : {
"aggregateFields" : {
"fieldName" : "name of the new aggregate field",
"skipFields" : ["<field1>","<field2">,...]
}
}
Paramètre de transformation
aggregateFields
-
Objectif : nom du champ agrégé dans le puits.
- Type de données : chaîne
- Obligatoire (O/N) : Y
-
Exemple : Si l'enregistrement donné est :
{ "id" : 100, "name" : "john", "address" : "USA", "age" : 20 }
Si la transformation agrégée est :
"aggregateFields" : { "fieldName" : "document", "skipFields" : "id" }
La colonne agrégée dans le puits se présente comme suit :
{ "id": 100, "document": { "name": "john", "address": "USA", "age": 20 } }
Mise en correspondance des types DynamoDB avec les types NoSQL Oracle
Le tableau ci-dessous présente la mise en correspondance des types DynamoDB avec les types NoSQL Oracle.
Tableau 9-8 Mise en correspondance du type DynamoDB avec le type Oracle NoSQL
N° | Type DynamoDB | Type de JSON pour la colonne JSON NoSQL | Type NoSQL Oracle |
---|---|---|---|
1 | Chaîne (S) | Chaîne JSON | CHAÎNE |
2 | Type de nombre (N) | Nombre JSON | ENTIER/LONG/FLOAT/DOUBLE/NOMBRE |
3 | Booléen (BOOL) | Valeur booléenne JSON | BOOLÉEN |
4 | Type binaire (B) - Tampon d'octet | Chaîne JSON encodée BASE-64 | BINAIRE |
5 | NULL | JSON NULL | NULL |
6 | Jeu de chaînes (SS) | Tableau JSON de chaînes | TABLEAU (CHAÎNE) |
7 | Jeu de nombres (NS) | Tableau de nombres JSON | TABLEAU (ENTIER/LONG/FLUX/DOUBLE/NOMBRE) |
8 | Ensemble binaire (BS) | Tableau JSON des chaînes encodées Base-64 | TABLEAU (BINAIRE) |
9 | LISTE (L) | Tableau de JSON | TABLEAU (JSON) |
10 | CARTE (M) | Objet JSON | JSON |
11 | CLÉ DE PARTITIONNEMENT | NA | PRIMARY KEY et SHARD KEY |
12 | CLÉ DE TRI | NA | CLÉ PRIMAIRE |
13 | Noms d'attribut avec tiret et point | Noms de champ JSON avec un trait de soulignement | Noms de colonne avec trait de soulignement |
- DynamoDB prend en charge un seul type de données pour les nombres et peut avoir jusqu'à 38 chiffres de précision. En revanche, Oracle NoSQL prend en charge de nombreux types en fonction de la plage et de la précision de data.You peut sélectionner le type de nombre approprié qui correspond à la plage de vos données d'entrée. Si vous n'êtes pas sûr de la nature des données, le type NoSQL NUMBER peut être utilisé.
- DynamoDB prend en charge un seul type de données pour les nombres et peut avoir jusqu'à 38 chiffres de précision. En revanche, Oracle NoSQL prend en charge de nombreux types en fonction de la plage et de la précision de data.You peut sélectionner le type de nombre approprié qui correspond à la plage de vos données d'entrée. Si vous n'êtes pas sûr de la nature des données, le type NoSQL NUMBER peut être utilisé.
- La clé de partitionnement dans DynamoDB est limitée à 2048 octets, mais Oracle NoSQL Cloud Service est limité à 64 octets pour la clé primaire/clé de shard.
- La clé de tri dans DynamoDB est limitée à 1024 octets, mais Oracle NoSQL Cloud Service est limité à 64 octets pour la clé primaire.
- Les noms d'attribut dans DynamoDB peuvent comporter 64 ko, mais les noms de colonne du service Oracle NoSQL Cloud ne doivent pas dépasser 64 caractères.
Mise en correspondance de type de données Oracle NoSQL vers Parquet
Décrit la mise en correspondance des types de données Oracle NoSQL avec les types de données Parquet.
Type NoSQL | Type de parquet |
---|---|
BOOLÉEN | BOOLÉEN |
NOMBRE ENTIER | INT32 |
LONG | INT64 |
FLOTTANT | DOUBLE |
DOUBLE | DOUBLE |
BINAIRE | BINAIRE |
FIXED_BINARY | BINAIRE |
CHAÎNE | BINARY(CHAÎNE) |
ENUMÉRATION | BINARY(CHAÎNE)
ou BINARY(ENUM), si le numéro ENUM logique est configuré |
UUID | BINARY(CHAÎNE)
ou FIXED_BINARY(16), si l'UUID logique est configuré |
TIMESTAMP(p) | INT64(TIMESTAMP(p)) |
NUMÉRO | DOUBLE |
field_name TABLEAU (T) |
|
field_name CARTE (T) |
|
field_name ENREGISTREMENT (K1 T1 N1, Kٖ2 T2 N2, ....)
où : K = Nom de clé T = Type N = NULL ou non |
|
JSON | BINARY(CHAÎNE)
ou BINARY(JSON), si le JSON logique est configuré |
Lorsque le type de nombre NoSQL est converti en type Double parquet, il peut y avoir une perte de précision si la valeur ne peut pas être représentée en double. Si le nombre est trop élevé pour représenter Double, il est converti en Double.NEGATIVE_INFINITY ou Double.POSITIVE_INFINITY.
Mise en correspondance de la table DynamoDB avec la table Oracle NoSQL
Dans DynamoDB, une table est un ensemble d'éléments et chaque élément est un ensemble d'attributs. Chaque élément de la table possède un identificateur unique ou une clé primaire. En dehors de la clé primaire, la table est sans schéma. Chaque élément peut avoir ses propres attributs distincts.
- Clé de partition : clé primaire simple, composée d'un attribut appelé clé de partition. DynamoDB utilise la valeur de la clé de partition comme entrée d'une fonction de hachage interne. La sortie de la fonction de hachage détermine la partition dans laquelle l'élément sera stocké.
- Clé de partition et clé de tri : en tant que clé primaire composite, ce type de clé est composé de deux attributs. Le premier attribut est la clé de partition et le second est la clé de tri. DynamoDB utilise la valeur de clé de partition comme entrée d'une fonction de hachage interne. La sortie de la fonction de hachage détermine la partition dans laquelle l'élément sera stocké. Tous les éléments ayant la même valeur de clé de partition sont stockés ensemble, triés par valeur de clé de tri.
A l'inverse, les tables Oracle NoSQL prennent en charge des modèles de données flexibles, avec une conception sans schéma et sans schéma.
- Modélisation d'une table DynamoDB en tant que document JSON (recommandé) : dans cette modélisation, vous mettez en correspondance tous les attributs des tables de base de données Dynamo avec une colonne JSON de la table NoSQL, à l'exception de la clé de partition et de la clé de tri. Vous allez modéliser la clé de partition et la clé de tri en tant que colonnes de clé primaire de la table NoSQL. Vous utiliserez la transformation
AggregateFields
afin d'agréger les données de clé non principales dans une colonne JSON.Remarque
Le service Migrator fournit une configuration convivialedefaultSchema
qui permet de créer automatiquement une table LDD sans schéma qui agrège également les attributs dans une colonne JSON. - Modélisation de la table DynamoDB en tant que colonnes fixes dans la table NoSQL : Dans cette modélisation, pour chaque attribut de la table DynamoDB, vous créez une colonne dans la table NoSQL comme indiqué dans Mappage des types DynamoDB avec les types Oracle NoSQL. Vous modéliserez la clé de partition et trierez les attributs de clé en tant que clé primaire. Ne l'utilisez que si vous êtes certain que l'importation du schéma de table DynamoDB est fixe et que chaque élément a des valeurs pour la plupart des attributs. Si les éléments DynamoDB n'ont pas d'attributs communs, cela peut entraîner de nombreuses colonnes NoSQL avec des valeurs vides.
Remarque
Nous vous recommandons fortement d'utiliser des tables sans schéma lors de la migration des données de DynamoDB vers Oracle NoSQL Database en raison de la nature des tables DynamoDB sans schéma. C'est particulièrement le cas pour les tables volumineuses où le contenu de chaque enregistrement peut ne pas être uniforme dans la table.
Dépannage d'Oracle NoSQL Database Migrator
Découvrez les défis généraux que vous pouvez rencontrer lors de l'utilisation du , et comment les résoudre.
La migration a échoué. Comment résoudre ce problème ?
L'échec de la migration des données peut être dû à plusieurs raisons sous-jacentes. Les causes importantes sont énumérées ci-dessous :
Tableau 9-9 Causes d'échec de migration
Message d'erreur | Description | Résolution |
---|---|---|
Failed to connect to Oracle NoSQL Database |
Le migrateur n'a pas pu établir de connexion avec la base de données NoSQL. |
|
Failed to connect to Oracle NoSQL Database Cloud Service |
Le migrateur n'a pas pu établir de connexion avec Oracle NoSQL Database Cloud Service. |
|
Table not found |
La table identifiée pour la migration n'a pas pu être localisée par le migrateur de base de données NoSQL. |
Pour la source :
Pour le puits :
|
DDL Execution failed |
Les commandes DDL fournies dans le fichier de définition de schéma d'entrée ne sont pas valides. |
|
failed to write record to the sink table with java.lang.IllegalArgumentException |
L'enregistrement d'entrée ne correspond pas au schéma de table du récepteur. |
|
Request timeout |
L'opération de la source ou du dissipateur ne s'est pas terminée dans les temps attendus. |
|
Que dois-je prendre en compte avant de redémarrer une migration en échec ?
Lorsqu'une tâche de migration de données échoue, le récepteur est dans un état intermédiaire contenant les données importées jusqu'au point de défaillance. Vous pouvez identifier les détails de l'erreur et de l'échec à partir des journaux et redémarrer la migration après le diagnostic et la correction de l'erreur. Une migration redémarrée démarre et traite toutes les données depuis le début. Il n'existe aucun moyen de vérifier et de redémarrer la migration à partir du point d'échec. Par conséquent, NoSQL Database Migrator écrase tout enregistrement qui a déjà été migré vers le récepteur.
La migration est trop lente. Comment l'accélérer ?
Le temps nécessaire à la migration des données dépend de plusieurs facteurs tels que le volume de données à migrer, la vitesse du réseau et la charge actuelle sur la base de données. Dans le cas d'un service cloud, la vitesse de migration dépend également du débit de lecture et du débit d'écriture provisionnés. Ainsi, pour améliorer la vitesse de migration, vous pouvez :- Essayez de réduire la charge globale en cours sur Oracle NoSQL Database lors de la migration des données.
- Assurez-vous que l'ordinateur qui exécute la migration, la source et le récepteur sont tous situés dans le même centre de données et que les latences réseau sont minimales.
- Dans le cas d'Oracle NoSQL Database Cloud Service, provisionnez un débit de lecture/écriture élevé et vérifiez si le stockage alloué à la table est suffisant. Si NoSQL Database Migrator ne crée pas la table, vous pouvez augmenter le débit d'écriture. Si le migrateur crée la table, envisagez de spécifier une valeur supérieure pour le paramètre
schemaInfo.writeUnits
dans la configuration du dissipateur. Une fois la migration des données terminée, vous pouvez réduire cette valeur. Prenez note des limites quotidiennes relatives aux modifications de débit. Reportez-vous aux limites cloud et aux modèles de configuration de récepteur.
Je dispose d'une migration à long terme impliquant d'énormes ensembles de données. Comment suivre la progression de la migration ?
Vous pouvez activer la journalisation supplémentaire pour suivre la progression d'une migration longue. Pour contrôler le comportement de journalisation d'Oracle NoSQL Database Migrator, vous devez définir le niveau de journalisation souhaité dans le fichier logging.properties
. Ce fichier est fourni avec le package NoSQL Database Migrator et disponible dans le répertoire où Oracle NoSQL Database Migrator a été déballé. Les différents niveaux de journalisation sont OFF, SEVERE, WARNING, INFO, FINE,
et ALL
par ordre de verbosité croissante. La définition du niveau de journalisation sur OFF
désactive toutes les informations de journalisation, tandis que la définition du niveau de journalisation sur ALL
fournit les informations de journalisation complètes. Le niveau de journalisation par défaut est WARNING
. Toutes les sorties de journalisation sont configurées pour accéder à la console par défaut. Vous pouvez afficher des commentaires dans le fichier logging.properties
pour connaître chaque niveau de journalisation.