

# Conectar ao Google Search Console
<a name="connecting-to-data-google-search-console"></a>

O Google Search Console é uma plataforma gratuita disponível para proprietários de sites para monitorar a forma como o Google vê o site e para otimizar sua presença orgânica. Isso inclui a visualização de domínios de referência, performance do site móvel, resultados de pesquisa avançados e as consultas e páginas com maior tráfego. Se você for usuário do Google Search Console, poderá conectar o AWS Glue à sua conta do Google Search Console. É possível usar o Google Search Console como fonte de dados em suas tarefas de ETL. Execute essas tarefas para transferir dados do Google Search Console para serviços da AWS ou outras aplicações com suporte.

**Topics**
+ [Suporte do AWS Glue para o Google Search Console](google-search-console-support.md)
+ [Políticas que contêm as operações de API para criar e usar conexões](google-search-console-configuring-iam-permissions.md)
+ [Configuração do Google Search Console](google-search-console-configuring.md)
+ [Configuração de conexões do Google Search Console](google-search-console-configuring-connections.md)
+ [Leitura de entidades do Google Search Console](google-search-console-reading-from-entities.md)
+ [Opções de conexão do Google Search Console](google-search-console-connection-options.md)
+ [Limitações do Google Search Console](google-search-console-limitations.md)

# Suporte do AWS Glue para o Google Search Console
<a name="google-search-console-support"></a>

O AWS Glue oferece suporte ao Google Search Console da seguinte forma:

**Compatível como fonte?**  
Sim. É possível usar trabalhos de ETL do AWS Glue para consultar seus dados do Google Search Console.

**Compatível como destino?**  
Nº

**Versões da API do Google Search Console com suporte**  
Versões da API do Google Search Console com suporte:
+ v3

# Políticas que contêm as operações de API para criar e usar conexões
<a name="google-search-console-configuring-iam-permissions"></a>

O exemplo de política a seguir descreve as permissões necessárias do AWS IAM para criar e usar conexões. Se você estiver criando um novo perfil, crie uma política que contenha o seguinte:

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

****  

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

------

Se você não quiser usar o método acima, como alternativa use as seguintes políticas do IAM gerenciadas:
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole) – Concede acesso a recursos que vários processos do AWS Glue exigem para fazer a execução em seu nome. Esses recursos incluem o AWS Glue, Amazon S3, IAM, CloudWatch Logs e Amazon EC2. Se você seguir a convenção de nomenclatura para os recursos especificados nesta política, os processos do AWS Glue terão as permissões necessárias. Esta política geralmente é anexada a funções especificadas durante a definição de crawlers, trabalhos e endpoints de desenvolvimento.
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess): concede acesso total aos recursos do AWS Glue quando uma identidade à qual a política está anexada usa o Console de Gerenciamento da AWS. Se você seguir a convenção de nomenclatura para os recursos especificados nesta política, os usuários poderão acessar todos os recursos do console. Esta política geralmente é anexada aos usuários do console do AWS Glue.

# Configuração do Google Search Console
<a name="google-search-console-configuring"></a>

Antes de poder usar o AWS Glue para transferir dados do Google Search Console, os seguintes requisitos deverão ser atendidos:

## Requisitos mínimos
<a name="google-search-console-configuring-min-requirements"></a>

