Créez un connecteur de réception MaxCompute pour exporter les données d'une rubrique source d'une instance vers une table dans MaxCompute.
Prérequis
Avant de créer un connecteur de réception MaxCompute, effectuez les préparations suivantes sur les deux services :
-
ApsaraMQ for Kafka — Préparez l'instance qui fournit les données sources :
Activez la fonctionnalité de connecteur pour l'instance ApsaraMQ for Kafka. Pour plus d'informations, consultez la rubrique Activer le connecteur.
-
Créez une rubrique source pour l'instance ApsaraMQ for Kafka. Pour plus d'informations, consultez la rubrique Étape 1 : Créer une rubrique.
Dans cette rubrique, une rubrique nommée maxcompute-test-input est utilisée à titre d'exemple.
-
MaxCompute — Préparez la table de destination qui reçoit les données :
-
Créez une table à l'aide du client MaxCompute. Pour plus d'informations, consultez la rubrique Créer une table.
Dans cette rubrique, une table nommée test_kafka dans un projet nommé connector_test est utilisée à titre d'exemple. L'instruction suivante permet de créer la table :
CREATE TABLE IF NOT EXISTS test_kafka(topic STRING,partition BIGINT,offset BIGINT,key STRING,value STRING) PARTITIONED by (pt STRING);Facultatif :EventBridge — Requis uniquement pour les instances qui utilisent le chemin de déploiement EventBridge :
RemarqueVous devez effectuer cette opération uniquement si l'instance à laquelle votre tâche de connecteur appartient se trouve dans la région Chine (Hangzhou) ou Chine (Chengdu).
-
Notes d'utilisation
Passez en revue les limites et comportements suivants avant de créer un connecteur de réception MaxCompute.
Limites déterminant si la tâche est prise en charge
Région — Vous pouvez exporter des données d'une rubrique source d'une instance ApsaraMQ for Kafka vers MaxCompute uniquement au sein de la même région. Pour plus d'informations sur les limites des connecteurs, consultez la rubrique Limites.
Version majeure de l'instance 0.10.2 — Certaines rubriques requises par le connecteur de réception MaxCompute doivent utiliser le moteur de stockage local. Les instances ApsaraMQ for Kafka dont la version majeure est 0.10.2 ne prennent pas en charge la création manuelle de rubriques utilisant le stockage local. Ces rubriques ne peuvent être créées que automatiquement. Si votre instance exécute cette version, laissez le connecteur créer automatiquement les rubriques requises.
Instances dans les régions Chine (Hangzhou) et Chine (Chengdu)
Si l'instance à laquelle le connecteur appartient se trouve dans la région Chine (Hangzhou) ou Chine (Chengdu), la fonctionnalité est déployée sur EventBridge. Les instances de toutes les autres régions utilisent le chemin de déploiement par défaut, et les éléments suivants ne s'appliquent pas à elles.
Facturation — EventBridge est actuellement gratuit. Pour plus d'informations, consultez la rubrique Facturation.
-
Rôles liés au service — Lorsque vous créez un connecteur, EventBridge crée automatiquement les rôles liés au service AliyunServiceRoleForEventBridgeSourceKafka et AliyunServiceRoleForEventBridgeConnectVPC. Une boîte de dialogue Service Authorization apparaît dans l'assistant de création pour chaque rôle qui n'existe pas encore.
Si les rôles liés au service ne sont pas créés, EventBridge crée automatiquement les rôles liés au service correspondants afin que EventBridge puisse utiliser ces rôles pour accéder à ApsaraMQ for Kafka et aux réseaux privés virtuels (VPC).
-
Si les rôles liés au service sont déjà créés, EventBridge ne les recrée pas.
Pour plus d'informations sur les rôles liés au service, consultez la rubrique Rôles liés au service pour EventBridge.
Journaux d'exécution des tâches — Les tâches déployées sur EventBridge ne prennent pas en charge l'affichage des journaux d'exécution des tâches. Une fois la tâche du connecteur terminée, vous pouvez vérifier la progression de la tâche en vous basant sur les détails de consommation du Group abonné à la rubrique source. Pour plus d'informations, consultez la rubrique Afficher l'état du consommateur.
Procédure
Pour utiliser un connecteur de réception MaxCompute afin d'exporter des données d'une rubrique source d'une instance ApsaraMQ for Kafka vers une table dans MaxCompute, suivez les étapes ci-dessous dans l'ordre. Chaque étape est décrite dans l'une des sections suivantes.
-
Accordez à ApsaraMQ for Kafka les autorisations nécessaires pour accéder à MaxCompute.
-
Facultatif : Créez les rubriques et le Group requis par le connecteur de réception MaxCompute.
Si vous n'avez pas besoin de personnaliser les rubriques et le Group, vous pouvez ignorer cette étape et sélectionner la création automatique à l'étape suivante. Si la version majeure de votre instance est 0.10.2, utilisez la création automatique, comme décrit dans la section Notes d'utilisation de cette rubrique.
-
Vérifiez le résultat.
Créer un rôle RAM
Les rôles Resource Access Management (RAM) ne permettent pas de sélectionner directement ApsaraMQ for Kafka comme service de confiance. Par conséquent, lors de la création d'un rôle RAM, sélectionnez n'importe quel service pris en charge comme service de confiance. Une fois le rôle RAM créé, modifiez manuellement la stratégie d'approbation.
Connectez-vous à la console RAM.
Dans le volet de navigation de gauche, choisissez Identities > Roles.
-
Sur la page Roles, cliquez sur Create Role.
La figure suivante montre le bouton Create Role sur la page Roles.

