

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Connexion à Mixpanel
<a name="connecting-to-mixpanel"></a>

Mixpanel est une plateforme analytique en temps réel performante qui aide les entreprises à mesurer et à optimiser l’engagement des utilisateurs. Mixpanel est une application utilisée pour suivre le comportement des clients. Cela vous permet de suivre la manière dont les utilisateurs interagissent avec votre produit et d’analyser ces données à l’aide de rapports interactifs qui vous permettent de consulter et de visualiser les résultats en quelques clics. En tant qu'utilisateur de Mixpanel, vous pouvez vous connecter AWS Glue à votre compte Mixpanel. Vous pouvez ensuite utiliser Mixpanel comme source de données dans vos tâches ETL. Exécutez ces tâches pour transférer des données entre Mixpanel et AWS des services ou d'autres applications prises en charge.

**Topics**
+ [AWS Glue support pour Mixpanel](Mixpanel-support.md)
+ [Politiques contenant les opérations API pour la création et l’utilisation des connexions](mixpanel-configuring-iam-permissions.md)
+ [Configuration de Mixpanel](mixpanel-configuring.md)
+ [Configuration de connexions Mixpanel](mixpanel-configuring-connections.md)
+ [Lecture à partir d’entités Mixpanel](mixpanel-reading-from-entities.md)
+ [Options de connexion Mixpanel](mixpanel-connection-options.md)
+ [Création d’un compte Mixpanel et configuration de l’application client](mixpanel-create-account.md)
+ [Limitations](mixpanel-connector-limitations.md)

# AWS Glue support pour Mixpanel
<a name="Mixpanel-support"></a>

AWS Glue supporte Mixpanel comme suit :

**Prise en charge en tant que source ?**  
Oui. Vous pouvez utiliser les tâches AWS Glue ETL pour interroger les données de Mixpanel.

**Prise en charge en tant que cible ?**  
Non.

**Versions de l’API Mixpanel prises en charge**  
 2.0 

# Politiques contenant les opérations API pour la création et l’utilisation des connexions
<a name="mixpanel-configuring-iam-permissions"></a>

 L'exemple de politique suivant décrit les AWS autorisations requises pour créer et utiliser des connexions. Si vous créez un rôle, créez une politique contenant les éléments suivants : 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Si vous ne voulez pas utiliser la méthode ci-dessus, vous pouvez également utiliser les politiques IAM gérées suivantes :
