

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Connessione a Instagram Ads
<a name="connecting-to-data-instagram-ads"></a>

Instagram è una popolare app per la condivisione di foto che consente di entrare in contatto con brand, celebrità, leader di pensiero, amici, familiari e altro ancora. Si tratta di un servizio di condivisione di foto e social network. Gli utenti possono scattare foto o brevi video e condividerli con i propri follower. Gli annunci Instagram sono post pagati dalle aziende per raggiungere gli utenti di Instagram.

**Topics**
+ [AWS Glue supporto per Instagram Ads](instagram-ads-support.md)
+ [Policy contenenti le operazioni API per creare e utilizzare le connessioni](instagram-ads-configuring-iam-permissions.md)
+ [Configurazione di Instagram Ads](instagram-ads-configuring.md)
+ [Configurazione delle connessioni su Instagram Ads](instagram-ads-configuring-connections.md)
+ [Lettura dalle entità di Instagram Ads](instagram-ads-reading-from-entities.md)
+ [Opzioni di connessione su Instagram Ads](instagram-ads-connection-options.md)
+ [Limitazioni e note per il connettore di Instagram Ads](instagram-ads-connector-limitations.md)

# AWS Glue supporto per Instagram Ads
<a name="instagram-ads-support"></a>

AWS Glue supporta Instagram Ads come segue:

**Supportato come origine?**  
Sì. Puoi utilizzare i lavori AWS Glue ETL per interrogare i dati da Instagram Ads.

**Supportato come destinazione?**  
No.

**Versioni dell'API di Instagram Ads supportate**  
Sono supportate le seguenti versioni dell'API Instagram Ads:
+ v17.0
+ v18.0
+ v19.0
+ v20.0

# Policy contenenti le operazioni API per creare e utilizzare le connessioni
<a name="instagram-ads-configuring-iam-permissions"></a>

La seguente policy di esempio descrive le autorizzazioni AWS IAM richieste per la creazione e l'utilizzo delle connessioni. Se si sta creando un nuovo ruolo, creare una policy che contenga quanto segue:

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

****  

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

------

In alternativa, se non desideri utilizzare il metodo precedente, utilizza le seguenti policy IAM gestite:
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Garantisce l'accesso alle risorse che AWS Glue i vari processi richiedono per l'esecuzione per conto dell'utente. Queste risorse includono AWS Glue Amazon S3, IAM, CloudWatch Logs e Amazon. EC2 Se segui la convenzione di denominazione delle risorse specificata in questa politica, AWS Glue i processi dispongono delle autorizzazioni richieste. Questa policy è in genere collegata ai ruoli specificati quando si definiscono crawler, processi ed endpoint di sviluppo.
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Concede l'accesso completo alle AWS Glue risorse quando un'identità a cui è allegata la policy utilizza la AWS console di gestione. Se si segue la convenzione per la denominazione per le risorse specificate nella policy, gli utenti hanno la piena funzionalità della console. Questa policy è in genere associata agli utenti della AWS Glue console.

# Configurazione di Instagram Ads
<a name="instagram-ads-configuring"></a>

Prima di poter AWS Glue utilizzare il trasferimento di dati da Instagram Ads, devi soddisfare questi requisiti:

## Requisiti minimi
<a name="instagram-ads-configuring-min-requirements"></a>

I requisiti minimi sono i seguenti:
+ Gli account Instagram Standard sono accessibili indirettamente tramite Facebook.
+ L'autenticazione dell'utente è necessaria per generare il token di accesso.
+ Il connettore Instagram Ads SDK implementerà il OAuth flusso *User Access Token*.
+ Stiamo utilizzando OAuth2 .0 per autenticare le nostre richieste API su Instagram Ads. Questa autenticazione basata sul Web rientra nell'architettura dell'autenticazione a più fattori (MFA), che è un superset di 2FA.
+ L'utente deve concedere le autorizzazioni per accedere agli endpoint. Per accedere ai dati dell'utente, l'autorizzazione degli endpoint viene gestita tramite [autorizzazioni](https://developers.facebook.com/docs/permissions) e [funzionalità](https://developers.facebook.com/docs/features-reference).

