

# Conexión a Facebook Page Insights
<a name="connecting-to-data-facebook-page-insights"></a>

Facebook Pages permite a las empresas y otros grupos de interés crear páginas para la red social Facebook.com. Las empresas utilizan estas páginas para compartir horarios de atención al público, hacer anuncios e interactuar con los clientes en línea. Si es usuario de Facebook Page Insights, puede conectar AWS Glue a la cuenta de Facebook Page Insights. Puede utilizar Facebook Page Insights como origen de datos en los trabajos de extracción, tratamiento y carga (ETL). Ejecute estos trabajos para transferir datos entre Facebook Page Insights y los servicios de AWS u otras aplicaciones compatibles.

**Topics**
+ [Compatibilidad de AWS Glue con Facebook Page Insights](facebook-page-insights-support.md)
+ [Políticas que contienen las operaciones de la API para crear y usar conexiones](facebook-page-insights-configuring-iam-permissions.md)
+ [Configuración de las conexiones a Facebook Page Insights](facebook-page-insights-configuring.md)
+ [Configuración de las conexiones de Facebook Page Insights](facebook-page-insights-configuring-connections.md)
+ [Cómo leer de entidades de Facebook Page Insights](facebook-page-insights-reading-from-entities.md)
+ [Opciones de conexión a Facebook Page Insights](facebook-page-insights-connection-options.md)
+ [Limitaciones y notas del conector de Facebook Page Insights](facebook-page-insights-connector-limitations.md)

# Compatibilidad de AWS Glue con Facebook Page Insights
<a name="facebook-page-insights-support"></a>

AWS Glue es compatible con Facebook Page Insights de la siguiente manera:

**¿Es compatible como origen?**  
Sí. Puede utilizar los trabajos de ETL de AWS Glue para consultar datos de Facebook Page Insights.

**¿Es compatible como destino?**  
No.

**Versiones de la API de Facebook Page Insights compatibles**  
Las siguientes versiones de la API de Facebook Page Insights son compatibles:
+ v17
+ v18
+ v19
+ v20
+ v21

# Políticas que contienen las operaciones de la API para crear y usar conexiones
<a name="facebook-page-insights-configuring-iam-permissions"></a>

En el siguiente ejemplo de política se describen los permisos de AWS IAM necesarios para crear y utilizar conexiones. Si va a crear un nuevo rol, cree una política que contenga lo siguiente:

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

****  

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

------

Si no desea utilizar el método anterior, puede utilizar las siguientes políticas de IAM administradas:
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole): da acceso a recursos que precisan diversos procesos de AWS Glue para ejecutarse en su nombre. Entre estos recursos se incluyen AWS Glue, Amazon S3, IAM, CloudWatch Logs y Amazon EC2. Si aplica la convención de nomenclatura en los recursos especificados en esta política, los procesos de AWS Glue tienen los permisos necesarios. Normalmente, esta política se asocia a los roles que se especifican a la hora de definir rastreadores, trabajos y puntos de conexión de desarrollo.
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess): otorga acceso total a los recursos de AWS Glue cuando una identidad a la que está asociada la política utiliza la Consola de administración de AWS. Si sigue la convención de nomenclatura para los recursos especificados en esta política, los usuarios dispondrán de todas las funciones de la consola. Esta política se suele adjuntar a los usuarios de la consola AWS Glue.

# Configuración de las conexiones a Facebook Page Insights
<a name="facebook-page-insights-configuring"></a>

Antes de poder utilizar AWS Glue para transferir datos desde Facebook Page Insights, deberá cumplir estos requisitos:

## Requisitos mínimos
<a name="facebook-page-insights-configuring-min-requirements"></a>

Los requisitos mínimos son los siguientes:
+ Se accede a las cuentas estándar de Facebook directamente a través de Facebook.
+ Se necesita la autenticación del usuario para generar el token de acceso.
+ El conector de Facebook Page Insights implementa el flujo OAuth de token de acceso de usuario.
+ El conector utiliza OAuth2.0 para autenticar nuestras solicitudes de API a Facebook Page Insights. Esto forma parte de la arquitectura de autenticación multifactor (MFA), que es un superconjunto de la 2FA. Se trata de una autenticación basada en la web.
+ El usuario necesita conceder permisos para acceder a los puntos de conexión. Para acceder a los datos del usuario, la autorización del punto de conexión se administra mediante permisos y características.

# Configuración de las conexiones de Facebook Page Insights
<a name="facebook-page-insights-configuring-connections"></a>

Para configurar una conexión a Facebook Page Insights:

1. En AWS Glue Glue Studio, cree una conexión en **Conexiones de datos** según los pasos que se indican a continuación:

   1. Al seleccionar un **Tipo de conexión**, seleccione Facebook Page Insights.

   1. Seleccione el rol de AWS IAM que AWS Glue pueda asumir y que tenga permisos para las siguientes acciones:

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

****  

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

------

   1. Seleccione la URL del código de autorización.

   1. Seleccione el `secretName` que desee usar para esta conexión en AWS Glue para colocar los tokens.

   1. Seleccione las opciones de red si quiere usar su red.

1. Conceda el rol de IAM asociado a su permiso de trabajo de AWS Glue para leer `secretName`.

