> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connexion du SDK Kusto C# à Insights

> Utilisez le SDK Kusto C# avec l'authentification Microsoft Entra ID pour interroger les données de jeu de l'ancien PlayFab Insights à partir d'Azure Functions ou d'applications .NET personnalisées.

# Tutoriel : Connexion du SDK Kusto C# à Insights

Ce guide vous aide à commencer à utiliser le SDK Kusto C# avec Insights. Une fois la connexion établie, vous pouvez interroger Insights à partir de fonctions Azure. Pour en savoir plus sur les autres outils que vous pouvez connecter à Insights, consultez [Connexion d'outils externes à Insights](/fr-CA/services/playfab/data-analytics/legacy/connectivity).

<Note>
  PlayFab Insights Management a été mis hors service le 31/03/2026. Nous vous recommandons d'utiliser les [connexions Azure Data Explorer (ADX)](/fr-CA/services/playfab/data-analytics/export-data/data-connection-adx) pour gérer votre rendement et vos coûts à l'avenir. Si votre titre utilise encore **Insights**, continuez à consulter cet article pour les détails de mise en œuvre. Pour plus d'informations, consultez [PlayFab Digest: March feature updates](https://developer.microsoft.com/en-us/games/articles/2026/04/playfab-digest-march-feature-updates/).
</Note>

## Prérequis

### Compte PlayFab authentifié avec AAD

Vous avez besoin d'un compte ou d'un utilisateur PlayFab dont le fournisseur d'authentification est défini sur Microsoft. Le fournisseur d'authentification Microsoft utilise Azure Active Directory (AAD) pour l'authentification, ce qui est requis pour utiliser les services Azure. Consultez [Authentification Azure Active Directory pour Game Manager](/fr-CA/services/playfab/identity/dev-identity/authentication/aad-authentication) pour obtenir des instructions sur la création d'un compte ou d'un utilisateur authentifié par AAD.

Pour vérifier que le compte, ou l'utilisateur, est configuré pour utiliser le fournisseur d'authentification Microsoft :

* Visitez [developer.playfab.com](https://developer.playfab.com).
* Sélectionnez **Sign in with Microsoft** pour accéder à votre compte PlayFab.

Si vous pouvez vous connecter, le compte est configuré pour utiliser le fournisseur d'authentification Microsoft.

### Autorisations Game Manager pour Insights

Vous devez attribuer à votre compte un [rôle d'utilisateur](/fr-CA/services/playfab/identity/dev-identity/permissions/playfab-user-roles) avec les autorisations Game Manager suivantes activées :

* Statut d'administrateur.
* Accès à l'onglet Explorer et aux données associées.
* Accès en lecture et en écriture aux données d'analytique.

Vous pouvez soit créer un nouveau rôle d'utilisateur, soit ajouter ces autorisations à un rôle existant.

### Autres prérequis

* [Créer une application Azure Active Directory (AAD) et la connecter à la base de données de votre titre](/fr-CA/services/playfab/data-analytics/legacy/connectivity/creating-AAD-app-for-insights)

## Installer les paquets

1. Installez les paquets NuGet suivants :
   * Obligatoire : [Microsoft.Azure.Kusto.Data](https://www.nuget.org/packages/Microsoft.Azure.Kusto.Data/)
   * Facultatif : [Microsoft.Azure.Kusto.Ingest](https://www.nuget.org/packages/Microsoft.Azure.Kusto.Ingest/)
   * Pour d'autres paquets facultatifs, consultez la [documentation du SDK Kusto .NET](https://learn.microsoft.com/en-us/azure/data-explorer/kusto/api/netfx/about-the-sdk)
2. Voici un exemple de code pour commencer.

```csharp theme={null}
namespace HelloPlayFabInsights
{
    using System;
    using Kusto.Data;
    using Kusto.Data.Common;
    using Kusto.Data.Net.Client;

    class Program
    {
        const string Cluster = "https://insights.playfab.com";
        const string Database = "<title id>";
        const string AzureAuthority = "microsoft.onmicrosoft.com";
        const string ClientId = "<app id>";
        const string ClientSecret = "<app secret>";

        static void Main()
        {
            var kcsb = new KustoConnectionStringBuilder(Cluster, Database).WithAadApplicationKeyAuthentication(ClientId, ClientSecret, AzureAuthority);

            Console.WriteLine("Run Query...");
            RunQuery(kcsb);

            Console.WriteLine("Run Command...");
            RunCommand(kcsb);
            
        }
    
        /// <summary>
        /// Run a query on your Insights database, and write the results to the console.
        /// </summary>
        /// <param name="kcsb"></param>
        static void RunQuery(KustoConnectionStringBuilder kcsb)
        {
            using (var queryProvider = KustoClientFactory.CreateCslQueryProvider(kcsb))
            {
                var query = "['events.all'] | limit 10";

                var clientRequestProperties = new ClientRequestProperties() {
                    Application = "DotNetSDK",
                    ClientRequestId = Guid.NewGuid().ToString() 
                };
                using (var reader = queryProvider.ExecuteQuery(query, clientRequestProperties))
                { 
                    while (reader.Read())
                    {
                        string name = reader.GetString(2);
                        string titleId = reader.GetString(5);
                        DateTime timestamp = reader.GetDateTime(8);
                        Console.WriteLine("{0}\t{1}\t{2}", name, titleId, timestamp);
                    }
                }
            }
        }

        /// <summary>
        /// Run the ".show tables" command on your Insights database, and write the results to the console.
        /// </summary>
        /// <param name="kcsb"></param>
        static void RunCommand(KustoConnectionStringBuilder kcsb)
        {
            using (var commandProvider = KustoClientFactory.CreateCslAdminProvider(kcsb))
            {
                var command = ".show tables";

                var clientRequestProperties = new ClientRequestProperties()
                {
                    Application = "DotNetSDK",
                    ClientRequestId = Guid.NewGuid().ToString()
                };
                using (var reader = commandProvider.ExecuteControlCommand(command, clientRequestProperties))
                {
                    while (reader.Read())
                    {
                        string tableName = reader.GetString(0);
                        string databaseName = reader.GetString(1);
                        Console.WriteLine("{0}\t{1}", tableName, databaseName);
                    }
                }
            }
        }
    }
}
```

## Ressources supplémentaires

* [Exemples Azure Kusto .NET](https://github.com/Azure/azure-kusto-samples-dotnet)
* [Documentation de la bibliothèque cliente Kusto](https://learn.microsoft.com/en-us/azure/data-explorer/kusto/api/netfx/about-kusto-data)


## Related topics

- [Connexion d'outils externes à Insights](/fr-CA/services/playfab/data-analytics/legacy/connectivity/index.md)
- [Connexion de Kusto Explorer à Insights](/fr-CA/services/playfab/data-analytics/legacy/connectivity/connecting-kusto-explorer-to-insights.md)
- [Connexion de Python à Insights](/fr-CA/services/playfab/data-analytics/legacy/connectivity/connecting-python-to-insights.md)
- [Connexion de Grafana à Insights](/fr-CA/services/playfab/data-analytics/legacy/connectivity/connecting-grafana-to-insights.md)
- [Connexion d'Azure Data Explorer à Insights](/fr-CA/services/playfab/data-analytics/legacy/connectivity/connecting-azure-data-explorer-to-insights.md)