## Ottenere le credenziali 2.0 OAuth
<a name="instagram-ads-configuring-creating-instagram-ads-oauth2-credentials"></a>

Per ottenere le credenziali API così da effettuare chiamate autenticate alla tua istanza, consulta [API Graph](https://developers.facebook.com/docs/graph-api/).

# Configurazione delle connessioni su Instagram Ads
<a name="instagram-ads-configuring-connections"></a>

Instagram Ads supporta il tipo di concessione AUTHORIZATION\$1CODE per. OAuth2
+ Questo tipo di concessione è considerato a tre livelli in OAuth quanto si basa sul reindirizzamento degli utenti al server di autorizzazione di terze parti per autenticare l'utente. Viene utilizzato durante la creazione di connessioni tramite la console. AWS Glue 
+ Gli utenti possono scegliere di creare la propria app connessa in Instagram Ads e fornire il proprio ID cliente e il segreto del cliente quando creano connessioni tramite la AWS Glue console. In questo scenario, verranno comunque reindirizzati a Instagram Ads per accedere e autorizzare l'accesso AWS Glue alle proprie risorse.
+ Questo tipo di concessione genera un token di accesso. Un token utente di sistema in scadenza è valido per 60 giorni dalla data di generazione o aggiornamento. Per creare continuità, lo sviluppatore deve aggiornare il token di accesso entro 60 giorni. In caso contrario, il token di accesso verrà perso e lo sviluppatore dovrà ottenerne un altro per poter accedere di nuovo all'API. Consulta [Refresh Access Token](https://developers.facebook.com/docs/marketing-api/system-users/install-apps-and-generate-tokens/).

Per configurare una connessione Instagram Ads:

1. In AWS Glue Glue Studio, crea una connessione in **Connessioni dati** seguendo i passaggi seguenti:

   1. In **Tipo di connessione**, seleziona Instagram Ads.

   1. Seleziona il ruolo AWS IAM che AWS Glue può assumere e dispone delle autorizzazioni per le seguenti azioni:

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

****  

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

------

   1. Fornisci l'ID client dell'applicazione client gestita dall'utente.

   1. Seleziona quello `secretName` che desideri utilizzare per questa connessione per AWS Glue inserire i token. Il segreto selezionato deve avere una chiave `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` il cui valore sia il segreto client dell'app connessa.

   1. Seleziona le opzioni di rete se desideri utilizzare la tua rete.

1. Concedi il permesso di lettura `secretName` al ruolo IAM associato al tuo AWS Glue lavoro.

# Lettura dalle entità di Instagram Ads
<a name="instagram-ads-reading-from-entities"></a>

**Prerequisito**

Un oggetto di Instagram Ads da cui si desidera leggere. È necessario il nome dell'oggetto. Le tabelle seguenti mostrano le entità supportate.

**Entità supportate come origine**:


| Entità | Può essere filtrato | Supporta limite | Supporta Ordina per | Supporta Seleziona \$1 | Supporta il partizionamento | 
| --- | --- | --- | --- | --- | --- | 
| Campagna | Sì  | Sì | No | Sì | Sì | 
| Set di annunci | Sì  | Sì | No | Sì | Sì | 
| Inserzioni | Sì  | Sì | No | Sì | Sì | 
| Creative Ad | No | Sì | No | Sì | No | 
| Informazioni approfondite: conto | No | Sì | No | Sì | No | 
| Immagine inserzione | Sì  | Sì | No | Sì | No | 
| Informazioni approfondite: inserzione | Sì  | Sì | No | Sì | Sì | 
| Approfondimenti - AdSet | Sì  | Sì | No | Sì | Sì | 
| Informazioni approfondite: campagna | Sì  | Sì | No | Sì | Sì | 

**Esempio**:

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

## Dettagli dell'entità e del campo di Instagram Ads
<a name="instagram-ads-reading-entity-and-field-details"></a>

Per ulteriori informazioni sui dettagli dell'entità e del campo, consultare:
+ [Campagna](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)
+ [Set di annunci](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign)
+ [Inserzione](https://developers.facebook.com/docs/marketing-api/reference/adgroup)
+ [Creative Ad](https://developers.facebook.com/docs/marketing-api/reference/ad-creative)
+ [Informazioni approfondite sull'account pubblicitario](https://developers.facebook.com/docs/marketing-api/reference/ad-account/insights)
+ [Immagine inserzione](https://developers.facebook.com/docs/marketing-api/reference/ad-image)
+ [Informazioni approfondite inserzione](https://developers.facebook.com/docs/marketing-api/reference/adgroup/insights/)
+ [AdSets Approfondimenti](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign/insights)
+ [Informazioni approfondite campagna](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group/insights)

Per ulteriori informazioni, consulta [l'API Marketing](https://developers.facebook.com/docs/marketing-api/reference/v21.0).

**Nota**  
I tipi di dati Struct e List vengono convertiti in tipo di dati String nella risposta dei connettori.

## Query di partizionamento
<a name="instagram-ads-reading-partitioning-queries"></a>

Puoi fornire le opzioni Spark aggiuntive `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND` e `NUM_PARTITIONS` se desideri utilizzare la concorrenza in Spark. Con questi parametri, la query originale viene suddivisa in `NUM_PARTITIONS` query secondarie che possono essere eseguite contemporaneamente dalle attività Spark.
+ `PARTITION_FIELD`: il nome del campo da utilizzare per partizionare la query.
+ `LOWER_BOUND`: un valore limite inferiore **inclusivo** del campo di partizione scelto.

  Per il DateTime campo, accettiamo il formato di timestamp Spark utilizzato nelle query SQL di Spark.

  Esempio di valore valido:

  ```
  "2022-01-01T00:00:00.000Z"
  ```
+ `UPPER_BOUND`: un valore limite superiore **esclusivo** del campo di partizione scelto.

  Esempio di valore valido:

  ```
  "2024-01-02T00:00:00.000Z"
  ```
+ `NUM_PARTITIONS`: il numero di partizioni.

Esempio:

```
instagramADs_read = glueContext.create_dynamic_frame.from_options(
    connection_type="instagramads",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v20.0",
        "PARTITION_FIELD": "created_time"
        "LOWER_BOUND": "2022-01-01T00:00:00.000Z"
        "UPPER_BOUND": "2024-01-02T00:00:00.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Opzioni di connessione su Instagram Ads
<a name="instagram-ads-connection-options"></a>

Di seguito sono riportate le opzioni di connessione per Instagram Ads:
+ `ENTITY_NAME`(Stringa): (obbligatorio) utilizzato per la lettura. Il nome dell'oggetto in Instagram Ads.
+ `API_VERSION`(Stringa): (obbligatorio) utilizzato per la lettura. Versione dell'API Graph che vuoi utilizzare su Instagram Ads. Ad esempio: v21.
+ `SELECTED_FIELDS`(List<String>): predefinito: vuoto (SELECT \$1). Utilizzato per la lettura. Colonne da selezionare per l'oggetto.
+ `FILTER_PREDICATE`(Stringa): predefinito: vuoto. Utilizzato per la lettura. Dev'essere in formato Spark SQL.
+ `QUERY`(Stringa): predefinito: vuoto. Utilizzato per la lettura. Query Spark SQL completa.
+ `PARTITION_FIELD`(Stringa): utilizzato per la lettura. Campo da utilizzare per partizionare la query.
+ `LOWER_BOUND`(Stringa): utilizzato per la lettura. Un valore limite inferiore inclusivo del campo di partizione scelto.
+ `UPPER_BOUND`(Stringa): utilizzato per la lettura. Un valore limite superiore esclusivo del campo di partizione scelto. 
+ `NUM_PARTITIONS`(Numero intero): predefinito: 1. Utilizzato per la lettura. Numero di partizioni da leggere.

# Limitazioni e note per il connettore di Instagram Ads
<a name="instagram-ads-connector-limitations"></a>

Di seguito sono riportate le limitazioni o le note per il connettore di Instagram Ads:
+ Il conteggio delle chiamate di un'app è il numero di chiamate che un utente può effettuare durante una finestra continua di un'ora moltiplicando 200 per il numero di utenti. Per i dettagli sui limiti di velocità, consulta [Limiti della frequenza](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/) e [Limiti della frequenza dei casi d'uso business](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/#buc-rate-limits).