# Cómo leer de entidades de Facebook Page Insights
<a name="facebook-page-insights-reading-from-entities"></a>

**Requisito previo**

Un objeto de Facebook Page Insights desde el cual le gustaría leer. Necesitará el nombre del objeto.

**Entidades compatibles como origen:**


| Entidad | Se puede filtrar | Admite límite | Admite Ordenar por | Admite Seleccionar \$1 | Admite partición | 
| --- | --- | --- | --- | --- | --- | 
| Contenido de la página | Sí | No | Sí | Sí | Sí | 
| Clics de llamados a la acción (CTA) de la página | Sí | No | No | Sí | Sí | 
| Interacción con la página | Sí | No | No | Sí | Sí | 
| Impresiones de la página | Sí | No | No | Sí | Sí | 
| Publicaciones en la página | Sí | No | No | Sí | Sí | 
| Interacción con las publicaciones en la página | No | No | No | Sí | No | 
| Reacciones a las publicaciones en la página | No | No | No | Sí | No | 
| Reacciones a la página | Sí | No | No | Sí | Sí | 
| Historias | Sí | No | No | Sí | Sí | 
| Datos demográficos de los usuarios de la página | Sí | No | No | Sí | Sí | 
| Visualizaciones de videos de la página | Sí | No | No | Sí | Sí | 
| Vistas de la página | Sí | No | No | Sí | Sí | 
| Publicaciones de video de la página | Sí | No | No | Sí | Sí | 
| Páginas | No | Sí | No | Sí | No | 
| Fuentes | Sí | Sí | No | Sí | Sí | 

**Ejemplo:**

```
facebookPageInsights_read = glueContext.create_dynamic_frame. from options(
    connection_type="facebookpageinsights",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v21"
   }
```

**Detalles de campos de Facebook Page Insights**:

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

## Consultas de partición
<a name="facebook-page-insights-reading-partitioning-queries"></a>

**Partición basada en filtros**:

Puede proporcionar las opciones adicionales de Spark `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND` y `NUM_PARTITIONS` si quiere utilizar la simultaneidad en Spark. Con estos parámetros, la consulta original se dividiría en un número `NUM_PARTITIONS` de subconsultas que las tareas de Spark pueden ejecutar simultáneamente.
+ `PARTITION_FIELD`: el nombre del campo que se utilizará para particionar la consulta.
+ `LOWER_BOUND`: un valor de límite inferior **inclusivo** del campo de partición elegido.

  En el campo Datetime, aceptamos el formato de marca de tiempo de Spark que se utiliza en las consultas SQL de Spark.

  Ejemplos de valor válido:

  ```
  "2024-09-30T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: un valor límite superior **exclusivo** del campo de partición elegido.
+ `NUM_PARTITIONS`: el número de particiones.

Ejemplo:

```
facebookPageInsights_read = glueContext.create_dynamic_frame.from_options(
     connection_type="facebookpageinsights",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v21",
         "PARTITION_FIELD": "created_Time"
         "LOWER_BOUND": "2024-10-27T07:00:00+0000"
         "UPPER_BOUND": "2024-10-27T07:00:00+0000"
         "NUM_PARTITIONS": "10"
     }
```

# Opciones de conexión a Facebook Page Insights
<a name="facebook-page-insights-connection-options"></a>

Las siguientes son opciones de conexión para Facebook Page Insights:
+ `ENTITY_NAME`(cadena): (obligatorio) se usa para lectura. El nombre del objeto en Facebook Page Insights.
+ `API_VERSION`(cadena): (obligatorio) se usa para lectura. La versión de la API de Rest de Facebook Page Insights que desea utilizar.
+ `SELECTED_FIELDS`(lista<Cadena>): predeterminado: empty(SELECT \$1). Se usa para leer. Columnas que desee seleccionar para el objeto.
+ `FILTER_PREDICATE`(cadena): predeterminado: vacío. Se usa para leer. Debe estar en el formato de Spark SQL.
+ `QUERY`(cadena): predeterminado: vacío. Se usa para leer. Consulta completa de Spark SQL.
+ `PARTITION_FIELD`(cadena): se usa para leer. Campo que se utilizará para particionar la consulta.
+ `LOWER_BOUND`(cadena): se usa para leer. Un valor de límite inferior inclusivo del campo de partición elegido.
+ `UPPER_BOUND`(cadena): se usa para leer. Un valor límite superior exclusivo del campo de partición elegido.
+ `NUM_PARTITIONS`(entero): predeterminado: 1. Se usa para leer. Número de particiones para leer.
+ `INSTANCE_URL`(cadena): (obligatorio) se usa para lectura. Una URL de la instancia de Facebook Page Insights válida.

# Limitaciones y notas del conector de Facebook Page Insights
<a name="facebook-page-insights-connector-limitations"></a>

Las siguientes son limitaciones o notas para el conector de Facebook Page Insights:
+ La mayoría de las métricas se actualizan una vez cada 24 horas.
+ Solo están disponibles los datos de información de los dos últimos años.
+ Solo se pueden ver 90 días de información a la vez cuando se utilizan los parámetros `since` y `until`.