Estes são os requisitos mínimos:
+ Você tem uma conta do Google Search Console.
+ Você tem uma conta de do Google Cloud Platform e um projeto do Google Cloud.
+ No seu projeto do Google Cloud, você ativou a API do Google Search Console.
+ No seu projeto do Google Cloud, você configurou uma tela de consentimento de OAuth para usuários externos. Para obter mais informações, consulte [Configuração da sua tela de consentimento do OAuth](https://support.google.com/cloud/answer/10311615) na Ajuda do console da Google Cloud Platform.
+ No seu projeto do Google Cloud, você configurou um ID de cliente OAuth 2.0. Consulte [Configuração do OAuth 2.0](https://support.google.com/cloud/answer/6158849) para ver as credenciais do cliente que o AWS Glue usa para acessar seus dados com segurança ao fazer chamadas autenticadas para sua conta.

Se você atender a esses requisitos, poderá conectar o AWS Glue à conta do Google Search Console. Para conexões típicas, você não precisa fazer mais nada no Google Search Console.

# Configuração de conexões do Google Search Console
<a name="google-search-console-configuring-connections"></a>

O Google Search Console oferece suporte ao tipo de concessão AUTHORIZATION\$1CODE para OAuth2. O tipo de concessão determina como o AWS Glue se comunica com o Google Search Console para solicitar acesso aos seus dados.
+ Esse tipo de concessão é considerado um OAuth de “três pernas”, pois conta com o redirecionamento dos usuários para um servidor de autorização de terceiros para autenticar o usuário. É usado ao criar conexões por meio do console do AWS Glue.
+ Os usuários ainda podem optar por criar sua própria aplicação conectada no Google Search Console e fornecer seus próprios ID e segredo do cliente ao criar conexões por meio do console do AWS Glue. Nesse cenário, eles ainda serão redirecionados para o Google Search Console para fazer login e autorizar o acesso do AWS Glue aos recursos.
+ Esse tipo de concessão resulta em um token de atualização e um token de acesso. O token de acesso tem vida curta e pode ser atualizado automaticamente sem a interação do usuário usando o token de atualização.
+ Para obter a documentação pública do Google Search Console sobre a criação de uma aplicação conectada para o fluxo de código de autorização do OAuth, consulte [Uso do OAuth 2.0 para acessar APIs do Google](https://developers.google.com/identity/protocols/oauth2).

Para configurar uma conexão com o Google Search Console:

1. No AWS Secrets Manager, crie um segredo com os seguintes detalhes:

   1. Para a aplicação conectada gerenciada pelo cliente, o segredo deve conter a aplicação conectada Segredo do consumidor com a chave `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`.

   1. Observação: é necessário criar um segredo para a sua conexão no AWS Glue.

1. No AWS Glue Glue Studio, crie uma conexão em **Conexões de dados** seguindo estas etapas:

   1. Ao selecionar um **Tipo de conexão**, escolha Google Search Console.

   1. Selecione o perfil do AWS IAM que o AWS Glue pode assumir e tem permissões para as seguintes ações:

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

****  

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

------

   1. Selecione o `secretName` que você deseja usar para essa conexão no AWS Glue para colocar os tokens.

   1. Selecione as opções de rede se quiser usar sua rede.

1. Conceda permissão ao perfil do IAM associado ao seu trabalho do AWS Glue para ler `secretName`.

# Leitura de entidades do Google Search Console
<a name="google-search-console-reading-from-entities"></a>

**Pré-requisito**

Um objeto do Google Search Console do qual você deseja ler. Você precisará do nome do objeto.

**Entidades compatíveis quanto à origem**:


| Entidade | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar \$1 | Oferece suporte a particionamento | 
| --- | --- | --- | --- | --- | --- | 
| Análise de pesquisas | Sim | Sim | Não | Sim | Não | 
| Sites | Não | Não | Não | Sim | Não | 
| Mapas de sites | Não | Não | Não | Sim | Não | 

**Exemplo:**

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

**Detalhes de entidade e campo do Google Search Console**:

O Google Search Console fornece endpoints para a busca de metadados de forma dinâmica para entidades com suporte. Portanto, o suporte do operador é capturado no nível do tipo de dados.

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

**nota**  
Para ver uma lista atualizada de valores válidos para filtros, consulte os documentos da API do [Google Search Console](https://developers.google.com/webmaster-tools/v1/searchanalytics/query).  
O campo `start_end_date` é uma combinação de `start_date` e `end_date`.

## Particionamento de consultas
<a name="google-search-console-reading-partitioning-queries"></a>

Não há suporte para o particionamento baseado em filtros e o particionamento baseado em registros.

# Opções de conexão do Google Search Console
<a name="google-search-console-connection-options"></a>

Estas são as opções de conexão do Google Search Console:
+ `ENTITY_NAME`(string): (obrigatório) usado para leitura. O nome do seu objeto no Google Search Console.
+ `API_VERSION`(string): (obrigatório) usado para leitura. Versão da API Rest do Google Search Console que você deseja usar.
+ `SELECTED_FIELDS`(Lista<String>): padrão: vazio(SELECIONE \$1). Usado para leitura. Colunas que deseja selecionar para o objeto.
+ `FILTER_PREDICATE`(string): padrão: "start\$1end\$1date between <30 dias antes da data atual> AND <ontem: ou seja, 1 dia antes da data atual>". Usado para leitura. Deve estar no formato Spark SQL.
+ `QUERY`(string): padrão: "start\$1end\$1date between <30 dias antes da data atual> AND <ontem: ou seja, 1 dia antes da data atual>". Usado para Leitura. Consulta completa do Spark SQL.
+ `INSTANCE_URL`(string): usado para leitura. Um URL de instância válida do Google Search Console.

# Limitações do Google Search Console
<a name="google-search-console-limitations"></a>

A seguir estão as limitações ou notas do Google Search Console:
+ O Google Search Console impõe limites de uso na API. Para obter mais informações, consulte [Limites de uso](https://developers.google.com/webmaster-tools/limits).
+ Quando nenhum filtro é passado para a entidade `Search Analytics`, a API soma todos os cliques, impressões, CTR e outros dados de todo o site dentro do intervalo de datas padrão especificado e os apresenta como um único registro.
+ Para dividir os dados em segmentos menores, você precisa introduzir dimensões em sua consulta. As dimensões informam à API como você deseja segmentar seus dados.
  + Por exemplo, se você adicionar `filterPredicate: dimensions="country"`, obterá um registro para cada país em que seu site recebeu tráfego durante o período especificado.
  + Exemplo de passagem de várias dimensões: `filterPredicate: dimensions="country" AND dimensions="device" AND dimensions="page"`. Nesse caso, você receberá uma linha na resposta para cada combinação exclusiva dessas três dimensões.
+ Os valores padrão são definidos para os campos `start_end_date` e `dataState`.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/google-search-console-limitations.html)