

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 à Google Search Console
<a name="connecting-to-data-google-search-console"></a>

Google Search Console est une plateforme gratuite mise à la disposition des propriétaires de sites Web pour surveiller la façon dont Google voit le site et pour optimiser sa présence organique. Cela inclut l’affichage des domaines de référence, des performances des sites mobiles, des résultats de recherche enrichis et des requêtes et pages les plus fréquentées. Si vous utilisez la console de recherche Google, vous pouvez vous connecter AWS Glue à votre compte Google Search Console. Vous pouvez utiliser Google Search Console comme source de données dans vos tâches ETL. Exécutez ces tâches pour transférer des données de la console de recherche Google vers AWS des services ou d'autres applications compatibles.

**Topics**
+ [AWS Glue support pour Google Search Console](google-search-console-support.md)
+ [Politiques contenant les opérations API pour la création et l’utilisation des connexions](google-search-console-configuring-iam-permissions.md)
+ [Configuration de Google Search Console](google-search-console-configuring.md)
+ [Configuration des connexions Google Search Console](google-search-console-configuring-connections.md)
+ [Lecture à partir des entités Google Search Console](google-search-console-reading-from-entities.md)
+ [Options de connexion Google Search Console](google-search-console-connection-options.md)
+ [Restrictions de Google Search Console](google-search-console-limitations.md)

# AWS Glue support pour Google Search Console
<a name="google-search-console-support"></a>

AWS Glue prend en charge la console de recherche Google comme suit :

**Prise en charge en tant que source ?**  
Oui. Vous pouvez utiliser des tâches AWS Glue ETL pour interroger des données à partir de la console de recherche Google.

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

**Versions de l’API Google Search Console prises en charge**  
Les versions de l’API Google Search Console prises en charge sont les suivantes :
+ v3

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

L'exemple de politique suivant décrit les autorisations AWS IAM 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 Google Search Console
<a name="google-search-console-configuring"></a>

Avant de pouvoir AWS Glue transférer des données depuis la console de recherche Google, vous devez satisfaire aux exigences suivantes :

## Configuration requise
<a name="google-search-console-configuring-min-requirements"></a>