+  [ AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Accorde l'accès aux ressources dont AWS Glue les différents processus ont besoin pour s'exécuter en votre nom. Ces ressources incluent AWS Glue Amazon S3, IAM, CloudWatch Logs et Amazon EC2. Si vous suivez la convention de dénomination des ressources spécifiée dans cette politique, AWS Glue les processus disposent des autorisations requises. Cette politique est généralement attachée aux rôles spécifiés lorsque vous définissez les crawlers, les tâches et les points de terminaison de développement. 
+  [ AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Accorde un accès complet aux AWS Glue ressources lorsqu'une identité à laquelle la politique est attachée utilise la console AWS de gestion. Si vous suivez la convention de dénomination pour les ressources spécifiées dans la politique, les utilisateurs bénéficient des capacités totales de la console. Cette politique s'applique généralement aux utilisateurs de la AWS Glue console. 

# Configuration de Mixpanel
<a name="mixpanel-configuring"></a>

Avant de pouvoir AWS Glue effectuer un transfert depuis Mixpanel, vous devez satisfaire aux exigences suivantes :

## Configuration requise
<a name="mixpanel-configuring-min-requirements"></a>
+  Vous disposez d’un compte Mixpanel. Pour plus d’informations sur la création d’un compte, consultez [Creating a Mixpanel account](mixpanel-create-account.md). 
+  Votre compte Mixpanel est activé pour accéder à l’API. L’accès à l’API est activé par défaut pour les éditions Enterprise, Unlimited, Developer et Performance. 

Si vous remplissez ces conditions, vous êtes prêt à vous connecter AWS Glue à votre compte Mixpanel. Pour les connexions classiques, vous n’avez rien d’autre à faire dans Mixpanel.

# Configuration de connexions Mixpanel
<a name="mixpanel-configuring-connections"></a>

Mixpanel prend en charge le nom d’utilisateur et le mot de passe pour `BasicAuth`. L'authentification de base est une méthode d'authentification simple dans laquelle les clients fournissent des informations d'identification directement pour accéder aux ressources protégées. AWS Glue est capable d'utiliser le nom d'utilisateur et le mot de passe pour authentifier APIs Mixpanel. 

Pour découvrir la documentation publique de Mixpanel sur le flux `BasicAuth`, consultez [Mixpanel Service Accounts](https://developer.mixpanel.com/reference/service-accounts). 

Pour configurer une connexion Mixpanel :

1. Dans AWS Secrets Manager, créez un secret avec les informations suivantes : 
   +  Pour l’authentification de base, le secret doit contenir le secret du consommateur de l’application connectée avec `USERNAME` et `PASSWORD` comme clé. 
**Note**  
Il est indispensable de créer un secret par connexion dans AWS Glue.

1. Dans le AWS Glue Studio, créez une connexion sous **Connexions de données** en suivant les étapes ci-dessous : 

   1. Lorsque vous sélectionnez un **type de connexion**, sélectionnez **Mixpanel**.

   1. Indiquez l’`INSTANCE_URL` de Mixpanel à laquelle vous souhaitez vous connecter.

   1. Sélectionnez le rôle IAM pour lequel AWS Glue vous pouvez assumer et qui dispose des autorisations nécessaires pour les actions suivantes : 

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "secretsmanager:DescribeSecret",
              "secretsmanager:GetSecretValue",
              "secretsmanager:PutSecretValue",
              "ec2:CreateNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1.  Sélectionnez celui `secretName` que vous souhaitez utiliser pour cette connexion AWS Glue afin d'y placer les jetons. 

   1.  Sélectionnez **Options réseau** si vous souhaitez utiliser votre réseau. 

1.  Accordez au rôle IAM associé à votre AWS Glue travail l'autorisation de lire`secretName`. 

# Lecture à partir d’entités Mixpanel
<a name="mixpanel-reading-from-entities"></a>

 **Conditions préalables** 

Vous devez disposer d’un objet Mixpanel, tel que `Funnels`, `Retention` ou `Retention Funnels`, à partir duquel vous souhaitez lire des données. En outre, vous devez connaître le nom de l’objet.

 **Entités prises en charge** 


| Entité | Peut être filtré | Limit prise en charge | Order by prise en charge | Select prise en charge\$1 | Partitionnement pris en charge | 
| --- | --- | --- | --- | --- | --- | 
| Funnels | Oui | Non | Non | Oui | Non | 
| Retention | Oui | Non | Non | Oui | Non | 
| Segmentation | Oui | Non | Non | Oui | Non | 
| Segmentation Sum | Oui | Non | Non | Oui | Non | 
| Segmentation Average | Oui | Non | Non | Oui | Non | 
| Cohorts | Oui | Non | Non | Oui | Non | 
| Engage | Non | Oui | Non | Oui | Non | 
| Événements | Oui | Non | Non | Oui | Non | 
| Events Top | Oui | Non | Non | Oui | Non | 
| Events Names | Oui | Non | Non | Oui | Non | 
| Events Properties | Oui | Non | Non | Oui | Non | 
| Events Properties Top | Oui | Non | Non | Oui | Non | 
| Events Properties Values | Oui | Non | Non | Oui | Non | 
| Annotations | Oui | Non | Non | Oui | Non | 
| Profile Event Activity | Oui | Non | Non | Oui | Non | 

 **Exemple** 

```
mixpanel_read = glueContext.create_dynamic_frame.from_options(
    connection_type="mixpanel",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "/cohorts/list?project_id=2603353",
        "API_VERSION": "2.0",
        "INSTANCE_URL": "https://www.mixpanel.com/api/app/me"
    }
```

 **Détails des entités et des champs Mixpanel** 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/mixpanel-reading-from-entities.html)

# Options de connexion Mixpanel
<a name="mixpanel-connection-options"></a>

Les options de connexion pour Mixpanel sont les suivantes :
+  `ENTITY_NAME` (Chaîne) - (Obligatoire) Utilisé pour la lecture/l’écriture. Le nom de votre objet dans Mixpanel. 
+  `API_VERSION` (Chaîne) - (Obligatoire) Utilisé pour la lecture/l’écriture. Version d’API Rest Mixpanel que vous souhaitez utiliser. Par exemple : v2.0. 
+  `SELECTED_FIELDS`(Liste<Chaîne>) - Par défaut : vide (SELECT \$1). Utilisé pour la lecture. Colonnes que vous souhaitez sélectionner pour l’objet. 
+  `FILTER_PREDICATE`(Chaîne) - Par défaut : vide. Utilisé pour la lecture. Doit être au format SQL Spark. 
+  `QUERY`(Chaîne) - Par défaut : vide. Utilisé pour la lecture. Requête Spark SQL complète. 

# Création d’un compte Mixpanel et configuration de l’application client
<a name="mixpanel-create-account"></a>

**Création d’un compte Mixpanel**

1. Accédez à la [page d’accueil de Mixpanel](https://mixpanel.com/). 

1. Sur la page d’accueil de **Mixpanel**, choisissez **S’inscrire** dans le coin supérieur droit de la page. 

1. Sur la page **Démarrer**, effectuez les actions suivantes : 
   + Dans la zone prévue à cet effet, saisissez votre adresse e-mail.
   + Cochez la case requise pour accepter les conditions.
   + Choisissez **Démarrer** pour continuer.

     Une fois l’opération terminée, vous recevrez un e-mail de vérification. 

1. Vérifiez la présence d’un message de vérification dans votre boîte de réception, ouvrez l’e-mail et suivez les instructions pour vérifier votre adresse e-mail. 

1. Sur la page de vérification, choisissez **Vérifier l’adresse e-mail** pour terminer la vérification de votre adresse e-mail. 

1. Sur la page **Nommer votre organisation**, saisissez le nom de votre organisation et choisissez **Suivant**. 

1. Sur la page **Votre premier projet**, entrez les détails de votre projet et choisissez **Créer**.

1. Sur la page suivante, choisissez **Démarrer** pour terminer la création de votre compte. 

**Connexion à un compte Mixpanel**

1. Accédez à la [page de connexion de Mixpanel](https://mixpanel.com/login/). 

1. Entrez votre adresse e-mail, puis choisissez **Continuer**. 

1. Vérifiez la présence d’un message de vérification dans votre boîte de réception, ouvrez l’e-mail et suivez les instructions pour vérifier votre adresse e-mail. 

1. Sur la page suivante, cliquez sur le bouton **Se connecter** pour vous connecter à votre compte. 

**Achat d’une offre Mixpanel**

1. Sur la page Mixpanel, sélectionnez l’icône **Paramètres** dans l’angle supérieur droit.

1. Dans la liste des options, sélectionnez **Détails de l’offre et facturation**. 

1. Sur la page **Détails de l’offre et facturation**, sélectionnez **Mettre à niveau ou Modifier**.

1. Sur la page suivante, sélectionnez l’offre que vous souhaitez acheter.

   Ceci termine le processus de création de compte et d’achat de l’offre.

**Création d’un nom d’utilisateur et d’un secret client (pour enregistrer votre application)**

1. Sur la page Mixpanel, sélectionnez l’icône **Paramètres** dans le coin supérieur droit. 

1. Dans la liste des options, sélectionnez **Paramètres du projet**. 

1. Sur la page **Paramètres du projet**, sélectionnez **Comptes de service**, puis **Ajouter un compte de service**.

1. Dans la liste déroulante **Comptes de service**, sélectionnez le **compte de service ou entrez le nom à créer**, ajoutez le **rôle du projet**, spécifiez les **dates d’expiration** et sélectionnez **Ajouter**. 
**Important**  
Une fois l’étape précédente terminée, la page suivante affiche la clé secrète du compte de service. Assurez-vous de sauvegarder la clé secrète du compte de service. Passé ce point, vous ne pourrez pas y accéder à nouveau.

# Limitations
<a name="mixpanel-connector-limitations"></a>

Les restrictions du connecteur Mixpanel sont les suivantes :
+ Pour l’entité `Segmentation Numeric`, l’API Mixpanel génère une erreur `400 (Bad Request)` si aucune donnée numérique n’est trouvée pour les filtres obligatoires. Nous traitons cela comme une réponse `OK` visant à prévenir les pannes de débit.
+ Le champ interrogeable `limit` a été supprimé des entités prises en charge pour les raisons suivantes :
  + Il provoquait des erreurs, car il était interprété comme la fonctionnalité de limite du kit SDK.
  + Le filtre n’avait aucune utilité pratique.
  + Une fonctionnalité équivalente est désormais couverte par l’implémentation de la fonctionnalité de limite.
+ Le partitionnement basé sur les champs ne peut pas être pris en charge en raison de l’absence d’opérateurs requis (`>=`, `<=`, `<`, `>`, `between`) pour le partitionnement depuis la plateforme SaaS. Bien qu’il prenne en charge l’opérateur `between`, les champs pour lesquels il prend en charge cet opérateur ne sont pas récupérables. Par conséquent, les critères de partitionnement basé sur les champs ne sont pas satisfaits.
+  Comme il n’existe aucune disposition permettant d’obtenir une valeur de « décalage » pour les entités prenant en charge la pagination, il n’est pas possible de prendre en charge le partitionnement basé sur les enregistrements pour Mixpanel.
+ L’entité `Cohorts` ne prend en charge que le champ `CreatedDate/Time` et il n’y a aucun champ pour identifier `UpdatedDate/Time`. Par conséquent, `DML_Status` ne peut pas être identifié. De plus, il n’existe aucun point de terminaison pour identifier les enregistrements supprimés. Par conséquent, la pris en charge de CDC n’est pas possible.
+  Pour exécuter une AWS Glue tâche pour les entités mentionnées ci-dessous, des filtres obligatoires sont requis. Reportez-vous au tableau ci-dessous pour obtenir les noms d’entités et leurs filtres requis.  
**Nom de l’entité et filtres requis**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/mixpanel-connector-limitations.html)