

# Leitura de entidades do Facebook Ads
<a name="facebook-ads-reading-from-entities"></a>

**Pré-requisito**

Um objeto do Facebook Ads do qual você deseja ler. Você precisará do nome do objeto. As tabelas a seguir mostram as entidades compatíveis.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Campaign | Sim | Sim | Não | Sim | Sim | 
| Conjunto de anúncios | Sim | Sim | Não | Sim | Sim | 
| Ads | Sim | Sim | Não | Sim | Sim | 
| Anúncio criativo | Não | Sim | Não | Sim | Não | 
| Insights: conta | Não | Sim | Não | Sim | Não | 
| Adaccounts | Sim | Sim | Não | Sim | Não | 
| Insights: anúncio | Sim | Sim | Não | Sim | Sim | 
| Insights: AdSet | Sim | Sim | Não | Sim | Sim | 
| Insights: campanha | Sim | Sim | Não | Sim | Sim | 

**Exemplo:**

```
FacebookAds_read = glueContext.create_dynamic_frame.from_options(
    connection_type="FacebookAds",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v20.0"
    }
```

## Detalhes das entidades e dos campos do Facebook Ads
<a name="facebook-ads-reading-entity-and-field-details"></a>

Para obter mais informações sobre os detalhes das entidades e dos campos, consulte:
+ [Conta de anúncios](https://developers.facebook.com/docs/marketing-api/reference/ad-account)
+ [Campanha](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)
+ [Conjunto de anúncios](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign)
+ [Ad](https://developers.facebook.com/docs/marketing-api/reference/adgroup)
+ [Anúncio criativo](https://developers.facebook.com/docs/marketing-api/reference/ad-creative)
+ [Conta de anúncios de insight](https://developers.facebook.com/docs/marketing-api/reference/ad-account/insights)
+ [Anúncios de insights](https://developers.facebook.com/docs/marketing-api/reference/adgroup/insights/)
+ [Conjuntos de anúncios de insights](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign/insights)
+ [Campanhas de insights](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group/insights)

Para obter mais informações, consulte [API de marketing](https://developers.facebook.com/docs/marketing-api/reference/v21.0).

**nota**  
Os tipos de dados Struct e List são convertidos no tipo de dados String na resposta dos conectores.

## Consultas de particionamento
<a name="facebook-ads-reading-partitioning-queries"></a>

É possível fornecer as opções adicionais do Spark `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND` e `NUM_PARTITIONS` se quiser utilizar a simultaneidade no Spark. Com esses parâmetros, a consulta original seria dividida em `NUM_PARTITIONS` subconsultas, que poderiam ser executadas pelas tarefas do Spark simultaneamente.
+ `PARTITION_FIELD`: o nome do campo a ser usado para particionar a consulta.
+ `LOWER_BOUND`: um valor limite inferior **inclusivo** do campo de partição escolhido.

  No campo Data e hora, aceitamos o formato de carimbo de data/hora do Spark usado em consultas SQL do Spark.

  Exemplo de valor válido:

  ```
  "2022-01-01"
  ```
+ `UPPER_BOUND`: um valor limite superior **exclusivo** do campo de partição escolhido.
+ `NUM_PARTITIONS`: o número de partições.

Exemplo:

```
FacebookADs_read = glueContext.create_dynamic_frame.from_options(
    connection_type="FacebookAds",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v20.0",
        "PARTITION_FIELD": "created_time"
        "LOWER_BOUND": "2022-01-01"
        "UPPER_BOUND": "2024-01-02"
        "NUM_PARTITIONS": "10"
    }
```