Les exigences minimales sont les suivantes :
+ Vous disposez d’un compte Google Search Console.
+ Vous disposez d’un compte Google Cloud Platform et d’un projet Google Cloud.
+ Dans votre projet Google Cloud, vous avez activé l’API Google Search Console.
+ Dans votre projet Google Cloud, vous avez configuré un écran de OAuth consentement pour les utilisateurs externes. Pour plus d'informations, consultez la section [Configuration de votre écran de OAuth consentement](https://support.google.com/cloud/answer/10311615) dans l'aide de la console Google Cloud Platform.
+ Dans votre projet Google Cloud, vous avez configuré un identifiant client OAuth 2.0. Consultez la section [Configuration OAuth 2.0](https://support.google.com/cloud/answer/6158849) pour connaître les informations d'identification du client AWS Glue qui permettent d'accéder à vos données en toute sécurité lorsqu'il effectue des appels authentifiés vers votre compte.

Si vous répondez à ces exigences, vous êtes prêt à vous connecter AWS Glue à votre compte Google Search Console. Pour les connexions classiques, vous n’avez rien d’autre à faire dans Google Search Console.

# Configuration des connexions Google Search Console
<a name="google-search-console-configuring-connections"></a>

La console de recherche Google prend en charge le type de subvention AUTHORIZATION\$1CODE pour. OAuth2 Le type de subvention détermine le mode AWS Glue de communication avec la console de recherche Google pour demander l'accès à vos données.
+ Ce type de subvention est considéré comme « à trois étapes » OAuth car il repose sur la redirection des utilisateurs vers un serveur d'autorisation tiers pour authentifier l'utilisateur. Il est utilisé lors de la création de connexions via la AWS Glue console.
+ Les utilisateurs peuvent toujours choisir de créer leur propre application connectée dans la console de recherche Google et de fournir leur propre identifiant client et leur secret client lors de la création de connexions via la AWS Glue console. Dans ce scénario, ils seront toujours redirigés vers la console de recherche Google pour se connecter et autoriser AWS Glue l'accès à leurs ressources.
+ Ce type d’autorisation donne lieu à un jeton d’actualisation et à un jeton d’accès. Le jeton d’accès est de courte durée et peut être actualisé automatiquement sans interaction de l’utilisateur à l’aide du jeton d’actualisation.
+ Pour consulter la documentation publique de la console de recherche Google sur la création d'une application connectée pour le OAuth flux de code d'autorisation, voir [Utilisation de la OAuth version 2.0 pour accéder à Google APIs](https://developers.google.com/identity/protocols/oauth2).

Pour configurer une connexion Google Search Console :

1. Dans AWS Secrets Manager, créez un secret avec les informations suivantes :

   1. Pour l’application connectée gérée par le client, le secret doit contenir le secret du consommateur de l’application connectée avec `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` comme clé.

   1. Remarque : vous devez créer un secret pour vos connexions dans AWS Glue.

1. Dans AWS Glue Glue Studio, créez une connexion sous **Data Connections** en suivant les étapes ci-dessous :

   1. Lorsque vous sélectionnez un **Type de connexion**, sélectionnez Google Search Console.

   1. Sélectionnez le rôle AWS IAM qui AWS Glue peut assumer et 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 les 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 des entités Google Search Console
<a name="google-search-console-reading-from-entities"></a>

**Prérequis**

Un objet Google Search Console à partir duquel vous souhaitez lire. Vous aurez besoin du nom de l’objet.

**Entités prises en charge pour la source** :


| Entité | Peut être filtré | Limit prise en charge | Order by prise en charge | Select prise en charge\$1 | Partitionnement pris en charge | 
| --- | --- | --- | --- | --- | --- | 
| Search Analytics | Oui | Oui | Non | Oui | Non | 
| Sites | Non | Non | Non | Oui | Non | 
| Sitemaps | Non | Non | Non | Oui | Non | 

**Exemple :**

```
googleSearchConsole_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googlesearchconsole",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v3"
    }
```

**Détails des entités et des champs Google Search Console** :

Google Search Console fournit des points de terminaison permettant de récupérer les métadonnées de manière dynamique pour les entités prises en charge. Par conséquent, la prise en charge des opérateurs est capturée au niveau du type de données.

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

**Note**  
Pour obtenir une liste actualisée des valeurs valides pour les filtres, consultez la documentation relative à l’API [Google Search Console](https://developers.google.com/webmaster-tools/v1/searchanalytics/query).  
Le champ `start_end_date` est une combinaison de `start_date` et de `end_date`.

## Requêtes de partitionnement
<a name="google-search-console-reading-partitioning-queries"></a>

Le partitionnement basé sur les filtres et le partitionnement basé sur les enregistrements ne sont pas pris en charge.

# Options de connexion Google Search Console
<a name="google-search-console-connection-options"></a>

Les options de connexion pour Google Search Console sont les suivantes :
+ `ENTITY_NAME`(Chaîne) - (Obligatoire) Utilisé pour la lecture. Le nom de votre objet dans Google Search Console.
+ `API_VERSION`(Chaîne) - (Obligatoire) Utilisé pour la lecture. Version d’API Rest Google Search Console que vous souhaitez utiliser.
+ `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 : "start\$1end\$1date between <30 days ago from current date> AND <yesterday: that is, 1 day ago from the current date>". Utilisé pour la lecture. Doit être au format SQL Spark.
+ `QUERY`(Chaîne) - Par défaut : "start\$1end\$1date between <30 days ago from current date> AND <yesterday: that is, 1 day ago from the current date>" Utilisé pour la lecture. Requête Spark SQL complète.
+ `INSTANCE_URL`(Chaîne) - Utilisé pour la lecture. URL d’instance Google Search Console valide.

# Restrictions de Google Search Console
<a name="google-search-console-limitations"></a>

Voici les restrictions ou les remarques relatives à Google Search Console :
+ Google Search Console impose des limites d’utilisation à l’API. Pour plus d’informations, consultez [Limites d’utilisation](https://developers.google.com/webmaster-tools/limits).
+ Lorsqu’aucun filtre n’est appliqué à l’entité `Search Analytics`, l’API résume tous les clics, impressions, CTR et autres données pour l’ensemble de votre site dans la plage de dates par défaut spécifiée et les présente sous forme d’enregistrement unique.
+ Pour décomposer les données en segments plus petits, vous devez ajouter des dimensions à votre requête. Les dimensions indiquent à l’API comment vous souhaitez segmenter vos données.
  + Par exemple, si vous ajoutez `filterPredicate: dimensions="country"`, vous obtiendrez un enregistrement pour chaque pays dans lequel votre site a reçu du trafic au cours de la période spécifiée.
  + Exemple pour transmettre plusieurs dimensions : `filterPredicate: dimensions="country" AND dimensions="device" AND dimensions="page"`. Dans ce cas, vous obtiendrez une ligne dans la réponse pour chaque combinaison unique de ces trois dimensions.
+ Les valeurs par défaut sont définies pour les champs `start_end_date` et `dataState`.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/google-search-console-limitations.html)