La fonctionnalité APS (AnalyticDB Pipeline Service) permet de synchroniser en temps réel les données générées dans Simple Log Service (SLS) après un instant donné vers un cluster AnalyticDB for MySQL, afin d'analyser les données de journal en temps réel.
Prérequis
Votre cluster AnalyticDB for MySQL, ainsi que le projet et le Logstore SLS, doivent se trouver dans la même région. Pour plus d'informations, consultez Créer un cluster et Créer un projet et un Logstore.
-
Un compte de base de données doit exister pour le cluster AnalyticDB for MySQL.
Si vous utilisez un compte Alibaba Cloud, créez simplement un compte privilégié.
Si vous utilisez un utilisateur Resource Access Management (RAM), créez un compte privilégié et un compte standard, puis associez le compte standard à l'utilisateur RAM.
Vous avez créé une base de données et une table de destination dans le cluster AnalyticDB for MySQL.
Si votre cluster est de type Enterprise Edition, Basic Edition ou Data Lakehouse Edition, vous avez créé un groupe de ressources dédié aux tâches dans le cluster AnalyticDB for MySQL.
Limites
Une table d'un cluster AnalyticDB for MySQL ne peut synchroniser les données que d'un seul Logstore. Pour synchroniser des données provenant de plusieurs Logstores, créez une table distincte pour chacun d'eux.
Facturation
Les ressources élastiques pour les liens de données sont facturées selon le mode paiement à l'utilisation, en fonction de la consommation d'ACU. Pour plus d'informations, consultez Tarification du produit.
Procédure
Vous pouvez créer une tâche de synchronisation depuis la console Simple Log Service ou depuis la console AnalyticDB for MySQL. Les différences sont les suivantes :
Création d'une tâche de synchronisation depuis la console Simple Log Service : Cette méthode prend uniquement en charge l'importation de données SLS issues du même compte Alibaba Cloud. Il suffit de créer manuellement un lien de données. Le système crée automatiquement une source de données SLS en fonction des paramètres
SLS ProjectetSLS logstorespécifiés pour le lien de données.Création d'une tâche depuis la console **AnalyticDB for MySQL****AnalyticDB for MySQL**** : Cette méthode permet d'importer des données SLS inter-comptes. Vous devez d'abord créer une source de données SLS, puis créer un lien de données basé sur cette source.
Console SLS
Étape 1 : Créer la source de données et le lien de données
Connectez-vous à la console Simple Log Service.
Dans la liste des projets, cliquez sur le projet cible. Dans le volet de navigation de gauche, cliquez sur
, accédez à l'onglet Logstores, puis développez le Logstore cible.Cliquez sur , puis cliquez sur + en regard de AnalyticDB.
-
Dans la boîte de dialogue Shipping Note qui s'affiche, sélectionnez Create in AnalyticDB for MySQL Console.
La livraison directe envoie toutes les nouvelles données vers la destination. Pour traiter les données (par exemple par filtrage, conversion de format ou enrichissement) ou livrer des données historiques, utilisez la fonctionnalité Data Processing. Cela implique de router les données vers un Logstore temporaire, puis de configurer la livraison directe depuis ce Logstore.
-
Sur la page AnalyticDB for MySQL Log Synchronization, configurez les paramètres des sections Source and Destination Settings, Destination Database and Table Settings et Synchronization Settings.
-
Le tableau suivant décrit les paramètres de la section Source and Destination Settings.
Paramètre
Description
Job Name
Nom du lien de données. Le système génère un nom par défaut basé sur le type de source de données et l'heure actuelle. Modifiez-le si nécessaire.
Simple Log Service Project
Projet SLS concerné.
Simple Log Service Logstore
Logstore SLS concerné.
Destination AnalyticDB for MySQL Cluster
Sélectionnez le cluster AnalyticDB for MySQL de destination.
AnalyticDB for MySQL Account
Compte de base de données du cluster AnalyticDB for MySQL.
AnalyticDB for MySQL Password
Mot de passe du compte de base de données du cluster AnalyticDB for MySQL.
-
Paramètres de la section Destination Database and Table Settings :
Paramètre
Description
Database Name
Nom de la base de données dans le cluster AnalyticDB for MySQL.
Table Name
Nom de la table de données dans le cluster AnalyticDB for MySQL.
Source Data Preview
Cliquez sur View Latest 10 Logstore Data Entries pour afficher les 10 entrées de données les plus récentes du Logstore SLS source.
Schema Field Mapping
Le système remplit automatiquement les champs Destination Field et Source Field avec les champs de la table du cluster AnalyticDB for MySQL. Si le mappage entre Destination Field et Source Field est incorrect, modifiez-le manuellement.
Par exemple, si un champ de la table du cluster AnalyticDB for MySQL s'appelle
nameet que le champ correspondant dans les données SLS source s'appelleuser_name, le système remplit automatiquement Destination Field et Source Field avecname. Dans ce cas, modifiez manuellement Source Field enuser_name. -
Le tableau suivant décrit les paramètres de la section Synchronization Settings.
Paramètre
Description
Start Offset
Au démarrage de la tâche de synchronisation, la consommation des données SLS commence à partir de l'heure spécifiée.
Par exemple, si vous définissez Start Offset sur 2024-04-09 13:10, le système commence à consommer les données à partir de la première entrée postérieure au 9 avril 2024 à 13:10.
Dirty Data Processing Mode
Lors de la synchronisation, si le type de données d'un champ de la table de destination ne correspond pas au type de données du champ correspondant dans les données SLS source, la synchronisation échoue. Par exemple, si les données source sont
abcmais que le type du champ de destination estint, une erreur de conversion se produit et la synchronisation échoue.Le mode de traitement des données incorrectes peut être l'un des suivants :
Stop Synchronization (Par défaut) : La tâche de synchronisation s'arrête. Modifiez alors le type de champ dans la table de destination ou sélectionnez un autre mode de traitement, puis redémarrez la tâche.
Treat as Null : Les données incorrectes sont écrites sous forme de valeur NULL dans la table de destination, et les données incorrectes d'origine sont ignorées.
Par exemple, si une ligne de données SLS comporte trois champs (col1, col2 et col3) et que le champ col2 contient des données incorrectes, la valeur de col2 est convertie en NULL et écrite dans la table. Les données des champs col1 et col3 sont écrites normalement.
Convert UNIX Timestamp into Datetime
Si un champ SLS source est un timestamp Unix (par exemple 1710604800) et que le type du champ de destination est DATETIME ou TIMESTAMP, activez cette fonctionnalité pour convertir le timestamp. Une fois activée, vous pouvez sélectionner Timestamp Accurate to Seconds, Timestamp Accurate to Milliseconds ou Timestamp Accurate to Microseconds selon la précision de vos données SLS.
Job Resource Group
Sélectionnez le groupe de ressources dédié aux tâches pour exécuter la tâche de synchronisation incrémentielle.
ImportantCe paramètre n'est requis que si le cluster AnalyticDB for MySQL est de type Enterprise Edition, Basic Edition ou Data Lakehouse Edition.
ACUs for Incremental Synchronization
Nombre initial d'ACU pour la tâche de synchronisation incrémentielle. Cette valeur doit se situer dans l'intervalle [1, Ressources de calcul maximales du groupe de ressources dédié aux tâches].
Après la création du lien de données, AnalyticDB for MySQL ajuste automatiquement le nombre d'ACU utilisées pour exécuter la tâche de synchronisation incrémentielle en fonction de la charge de travail. Le nombre d'ACU peut passer jusqu'à 64 ou descendre jusqu'à 1.
ImportantCe paramètre n'est requis que si le cluster AnalyticDB for MySQL est de type Enterprise Edition, Basic Edition ou Data Lakehouse Edition.
-
-
Une fois les paramètres configurés, cliquez sur Submit.
Le système crée alors automatiquement une source de données SLS et un lien de données dans AnalyticDB for MySQL, puis vous redirige vers la page SLS/Kafka Data Synchronization de la console AnalyticDB for MySQL.
Étape 2 : Démarrer la tâche de synchronisation
Dans la colonne Actions du lien de données cible, cliquez sur Start.
Après le démarrage de la tâche, cliquez sur Search dans le coin supérieur droit pour actualiser son statut. La tâche a démarré avec succès lorsque son statut passe à Running.
Étape 3 : Gérer la tâche de synchronisation
Les opérations suivantes sont disponibles dans la colonne Actions :
|
Actions |
Description |
|
Start |
Démarre la tâche de synchronisation. |
|
View Details |
Affiche les détails de la tâche, y compris les configurations source et destination, les journaux d'exécution et les données de surveillance. |
|
Edit |
Permet de modifier le décalage de départ et les mappages de champs de la tâche. |
|
Pause |
Suspend la tâche de synchronisation. Pour reprendre une tâche suspendue, cliquez sur Start. La tâche reprendra là où elle s'était arrêtée. |
|
Delete |
Supprime la tâche de synchronisation. Cette opération est irréversible. Procédez avec prudence. |
Console AnalyticDB for MySQL
Étape 1 (Facultatif) : Configurer l'autorisation RAM
Si vous synchronisez uniquement des données SLS de votre compte Alibaba Cloud actuel, ignorez cette étape et passez directement à l'Étape 2 : Créer une source de données.
Pour synchroniser des données SLS inter-comptes vers AnalyticDB for MySQL, créez un rôle RAM dans le compte source, accordez-lui les permissions requises, puis modifiez sa politique de confiance.
-
Créez un rôle RAM. Pour plus d'informations, consultez Créer un rôle RAM pour un compte Alibaba Cloud de confiance.
RemarquePour le paramètre Select Trusted Alibaba Cloud Account, sélectionnez Other Alibaba Cloud Account et saisissez l'ID du compte Alibaba Cloud propriétaire du cluster AnalyticDB for MySQL. Pour obtenir l'ID du compte, connectez-vous au Centre de compte. Sur la page Overview, repérez votre Account ID.
Utilisez l'autorisation précise pour accorder la permission AliyunAnalyticDBAccessingLogRolePolicy au rôle RAM.
-
Modifiez la politique de confiance du rôle RAM pour autoriser le cluster AnalyticDB for MySQL appartenant au compte Alibaba Cloud spécifié à assumer ce rôle RAM.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<Alibaba Cloud account ID>:root" ], "Service": [ "<Alibaba Cloud account ID>@ads.aliyuncs.com" ] } } ], "Version": "1" }RemarqueL'ID du compte Alibaba Cloud correspond à l'ID du compte propriétaire du cluster AnalyticDB for MySQL, que vous avez spécifié à l'étape 1. N'incluez pas les chevrons (<>) lors de la configuration de la politique.
Étape 2 : Créer une source de données
Si vous avez déjà ajouté une source de données SLS, ignorez cette étape et créez un lien de synchronisation. Pour plus d'informations, consultez l'Étape 3 : Créer un lien de synchronisation.
Connectez-vous à la console AnalyticDB for MySQL. Dans le coin supérieur gauche de la console, sélectionnez une région. Dans le volet de navigation de gauche, cliquez sur Clusters. Repérez le cluster à gérer et cliquez sur son ID.
Dans le volet de navigation de gauche, cliquez sur .
Dans le coin supérieur droit, cliquez sur Create Data Source.
-
Sur la page Create Data Source, configurez les paramètres. Le tableau suivant décrit ces paramètres :
Paramètre
Description
Data Source Type
Sélectionnez SLS.
Data Source Name
Le système génère un nom basé sur le type de source de données et l'heure actuelle. Modifiez-le si nécessaire.
Data Source Description
Description de la source de données, telle que son scénario d'application ou ses limites métier.
Deployment Mode
Seul le mode Alibaba Cloud Instance est pris en charge.
Region of Simple Log Service Project
Région où se trouve le projet SLS.
RemarqueSeule la région où se trouve le cluster AnalyticDB for MySQL est prise en charge.
Across Alibaba Cloud Accounts
Un cluster AnalyticDB for MySQL peut synchroniser des données SLS issues du même compte Alibaba Cloud ou d'un autre compte Alibaba Cloud (inter-comptes).
No : Synchronise les données SLS du compte Alibaba Cloud actuel vers le cluster AnalyticDB for MySQL.
Yes : Synchronise les données SLS d'un autre compte Alibaba Cloud vers le cluster AnalyticDB for MySQL. Lorsque vous sélectionnez Yes, configurez l'autorisation RAM et spécifiez les paramètres Alibaba Cloud Account et RAM Role. Pour plus d'informations sur la configuration de l'autorisation RAM, consultez Configurer l'autorisation RAM.
RemarqueAlibaba Cloud Account : ID du compte Alibaba Cloud auquel appartient le projet SLS.
RAM Role : Rôle RAM appartenant au compte Alibaba Cloud du projet SLS. Il s'agit du rôle RAM créé à l'étape 1 de la section Configurer l'autorisation RAM.
Simple Log Service Project
Projet SLS source.
Simple Log Service Logstore
Logstore SLS source.
Une fois les paramètres configurés, cliquez sur Create.
Étape 3 : Créer un lien de synchronisation
Dans le volet de navigation de gauche, cliquez sur .
Dans le coin supérieur droit, cliquez sur Create Synchronization Job.
-
Sur la page Create Synchronization Job, configurez les sections Source and Destination Settings, Destination Database and Table Settings et Synchronization Settings. Le tableau suivant décrit les paramètres.
-
Paramètres de la section Source and Destination Settings :
Paramètre
Description
Job Name
Nom du lien de données. Le système génère un nom par défaut basé sur le type de source de données et l'heure actuelle. Modifiez-le si nécessaire.
Data Source
Sélectionnez une source de données SLS existante ou créez-en une nouvelle.
Destination Type
Pour les clusters Enterprise Edition, Basic Edition et Data Lakehouse Edition, sélectionnez Data Warehouse-ADB Storage.
Ce paramètre n'est pas nécessaire pour les clusters Data Warehouse Edition.
AnalyticDB for MySQL Account
Compte de base de données du cluster AnalyticDB for MySQL.
AnalyticDB for MySQL Password
Mot de passe du compte de base de données du cluster AnalyticDB for MySQL.
-
Paramètres de la section Destination Database and Table Settings :
Paramètre
Description
Database Name
Nom de la base de données dans le cluster AnalyticDB for MySQL.
Table Name
Nom de la table de données dans le cluster AnalyticDB for MySQL.
Source Data Preview
Cliquez sur View Latest 10 Logstore Data Entries pour afficher les 10 entrées de données les plus récentes du Logstore SLS source.
Schema Field Mapping
Le système remplit automatiquement les champs Destination Field et Source Field avec les champs de la table du cluster AnalyticDB for MySQL. Si le mappage entre Destination Field et Source Field est incorrect, modifiez-le manuellement.
Par exemple, si un champ de la table du cluster AnalyticDB for MySQL s'appelle
nameet que le champ correspondant dans les données SLS source s'appelleuser_name, le système remplit automatiquement Destination Field et Source Field avecname. Dans ce cas, modifiez manuellement Source Field enuser_name. -
Paramètres de la section Synchronization Settings :
Paramètre
Description
Start Offset
Au démarrage de la tâche de synchronisation, la consommation des données SLS commence à partir de l'heure spécifiée.
Par exemple, si vous définissez Start Offset sur 2024-04-09 13:10, le système commence à consommer les données à partir de la première entrée postérieure au 9 avril 2024 à 13:10.
Dirty Data Processing Mode
Lors de la synchronisation, si le type de données d'un champ de la table de destination ne correspond pas au type de données du champ correspondant dans les données SLS source, la synchronisation échoue. Par exemple, si les données source sont
abcmais que le type du champ de destination estint, une erreur de conversion se produit et la synchronisation échoue.Le mode de traitement des données incorrectes peut être l'un des suivants :
Stop Synchronization (Par défaut) : La tâche de synchronisation s'arrête. Modifiez alors le type de champ dans la table de destination ou sélectionnez un autre mode de traitement, puis redémarrez la tâche.
Treat as Null : Les données incorrectes sont écrites sous forme de valeur NULL dans la table de destination, et les données incorrectes d'origine sont ignorées.
Par exemple, si une ligne de données SLS comporte trois champs (col1, col2 et col3) et que le champ col2 contient des données incorrectes, la valeur de col2 est convertie en NULL et écrite dans la table. Les données des champs col1 et col3 sont écrites normalement.
Convert UNIX Timestamp into Datetime
Si un champ SLS source est un timestamp Unix (par exemple 1710604800) et que le type du champ de destination est DATETIME ou TIMESTAMP, activez cette fonctionnalité pour convertir le timestamp. Une fois activée, vous pouvez sélectionner Timestamp Accurate to Seconds, Timestamp Accurate to Milliseconds ou Timestamp Accurate to Microseconds selon la précision de vos données SLS.
-
Une fois les paramètres configurés, cliquez sur Submit.
Étape 4 : Démarrer la tâche de synchronisation des données
Sur la page Data Synchronization, sélectionnez la tâche de synchronisation créée. Dans la colonne Actions, cliquez sur Start.
Cliquez sur Search dans le coin supérieur droit. La tâche de synchronisation a démarré avec succès lorsque le statut passe à Running.
Étape 5 : Gérer les sources de données
Sur la page Data Synchronization, les actions suivantes sont disponibles dans la colonne Actions.
|
Action |
Description |
|
Start |
Démarre la tâche de synchronisation des données. |
|
View Details |
Affiche les détails de la tâche de synchronisation, y compris les configurations source et destination, les journaux d'exécution et la surveillance en temps réel. |
|
Edit |
Permet de modifier le décalage de départ, les mappages de champs et d'autres paramètres de la tâche. |
|
Pause |
Suspend la tâche de synchronisation. Cliquer sur Start reprend la tâche. La synchronisation continue automatiquement à partir du point de suspension. |
|
Delete |
Supprime la tâche de synchronisation. Cette action est irréversible. Procédez avec prudence. |