Dans le panneau Create Role, effectuez les opérations suivantes.
Définissez le type d'entité de confiance sur Alibaba Cloud Service, puis cliquez sur Next.
Dans la section Role Type, sélectionnez Normal Service Role. Dans le champ Role Name, saisissez AliyunKafkaMaxComputeUser1. Dans la liste Select Trusted Service, sélectionnez MaxCompute, puis cliquez sur Finish.
Sur la page Roles, recherchez AliyunKafkaMaxComputeUser1 et cliquez sur AliyunKafkaMaxComputeUser1.
Sur la page AliyunKafkaMaxComputeUser1, cliquez sur l'onglet Trust Policy, puis sur Edit Trust Policy.
-
Dans le panneau Edit Trust Policy, remplacez odps par alikafka dans le script, puis cliquez sur OK.
La stratégie suivante montre le résultat après le remplacement.

Ajouter des autorisations
Pour permettre au connecteur de synchroniser les messages vers une table MaxCompute, vous devez accorder au moins les autorisations suivantes au rôle RAM que vous avez créé :
|
Objet |
Action |
Description |
|
Projet |
CreateInstance |
Créer une instance dans le projet. |
|
Table |
Describe |
Lire les métadonnées de la table. |
|
Table |
Alter |
Modifier les métadonnées de la table, ou ajouter et supprimer des partitions. |
|
Table |
Update |
Écraser ou ajouter des données à la table. |
Pour plus d'informations sur les autorisations précédentes et sur la manière de les accorder, consultez les autorisations MaxCompute.
Les étapes suivantes montrent comment accorder des autorisations au rôle AliyunKafkaMaxComputeUser1 créé dans cette rubrique. MaxCompute gère un rôle RAM en tant qu'utilisateur, donc chaque commande de cette section cible l'objet RAM$<accountid>:role/aliyunkafkamaxcomputeuser1.
Dans chacune des commandes suivantes, remplacez par votre propre ID de compte Alibaba Cloud.
Connectez-vous au client MaxCompute.
-
Exécutez la commande suivante pour ajouter le rôle RAM en tant qu'utilisateur.
add user `RAM$<accountid>:role/aliyunkafkamaxcomputeuser1`; Accordez au rôle RAM le privilège minimal requis pour accéder à MaxCompute.
Exécutez la commande suivante pour accorder au rôle RAM les autorisations sur le projet.
grant CreateInstance on project connector_test to user `RAM$<accountid>:role/aliyunkafkamaxcomputeuser1`;
Exécutez la commande suivante pour accorder au rôle RAM les autorisations sur la table.
grant Describe, Alter, Update on table test_kafka to user `RAM$<accountid>:role/aliyunkafkamaxcomputeuser1`;
Créer les rubriques requises par un connecteur de réception MaxCompute
Dans la console ApsaraMQ for Kafka, vous pouvez créer manuellement les cinq rubriques requises par un connecteur de réception MaxCompute : la rubrique de décalage de tâche, la rubrique de configuration de tâche, la rubrique d'état de tâche, la rubrique de file d'attente de lettres mortes et la rubrique de données d'erreur. Le nombre de partitions requis et le moteur de stockage requis varient selon la rubrique, comme indiqué dans le tableau suivant.
|
Rubrique |
Préfixe de nom recommandé |
Partitions |
Moteur de stockage |
cleanup.policy |
|
Rubrique de décalage de tâche |
connect-offset |
Supérieur à 1 |
Stockage local |
compact |
|
Rubrique de configuration de tâche |
connect-config |
1 |
Stockage local |
compact |
|
Rubrique d'état de tâche |
connect-status |
6 recommandés |
Stockage local |
compact |
|
Rubrique de file d'attente de lettres mortes |
connect-error |
6 recommandés |
Stockage local ou stockage cloud |
— |
|
Rubrique de données d'erreur |
connect-error |
6 recommandés |
Stockage local ou stockage cloud |
— |
Pour économiser les ressources de rubrique, vous pouvez utiliser une seule rubrique à la fois comme rubrique de file d'attente de lettres mortes et comme rubrique de données d'erreur. Pour la rubrique de file d'attente de lettres mortes et la rubrique de données d'erreur, le moteur de stockage peut être le stockage local ou le stockage cloud, et les propriétés restantes suivent les règles générales décrites dans le tableau des propriétés de rubrique de cette section. Pour une description complète de chaque rubrique, consultez la rubrique Paramètres de l'onglet Configure Source Service.
Connectez-vous à la console ApsaraMQ for Kafka.
Connectez-vous à la console ApsaraMQ for Kafka.
Connectez-vous à la console ApsaraMQ for Kafka.
Connectez-vous à la console ApsaraMQ for Kafka.
Connectez-vous à la console ApsaraMQ for Kafka.
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Vous devez créer des rubriques dans la même région que votre application, c'est-à-dire la région où l'instance ECS est déployée. Les rubriques ne peuvent pas être utilisées entre différentes régions. Par exemple, si une rubrique est créée dans la région Chine (Pékin), le producteur et le consommateur de messages doivent également s'exécuter sur une instance ECS dans la région Chine (Pékin).
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Vous devez créer des rubriques dans la même région que votre application, c'est-à-dire la région où l'instance ECS est déployée. Les rubriques ne peuvent pas être utilisées entre différentes régions. Par exemple, si une rubrique est créée dans la région Chine (Pékin), le producteur et le consommateur de messages doivent également s'exécuter sur une instance ECS dans la région Chine (Pékin).
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Vous devez créer des rubriques dans la même région que votre application, c'est-à-dire la région où l'instance ECS est déployée. Les rubriques ne peuvent pas être utilisées entre différentes régions. Par exemple, si une rubrique est créée dans la région Chine (Pékin), le producteur et le consommateur de messages doivent également s'exécuter sur une instance ECS dans la région Chine (Pékin).
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Vous devez créer des rubriques dans la même région que votre application, c'est-à-dire la région où l'instance ECS est déployée. Les rubriques ne peuvent pas être utilisées entre différentes régions. Par exemple, si une rubrique est créée dans la région Chine (Pékin), le producteur et le consommateur de messages doivent également s'exécuter sur une instance ECS dans la région Chine (Pékin).
Sur la page Instances, cliquez sur le nom de l'instance cible.
Sur la page Instances, cliquez sur le nom de l'instance cible.
Sur la page Instances, cliquez sur le nom de l'instance cible.
Dans le volet de navigation de gauche, cliquez sur Topics.
Dans le volet de navigation de gauche, cliquez sur Topics.
Sur la page Topics, cliquez sur Create Topic.
Dans le panneau
Create Topic
, définissez les propriétés de la rubrique, puis cliquez sur
OK
.
Définissez les propriétés de chaque rubrique de connecteur avec les valeurs répertoriées dans le tableau précédent. Le tableau suivant décrit toutes les propriétés de rubrique.
|
Paramètre |
Description |
Exemple |
|
Name |
Nom de la rubrique. Dans Kafka, les noms de rubrique aux formats |
connect-offset-kafka-maxcompute-sink |
|
Description |
Breve description de la rubrique. |
test de démonstration |
|
Partitions |
Nombre de partitions de la rubrique. |
12 |
|
Storage Engine > Remarque : Seules les instances Professional Edition non serverless permettent de sélectionner un type de moteur de stockage. Les autres instances ne prennent pas en charge cette option et utilisent le type cloud storage par défaut. |
Moteur de stockage des messages de la rubrique. ApsaraMQ for Kafka prend en charge les deux moteurs de stockage suivants. - Cloud Storage : utilise des disques Alibaba Cloud au niveau sous-jacent et offre une faible latence, des performances élevées, une durabilité et une fiabilité élevée. Ce moteur utilise un mécanisme distribué à trois réplicas. Si l'Instance Edition de l'instance est Standard (High Write), le moteur de stockage ne peut être que Cloud Storage. - Local Storage : utilise l'algorithme de réplication In-Sync Replicas (ISR) de Kafka open source et un mécanisme distribué à trois réplicas. |
Local Storage |
|
Message Type |
Type de messages de la rubrique. - Normal Message : par défaut, les messages ayant la même clé sont distribués dans la même partition, et les messages d'une partition sont stockés dans l'ordre dans lequel ils sont envoyés. En cas de panne d'une machine du cluster, les messages peuvent devenir désordonnés. Si vous définissez Storage Engine sur Cloud Storage, Normal Message est sélectionné par défaut. - Partitionally Ordered Message : par défaut, les messages ayant la même clé sont distribués dans la même partition, et les messages d'une partition sont stockés dans l'ordre dans lequel ils sont envoyés. En cas de panne d'une machine du cluster, les messages d'une partition sont toujours stockés dans l'ordre dans lequel ils sont envoyés. Cependant, l'envoi de messages vers certaines partitions peut échouer jusqu'à ce que ces partitions soient restaurées. Si vous définissez Storage Engine sur Local Storage, Partitionally Ordered Message est sélectionné par défaut. |
Normal Message |
|
Log Cleanup Policy |
Politique de nettoyage des journaux de la rubrique. Si vous définissez Storage Engine sur Local Storage, vous devez configurer Log Cleanup Policy. ApsaraMQ for Kafka prend en charge les deux politiques de nettoyage suivantes. - Delete : politique de nettoyage des messages par défaut. Si la capacité du disque est suffisante, les messages sont conservés pendant la période de rétention maximale. Si la capacité du disque est insuffisante, ce qui se produit généralement lorsque l'utilisation du disque dépasse 85 %, les messages plus anciens sont supprimés à l'avance pour garantir la disponibilité du service. - Compact : utilise la politique de compaction des journaux Kafka. La politique de compaction des journaux garantit que la dernière valeur de chaque clé de message est conservée. Cette politique convient aux scénarios tels que la restauration de l'état après une panne système ou le rechargement du cache après un redémarrage du système. Par exemple, lorsque vous utilisez Confluent Schema Registry ou Kafka Connect, vous devez utiliser une rubrique compactée Kafka pour stocker l'état du système ou les informations de configuration. > Important : Les rubriques compactées sont généralement utilisées uniquement pour des composants spécifiques de l'écosystème, tels que Confluent Schema Registry ou Kafka Connect. Ne définissez pas cette propriété pour les rubriques utilisées pour envoyer et recevoir des messages dans d'autres scénarios. Pour plus d'informations, consultez la bibliothèque de démonstration ApsaraMQ for Kafka. |
Compact |
|
Tag |
Tag de la rubrique. |
démonstration |
Une fois la rubrique créée, elle apparaît dans la liste sur la page Topics. Comme vous avez créé ces rubriques manuellement, définissez Resource Creation Method sur Manual lors de la création du connecteur, puis saisissez les noms des rubriques que vous avez créées.
Créer le Group requis par un connecteur de réception MaxCompute
Dans la console ApsaraMQ for Kafka, vous pouvez créer manuellement le Group utilisé par la tâche de synchronisation des données d'un connecteur de réception MaxCompute. Le nom du Group doit être connect-nom de la tâche, où nom de la tâche est le nom du connecteur. Pour plus d'informations, consultez la rubrique Paramètres de l'onglet Configure Source Service.
Connectez-vous à la console ApsaraMQ for Kafka.
Connectez-vous à la console ApsaraMQ for Kafka.
Connectez-vous à la console ApsaraMQ for Kafka.
Connectez-vous à la console ApsaraMQ for Kafka.
Connectez-vous à la console ApsaraMQ for Kafka.
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Sur la page Instances, cliquez sur le nom de l'instance cible.
Sur la page Instances, cliquez sur le nom de l'instance cible.
Sur la page Instances, cliquez sur le nom de l'instance cible.
Dans le volet de navigation de gauche, cliquez sur Groups.
Dans le volet de navigation de gauche, cliquez sur Groups.
Sur la page Groups, cliquez sur Create Group.
Dans le panneau
Create Group
, saisissez le nom du
Group
dans le champ
Group ID
, saisissez une brève description dans le champ
Description
, ajoutez des tags, puis cliquez sur
OK
.
Une fois le Group créé, il apparaît dans la liste sur la page Groups. Saisissez son nom dans le champ Connector Consumer Group lors de la création du connecteur.
Créer et déployer un connecteur de destination MaxCompute
Créez et déployez un connecteur de destination MaxCompute qui synchronise les données depuis ApsaraMQ for Kafka vers MaxCompute.
Connectez-vous à la console ApsaraMQ for Kafka.
Connectez-vous à la console ApsaraMQ for Kafka.
Connectez-vous à la console ApsaraMQ for Kafka.
Connectez-vous à la console ApsaraMQ for Kafka.
Connectez-vous à la console ApsaraMQ for Kafka.
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Dans le volet de navigation de gauche, cliquez sur Connectors.
Dans le volet de navigation de gauche, cliquez sur Connectors.
Dans le volet de navigation de gauche, cliquez sur Connectors.
Sur la page Connectors, sélectionnez l'instance à laquelle appartient le connecteur dans la liste déroulante Select Instance et cliquez sur Create Connector.
Sur la page Connectors, sélectionnez l'instance à laquelle appartient le connecteur dans la liste déroulante Select Instance et cliquez sur Create Connector.
1. Sur la page de l'assistant de configuration Create Connector, effectuez les opérations suivantes.
-
Sous l'onglet Configure Basic Information, configurez les paramètres suivants selon vos besoins métier, puis cliquez sur Next.
Paramètre
Description
Exemple
Name
Nom du connecteur. Conventions de nommage : - Le nom peut contenir des chiffres, des lettres minuscules et des traits d'union (-), mais ne doit pas commencer par un trait d'union (-). La longueur du nom doit être comprise entre 1 et 48 caractères. - Le nom doit être unique au sein de la même instance ApsaraMQ for Kafka. La tâche de synchronisation des données du connecteur doit utiliser un Group nommé connect-nom de la tâche. Si vous ne créez pas manuellement le Group, le système le crée automatiquement.
kafka-maxcompute-sink
Instance
Par défaut, le nom de l'instance et l'ID de l'instance sont spécifiés.
demo alikafka_post-cn-st21p8vj****
-
Sous l'onglet Configure Source Service, définissez Data Source sur ApsaraMQ for Kafka, configurez les paramètres suivants, puis cliquez sur Next.
RemarqueSi vous avez déjà créé un topic et un consumer group, choisissez la création manuelle des ressources et saisissez les informations relatives à vos ressources existantes. Sinon, optez pour la création automatique des ressources.
Si vous avez déjà créé un topic et un consumer group, choisissez la création manuelle des ressources et saisissez les informations relatives à vos ressources existantes. Sinon, optez pour la création automatique des ressources.
Si vous avez déjà créé un topic et un consumer group, choisissez la création manuelle des ressources et saisissez les informations relatives à vos ressources existantes. Sinon, optez pour la création automatique des ressources.
Si vous avez déjà créé un topic et un consumer group, choisissez la création manuelle des ressources et saisissez les informations relatives à vos ressources existantes. Sinon, optez pour la création automatique des ressources.
Si vous avez déjà créé un topic et un consumer group, choisissez la création manuelle des ressources et saisissez les informations relatives à vos ressources existantes. Sinon, optez pour la création automatique des ressources.
Paramètre
Description
Exemple
Data Source Topic
Topic source dont vous souhaitez synchroniser les données.
maxcompute-test-input
Consumer Thread Concurrency
Nombre de threads de consommateur simultanés pour le topic source. Valeur par défaut : 6. Valeurs possibles : - 1 - 2 - 3 - 6 - 12
6
Consumer Offset
Offset à partir duquel les messages sont consommés. Valeurs possibles : - Earliest Offset : la consommation commence à partir du premier offset. - Latest Offset : la consommation commence à partir du dernier offset.
Earliest Offset
VPC ID
VPC dans lequel s'exécute la tâche de synchronisation des données. Cliquez sur Configure Runtime Environment pour afficher ce paramètre. Par défaut, le VPC dans lequel est déployée l'instance ApsaraMQ for Kafka est utilisé. Vous n'avez pas besoin de spécifier ce paramètre.
vpc-bp1xpdnd3l***
vSwitch ID
vSwitch dans lequel s'exécute la tâche de synchronisation des données. Cliquez sur Configure Runtime Environment pour afficher ce paramètre. Le vSwitch doit se trouver dans le même VPC que l'instance ApsaraMQ for Kafka. Par défaut, le vSwitch que vous avez spécifié lors du déploiement de l'instance ApsaraMQ for Kafka est utilisé.
vsw-bp1d2jgg81***
Failure Handling Policy
Indique s'il faut continuer à s'abonner à la partition du topic dans laquelle une erreur s'est produite après l'échec de l'envoi d'un message. Cliquez sur Configure Runtime Environment pour afficher ce paramètre. Valeurs possibles : - Continue Subscription : continue de s'abonner à la partition du topic dans laquelle l'erreur s'est produite et imprime le journal d'erreurs. - Stop Subscription : arrête de s'abonner à la partition du topic dans laquelle l'erreur s'est produite et imprime le journal d'erreurs > Remarque : - Pour plus d'informations sur la consultation des journaux, consultez les opérations du connecteur. - Pour plus d'informations sur la recherche de solutions en fonction des codes d'erreur, consultez Codes d'erreur. - Pour reprendre l'abonnement à la partition du topic dans laquelle l'erreur s'est produite, pour contacter le .
Continue Subscription
Resource Creation Method
Méthode utilisée pour créer les topics et le Group requis par le connecteur. Cliquez sur Configure Runtime Environment pour afficher ce paramètre. Valeurs possibles : - Auto : le système crée les topics et le Group requis pour vous. Sélectionnez cette valeur si vous ne les avez pas créés au préalable. - Manual : sélectionnez cette valeur si vous avez créé les topics et le Group au préalable, puis saisissez leurs noms dans les champs suivants.
Auto
Connector Consumer Group
Group utilisé par la tâche de synchronisation des données du connecteur. Cliquez sur Configure Runtime Environment pour afficher ce paramètre. Le nom du Group doit être connect-nom de la tâche.
connect-kafka-maxcompute-sink
Task Offset Topic
Topic qui stocke les offsets des consommateurs. Cliquez sur Configure Runtime Environment pour afficher ce paramètre. - Nom du topic : nous recommandons que le nom commence par connect-offset. - Nombre de partitions : le nombre de partitions du topic doit être supérieur à 1. - Moteur de stockage : le moteur de stockage du topic doit être le stockage local. - cleanup.policy : la politique de nettoyage des journaux du topic doit être compact.
connect-offset-kafka-maxcompute-sink
Task Configuration Topic
Topic qui stocke les configurations des tâches. Cliquez sur Configure Runtime Environment pour afficher ce paramètre. - Nom du topic : nous recommandons que le nom commence par connect-config. - Nombre de partitions : le nombre de partitions du topic doit être égal à 1. - Moteur de stockage : le moteur de stockage du topic doit être le stockage local. - cleanup.policy : la politique de nettoyage des journaux du topic doit être compact.
connect-config-kafka-maxcompute-sink
Task Status Topic
Topic qui stocke l'état des tâches. Cliquez sur Configure Runtime Environment pour afficher ce paramètre. - Nom du topic : nous recommandons que le nom commence par connect-status. - Nombre de partitions : nous vous recommandons de définir le nombre de partitions du topic sur 6. - Moteur de stockage : le moteur de stockage du topic doit être le stockage local. - cleanup.policy : la politique de nettoyage des journaux du topic doit être compact.
connect-status-kafka-maxcompute-sink
Dead-letter Queue Topic
Topic qui stocke les données anormales du framework Connect. Cliquez sur Configure Runtime Environment pour afficher ce paramètre. Pour économiser les ressources de topic, vous pouvez utiliser ce topic comme topic de données d'erreur. - Nom du topic : nous recommandons que le nom commence par connect-error. - Nombre de partitions : nous vous recommandons de définir le nombre de partitions du topic sur 6. - Moteur de stockage : le moteur de stockage du topic peut être le stockage local ou le stockage cloud.
connect-error-kafka-maxcompute-sink
Error Data Topic
Topic qui stocke les données anormales du connecteur de destination (sink). Cliquez sur Configure Runtime Environment pour afficher ce paramètre. Pour économiser les ressources de topic, vous pouvez utiliser ce topic comme topic de file d'attente des lettres mortes (dead-letter queue). - Nom du topic : nous recommandons que le nom commence par connect-error. - Nombre de partitions : nous vous recommandons de définir le nombre de partitions du topic sur 6. - Moteur de stockage : le moteur de stockage du topic peut être le stockage local ou le stockage cloud.
connect-error-kafka-maxcompute-sink
Sous l'onglet Configure Destination Service, définissez Destination Service sur MaxCompute, configurez les paramètres suivants, puis cliquez sur Create.
Si l'instance à laquelle appartient le connecteur se trouve dans la région Chine (Hangzhou) ou Chine (Chengdu), une boîte de dialogue Service Authorization s'affiche pour chacun des rôles liés au service AliyunServiceRoleForEventBridgeSourceKafka et AliyunServiceRoleForEventBridgeConnectVPC lorsque vous définissez Destination Service sur MaxCompute. Dans la boîte de dialogue Service Authorization qui s'affiche, cliquez sur OK. Ensuite, configurez les paramètres suivants et cliquez sur Create. Si les rôles liés au service ont déjà été créés, ils ne sont pas recréés et la boîte de dialogue Service Authorization ne s'affiche pas.
|
Paramètre |
Description |
Exemple |
|
Endpoint |
Point de terminaison de service de MaxCompute. Remplacez l'ID de région dans le point de terminaison par l'ID de région de votre projet MaxCompute. Pour plus d'informations, consultez Points de terminaison. - Point de terminaison VPC : faible latence et recommandé. Utilisez ce point de terminaison si l'instance ApsaraMQ for Kafka et MaxCompute se trouvent dans la même région. - Point de terminaison public : latence élevée et non recommandé. Utilisez ce point de terminaison si l'instance ApsaraMQ for Kafka et MaxCompute se trouvent dans des régions différentes. Pour utiliser un point de terminaison public, vous devez activer l'accès au réseau public pour le connecteur. Pour plus d'informations, consultez Activer l'accès au réseau public pour un connecteur. |
http://service.cn-hangzhou.maxcompute.aliyun-inc.com/api |
|
Workspace |
Espace de travail MaxCompute, qui correspond au projet MaxCompute contenant la table de destination. |
connector_test |
|
Table |
Table MaxCompute. |
test_kafka |
|
Region for Table |
Région dans laquelle réside la table MaxCompute. |
Chine (Hangzhou) |
|
Alibaba Cloud Account ID |
ID du compte Alibaba Cloud de MaxCompute. |
188*** |
|
RAM Role |
Nom du rôle RAM de ApsaraMQ for Kafka. Pour plus d'informations, consultez Créer un rôle RAM. |
AliyunKafkaMaxComputeUser1 |
|
Mode |
Mode de synchronisation des messages vers le connecteur. Valeur par défaut : DEFAULT. Valeurs possibles : - KEY : seule la clé du message est conservée et écrite dans la colonne key de la table MaxCompute. - VALUE : seule la valeur du message est conservée et écrite dans la colonne value de la table MaxCompute. - DEFAULT : la clé et la valeur du message sont conservées et écrites respectivement dans les colonnes key et value de la table MaxCompute. > Important : en mode DEFAULT, le format CSV n'est pas pris en charge. Seuls les formats TEXT et BINARY sont pris en charge. |
DEFAULT |
|
Format |
Format de synchronisation des messages vers le connecteur. Valeur par défaut : TEXT. Valeurs possibles : - TEXT : les messages sont des chaînes de caractères. - BINARY : les messages sont des tableaux d'octets. - CSV : les messages sont des chaînes de caractères séparées par des virgules (,). > Important : au format CSV, le mode DEFAULT n'est pas pris en charge. Seuls les modes KEY et VALUE sont pris en charge : - Mode KEY : seule la clé du message est conservée. La chaîne de la clé est séparée par des virgules (,) et les chaînes séparées sont écrites dans la table dans l'ordre de leurs index. - Mode VALUE : seule la valeur du message est conservée. La chaîne de la valeur est séparée par des virgules (,) et les chaînes séparées sont écrites dans la table dans l'ordre de leurs index. |
TEXT |
|
Partition |
Granularité de la partition. Valeur par défaut : HOUR. Valeurs possibles : - DAY : les données sont écrites dans une nouvelle partition chaque jour. - HOUR : les données sont écrites dans une nouvelle partition chaque heure. - MINUTE : les données sont écrites dans une nouvelle partition chaque minute. |
HOUR |
|
Time Zone |
Fuseau horaire du client producteur ApsaraMQ for Kafka qui envoie des messages au topic source du connecteur. Valeur par défaut : GMT+08:00. |
GMT+08:00 |
Une fois le connecteur créé, vous pouvez le consulter sur la page Connectors.
Une fois le connecteur créé, accédez à la page Connectors, repérez le connecteur que vous avez créé, puis cliquez sur Deploy dans la colonne Actions.
Envoyer un message de test
Après avoir déployé le connecteur de destination MaxCompute, envoyez un message au topic source de ApsaraMQ for Kafka pour vérifier si les données peuvent être synchronisées vers MaxCompute.
Sur la page Connectors, repérez le connecteur cible et cliquez sur Test dans la colonne Actions.
Sur la page Connectors, repérez le connecteur cible et cliquez sur Test dans la colonne Actions.
Sur la page Connectors, repérez le connecteur cible et cliquez sur Test dans la colonne Actions.
Sur la page Connectors, repérez le connecteur cible et cliquez sur Test dans la colonne Actions.
Sur la page Connectors, repérez le connecteur cible et cliquez sur Test dans la colonne Actions.
1. Dans le panneau Send Message, envoyez un message de test.
Définissez Sending Method sur Console.
Dans la zone de texte Message Key, saisissez la clé du message, par exemple demo.
Dans le champ Message Content, saisissez le contenu du message de test, par exemple {"key": "test"}.
Définissez Send to Specified Partition pour indiquer si le message doit être envoyé à une partition spécifique.
Cliquez sur Yes et saisissez l'ID de partition dans le champ Partition ID, par exemple 0. Pour plus d'informations sur la requête de l'ID de partition, consultez Afficher l'état des partitions.
-
Cliquez sur No pour envoyer le message sans spécifier de partition.
Définissez Sending Method sur Docker et exécutez la commande Docker dans la section Run the Docker container to produce a sample message pour envoyer le message.
Définissez Sending Method sur SDK. Selon vos besoins métier, sélectionnez le kit de développement logiciel (SDK) du langage de programmation ou du framework que vous souhaitez utiliser ainsi que la méthode de connexion, puis envoyez des messages à l'aide du SDK.
Afficher les données de la table
Après avoir envoyé des messages au topic source de ApsaraMQ for Kafka, affichez les données de la table sur le client MaxCompute pour vérifier si les messages ont été reçus.
Les étapes suivantes montrent comment afficher les données écrites dans test_kafka dans ce topic. Le connecteur écrit chaque message dans la partition correspondant à l'heure d'écriture du message, selon la granularité définie pour le paramètre Partition.
Connectez-vous au client MaxCompute.
-
Exécutez la commande suivante pour afficher les partitions de données de la table.
show partitions test_kafka;Le résultat suivant est renvoyé :
pt=11-17-2020 15 OK Exécutez la commande suivante pour afficher les données de la partition renvoyée à l'étape précédente.
select * from test_kafka where pt ="11-17-2020 15";
Le résultat suivant est renvoyé :
+----------------------+------------+------------+-----+-------+---------------+
| topic | partition | offset | key | value | pt |
+----------------------+------------+------------+-----+-------+---------------+
| maxcompute-test-input| 0 | 0 | 1 | 1 | 11-17-2020 15 |
+----------------------+------------+------------+-----+-------+---------------+
Si la requête ne renvoie aucune ligne, vérifiez que vous avez interrogé la partition renvoyée par show partitions, consultez les détails de consommation du Group abonné au topic source, et vérifiez le topic de données d'erreur ainsi que le topic de file d'attente des lettres mortes (dead-letter queue) du connecteur pour identifier les messages dont l'écriture a échoué.