Simple Log Service (SLS) permet d'exporter les données de journalisation d'un LogStore vers un compartiment Object Storage Service (OSS) pour un stockage à long terme et une analyse hors ligne. Cette rubrique explique comment créer une tâche d'exportation de données vers OSS (nouvelle version).
Prérequis
Vous avez créé un projet et un LogStore.
La collecte des données de journalisation est configurée.
Vous avez créé un compartiment OSS dans la région où réside le projet SLS. Pour plus d'informations, consultez []]().
La nouvelle version de l'exportation de données vers OSS n'est disponible que dans certaines régions. Assurez-vous que votre projet se trouve dans une région prise en charge.
Régions prises en charge
SLS exporte les données vers OSS au sein de la même région. Le compartiment OSS doit se trouver dans la région du projet SLS.
La nouvelle version de l'exportation de données vers OSS est uniquement prise en charge dans les régions suivantes : Chine (Hangzhou), Chine (Shanghai), Chine (Qingdao), Chine (Pékin), Chine (Zhangjiakou), Chine (Hohhot), Chine (Ulanqab), Chine (Chengdu), Chine (Shenzhen), Chine (Heyuan), Chine (Guangzhou), Chine (Hong Kong), Singapour, Malaisie (Kuala Lumpur), Indonésie (Jakarta), Philippines (Manille), Thaïlande (Bangkok), Japon (Tokyo), États-Unis (Silicon Valley), États-Unis (Virginie), Arabie saoudite (Riyad) et opérateur de réseau virtuel saoudien.
Créer une tâche d'exportation de données
Connectez-vous à la console Simple Log Service.
1. Dans l'onglet Log Storage > Logstores, cliquez sur > à gauche du LogStore cible, puis choisissez Data Processing > Export > Object Storage Service.
Placez le pointeur sur Object Storage Service et cliquez sur +.
-
Dans le panneau Data Shipping to OSS , configurez les paramètres suivants et cliquez sur OK.
Définissez Shipping Version sur New Version. Le tableau suivant décrit les principaux paramètres.
Après la création d'une tâche d'exportation de données vers OSS, chaque shard détermine sa fréquence d'exportation en fonction de Batch Size et de Batch Interval. L'exportation est déclenchée dès qu'une des deux conditions est remplie.
Paramètre
Description
Job Name
Nom unique de la tâche d'exportation.
Display Name
Nom d'affichage de la tâche d'exportation.
Job Description
Description de la tâche d'exportation vers OSS.
OSS Bucket
Nom du compartiment OSS. > Important : - Le compartiment doit déjà exister, ne pas avoir l'option Write Once Read Many (WORM) activée et se trouver dans la même région que le projet SLS.
OSS Write RAM Role
Accorde à la tâche d'exportation de données vers OSS les autorisations nécessaires pour écrire des données dans le compartiment OSS. Si le LogStore et le compartiment OSS appartiennent au même compte Alibaba Cloud, sélectionnez Default Role. S'ils appartiennent à des comptes différents, sélectionnez Custom Role. - Default Role : Autorise la tâche d'exportation de données vers OSS à écrire des données dans le compartiment OSS en utilisant le rôle système
AliyunLogDefaultRoled'Alibaba Cloud. Saisissez l'Amazon Resource Name (ARN) deAliyunLogDefaultRole. Pour savoir comment obtenir l'ARN, consultez []](). - Custom Role : Autorise la tâche d'exportation de données vers OSS à écrire des données dans le compartiment OSS en utilisant un rôle personnalisé. Accordez au rôle personnalisé les autorisations d'écriture dans le compartiment OSS, puis saisissez l'ARN du rôle personnalisé dans OSS Write RAM Role. Obtenez l'ARN selon les scénarios suivants : - Si le LogStore et le compartiment OSS appartiennent au même compte Alibaba Cloud, consultez []](). - Si le LogStore et le compartiment OSS appartiennent à des comptes Alibaba Cloud différents, consultez []]().LogStore Read RAM Role
Accorde à la tâche d'exportation de données vers OSS les autorisations nécessaires pour lire les données du LogStore. Si le LogStore et le compartiment OSS appartiennent au même compte Alibaba Cloud, sélectionnez Default Role. S'ils appartiennent à des comptes différents, sélectionnez Custom Role. - Default Role : Autorise la tâche d'exportation de données vers OSS à lire les données du LogStore en utilisant le rôle système
AliyunLogDefaultRoled'Alibaba Cloud. Saisissez l'ARN deAliyunLogDefaultRole. Pour savoir comment obtenir l'ARN, consultez []](). - Custom Role : Autorise la tâche d'exportation de données vers OSS à lire les données du LogStore en utilisant un rôle personnalisé. Accordez au rôle personnalisé les autorisations de lecture des données du LogStore, puis saisissez l'ARN du rôle personnalisé dans LogStore Read RAM Role.Storage Format
Une fois les données exportées vers OSS, elles peuvent être stockées dans différents formats de fichier.
Compress
Méthode de compression utilisée pour stocker les données dans OSS. - No Compress (none) : aucune compression des données. - Compress (snappy) : compresse les données à l'aide de l'algorithme snappy afin de réduire l'espace de stockage du compartiment OSS. - Compress (zstd) : compresse les données à l'aide de l'algorithme zstd afin de réduire l'espace de stockage du compartiment OSS. - Compress (gzip) : compresse les données à l'aide de l'algorithme gzip afin de réduire l'espace de stockage du compartiment OSS.
Ship Tags
Le champ tag est un champ réservé de SLS.
Batch Size
Quantité de données de journal non compressées qui doivent s'accumuler dans un shard avant le début de l'exportation. Valeurs valides : 5 à 256. Unité : Mo. Cette valeur contrôle la taille approximative de chaque objet OSS. Batch Size mesure les données accumulées après le début de la lecture par SLS, et non les données déjà écrites dans SLS. Les données sont lues et exportées uniquement lorsque la condition Batch Interval est également remplie.
Batch Interval
Délai maximal d'attente d'un shard avant de déclencher une opération d'exportation. L'exportation commence lorsque le temps spécifié s'est écoulé depuis l'arrivée de la première entrée de journal dans le lot actuel. Valeur par défaut : 300. Valeurs valides : 300 à 900. Unité : secondes.
Shipping Latency
Délai avant l'exportation des données. Par exemple, si vous définissez ce paramètre sur 3600, les données sont exportées une heure plus tard. Les données générées le 5 juin 2023 à 10:00:00 ne seront pas écrites dans le compartiment OSS spécifié avant le 5 juin 2023 à 11:00:00.
Start Time Range
Plage horaire de la tâche d'exportation de données vers OSS. La plage horaire est basée sur l'heure de réception des journaux. Valeurs valides : - All : exporte les données depuis l'heure de réception du premier journal par le LogStore jusqu'à l'arrêt manuel de la tâche. - From Specific Time : exporte les données depuis l'heure de début spécifiée jusqu'à l'arrêt manuel de la tâche. - Specific Time Range : exporte les données depuis l'heure de début spécifiée jusqu'à l'heure de fin spécifiée. La tâche s'arrête automatiquement à l'heure de fin spécifiée. La plage horaire est basée sur le champ
__tag__:__receive_time__.Time Zone
Fuseau horaire utilisé pour formater les valeurs temporelles. Si vous configurez à la fois Time Zone et Partition Format, les sous-répertoires du compartiment OSS sont générés en fonction de vos paramètres.
Une fois la tâche créée, vérifiez son statut et assurez-vous que les données apparaissent dans le compartiment OSS de destination pour confirmer que la tâche d'exportation fonctionne comme prévu.
Afficher les données OSS
Une fois les données exportées vers OSS, vous pouvez y accéder via la console OSS, l'API OSS, un SDK ou d'autres méthodes.
Formats de partition
Chaque opération d'exportation correspond à une URL d'objet OSS au format oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID. Le tableau suivant décrit les formats de partition, sur la base d'une tâche d'exportation créée le 20 janvier 2022 à 19:50:43.
OSS-BUCKET est le nom du compartiment OSS. OSS-PREFIX est le préfixe de répertoire. PARTITION-FORMAT est le format de partition, calculé à partir de l'heure d'exportation à l'aide de l'API strptime. RANDOM-ID est l'identifiant unique d'une opération d'exportation.
|
Compartiment OSS |
Préfixe OSS |
Format de partition |
Suffixe d'objet |
URL de l'objet OSS |
|
test-bucket |
test-table |
%Y/%m/%d/%H/%M |
.suffix |
oss://test-bucket/test-table/2022/01/20/19/50_1484913043351525351_2850008.suffix |
|
test-bucket |
|
year=%Y/mon=%m/day=%d/log_%H%M |
.suffix |
oss://test-bucket/log_ship_oss_example/year=2022/mon=01/day=20/log_1950_1484913043351525351_2850008.suffix |
|
test-bucket |
|
ds=%Y%m%d/%H |
.suffix |
oss://test-bucket/log_ship_oss_example/ds=20220120/19_1484913043351525351_2850008.suffix |
|
test-bucket |
|
%Y%m%d/ |
.suffix |
oss://test-bucket/log_ship_oss_example/20220120/_1484913043351525351_2850008.suffix > Remarque : Ce format peut entraîner des échecs d'analyse sur des plateformes telles que Hive. Nous vous recommandons de ne pas utiliser ce format. |
| test-bucket | log_ship_oss_example | %Y%m%d%H | .suffix | oss://test-bucket/log_ship_oss_example/2022012019_1484913043351525351_2850008.suffix |
Les données sont exportées vers OSS par lots. Chaque opération d'exportation écrit un objet contenant un lot de données. Le chemin de l'objet est déterminé par la valeur receive_time la plus ancienne (l'heure d'arrivée des données dans SLS) du lot. Tenez compte des scénarios suivants :
Lorsque vous exportez des données en temps réel, par exemple toutes les cinq minutes, une opération d'exportation effectuée le 22 janvier 2022 à 00:00:00 exporte les données écrites dans un shard de SLS après 23:55 le 21 janvier 2022. Pour analyser toutes les données du 22 janvier 2022, vérifiez tous les objets du sous-répertoire 2022/01/22 du compartiment OSS, et contrôlez si les derniers objets du sous-répertoire 2022/01/21 contiennent des données du 22 janvier 2022.
-
Lorsque vous exportez des données historiques, si la quantité de données dans le LogStore est faible, une seule extraction peut renvoyer des données couvrant plusieurs jours. Par conséquent, les objets du sous-répertoire 2022/01/22 peuvent contenir toutes les données du 23 janvier 2022, et aucun objet n'existe dans le sous-répertoire 2022/01/23.
Lorsque vous utilisez une plateforme Big Data telle que Hive ou
MaxCompute, ou Alibaba Cloud Data Lake Analytics (DLA), pour analyser les données OSS, vous pouvez définir PARTITION-FORMAT dans le nom de l'objet au format clé=valeur si vous souhaitez utiliser les informations de partition. Exemple : oss://test-bucket/log_ship_oss_example/year=2022/mon=01/day=20/log_195043_1484913043351525351_2850008.parquet. Dans cet exemple, trois colonnes de partition sont configurées : year, mon et day.