Le plug-in logstash-input-maxcompute lit les données des tables hors ligne de MaxCompute et les transfère vers une source de données de destination.
Le plug-in effectue une lecture complète à chaque exécution. Les lectures incrémentielles ne sont pas prises en charge.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Installé le plug-in logstash-input-maxcompute. Consultez la rubrique Installer et supprimer un plug-in
Activé Alibaba Cloud MaxCompute, créé un projet, créé une table et importé des données dans cette table. Consultez les rubriques Préparation et Démarrage
Configurer le pipeline
Utilisez un fichier de configuration pour définir un pipeline qui lit les données depuis MaxCompute. L'exemple suivant lit toutes les données d'une table MaxCompute partitionnée et les affiche sur stdout à des fins de vérification :
input {
maxcompute {
access_id => "Your accessId"
access_key => "Your accessKey"
endpoint => "maxcompute service endpoint"
project_name => "Your project"
table_name => "Your table name"
partition => "pt='p1',dt='d1'"
thread_num => 1
dirty_data_file => "/ssd/1/<Logstash cluster ID>/logstash/data/XXXXX.txt"
}
}
output {
stdout {
codec => rubydebug
}
}
Après avoir configuré les paramètres, enregistrez et déployez le pipeline. Pour plus d'instructions, consultez la rubrique Gérer les pipelines à l'aide de fichiers de configuration.
Par défaut, Alibaba Cloud Logstash transmet les données uniquement au sein du même VPC. Si votre source de données MaxCompute est accessible via Internet, configurez d'abord une passerelle NAT pour votre cluster Logstash. Consultez la rubrique Configurer une passerelle NAT pour la transmission de données via Internet.
Paramètres
Le tableau suivant répertorie tous les paramètres pris en charge par logstash-input-maxcompute.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
endpoint |
string | Oui | Endpoint utilisé pour accéder à MaxCompute. |
access_id |
string | Oui | AccessKey ID de votre compte Alibaba Cloud. |
access_key |
string | Oui | AccessKey secret de votre compte Alibaba Cloud. |
project_name |
string | Oui | Nom du projet MaxCompute. |
table_name |
string | Oui | Nom de la table MaxCompute. |
partition |
string | Oui | Champ de partitionnement de la table MaxCompute. |
thread_num |
number | Oui | Nombre de threads utilisés pour lire les données. Valeur par défaut : 1. |
dirty_data_file |
string | Oui | Chemin du fichier qui enregistre les journaux relatifs aux échecs de traitement. |
retry_interval |
number | Non | Intervalle entre les tentatives, en secondes. |
endpoint
Obligatoire
Type : string
Valeur par défaut : aucune
Endpoint utilisé pour accéder à MaxCompute. Pour connaître les endpoints par région, consultez la rubrique Endpoints dans différentes régions (Internet).
access_id
Obligatoire
Type : string
Valeur par défaut : aucune
AccessKey ID de votre compte Alibaba Cloud.
access_key
Obligatoire
Type : string
Valeur par défaut : aucune
AccessKey secret de votre compte Alibaba Cloud.
project_name
Obligatoire
Type : string
Valeur par défaut : aucune
Nom du projet MaxCompute.
table_name
Obligatoire
Type : string
Valeur par défaut : aucune
Nom de la table MaxCompute.
partition
Obligatoire
Type : string
Valeur par défaut : aucune
Champ de partitionnement de la table MaxCompute. Exemple : sale_date='201911' et region='hangzhou'.
thread_num
Obligatoire
Type : number
Valeur par défaut :
1
Nombre de threads utilisés pour lire les données.
dirty_data_file
Obligatoire
Type : string
Valeur par défaut : aucune
Chemin du fichier qui enregistre les journaux relatifs aux échecs de traitement. Définissez le chemin sur /ssd/1/<Logstash cluster ID>/logstash/data/.
retry_interval
Facultatif
Type : number
Valeur par défaut : aucune
Intervalle entre les tentatives, en secondes.