

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 Pendo
<a name="connecting-to-pendo"></a>

Pendo offre un ricco archivio di dati relativi alle interazioni degli utenti. I clienti trasferiranno questi dati AWS in modo da poterli unire ad altri dati di prodotto, eseguire analisi e dashboard aggiuntive e impostare avvisi, se lo desiderano.

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

# AWS Glue supporto per Pendo
<a name="pendo-support"></a>

AWS Glue supporta Pendo come segue:

**Supportato come origine?**  
Sì. È possibile utilizzare i job AWS Glue ETL per interrogare i dati da Pendo.

**Supportato come destinazione?**  
No.

**Versioni API Pendo supportate**  
 v1 

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

La seguente politica di esempio descrive le AWS autorizzazioni 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:
+  [ AWSGlueServiceRole ](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Garantisce l'accesso alle risorse che diversi AWS Glue processi richiedono per l'esecuzione per conto dell'utente. Queste risorse includono Amazon S3 AWS Glue, 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 necessarie. 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 politica 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 Pendo
<a name="pendo-configuring"></a>

Prima di poter AWS Glue utilizzare il trasferimento da Pendo, devi soddisfare i seguenti requisiti:

## Requisiti minimi
<a name="pendo-configuring-min-requirements"></a>
+ Avere un account Pendo con un `apiKey` con `write access` abilitato.
+  L'account Pendo dispone dell'accesso API con una licenza valida. 

Se soddisfi questi requisiti, sei pronto per connetterti AWS Glue al tuo account Pendo. Per le connessioni tipiche, non è necessario fare nient'altro in Pendo.

# Configurazione delle connessioni Pendo
<a name="pendo-configuring-connections"></a>

Pendo supporta l'autenticazione personalizzata.

Per la documentazione pubblica di Pendo sulla generazione delle chiavi API richieste per l'autorizzazione personalizzata, consultare [Autenticazione: documentazione di Pendo REST API](https://engageapi.pendo.io/?bash#getting-started) 

Per configurare una connessione Pendo:

1. In AWS Secrets Manager, crea un segreto con i seguenti dettagli: 
   + Per le app connesse gestite dal cliente: il segreto deve contenere l'app connessa Consumer Secret con `apiKey` come chiave. 
**Nota**  
È necessario creare un segreto per ogni connessione in AWS Glue.

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

   1. Quando si seleziona una **Origine dati**, selezionare Pendo.

   1. Fornire `instanceUrl` dell'istanza Pendo a cui connettersi.

   1. Seleziona il ruolo IAM per il quale 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. Seleziona quello `secretName` che desideri utilizzare per questa connessione per AWS Glue inserire i token. 

   1.  Selezionare le opzioni di rete se si desidera utilizzare la propria rete. 

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

1. Nella configurazione del tuo AWS Glue lavoro, fornisci `connectionName` una connessione di rete aggiuntiva.

# Lettura dalle entità di Pendo
<a name="pendo-reading-from-entities"></a>

 **Prerequisiti** 

Un oggetto di Pendo da cui desideri leggere. Consultare la tabella delle entità supportate qui di seguito per verificare le entità disponibili. 

 **Entità supportate** 
+ [Caratteristica](https://developers.pendo.io/docs/?bash#feature)
+ [Guida](https://developers.pendo.io/docs/?bash#guide)
+ [Pagina](https://developers.pendo.io/docs/?bash#page)
+ [Report](https://developers.pendo.io/docs/?bash#report)
+ [Report di dati](https://developers.pendo.io/docs/?bash#return-report-contents-as-array-of-json-objects)
+ [Visitatore](https://developers.pendo.io/docs/?bash#visitor)
+ [Account](https://developers.pendo.io/docs/?bash#entities)
+ [Evento](https://developers.pendo.io/docs/?bash#events-grouped)
+ [Evento principale](https://developers.pendo.io/docs/?bash#events-grouped)
+ [Evento guida](https://developers.pendo.io/docs/?bash#events-ungrouped)
+ [Evento della pagina](https://developers.pendo.io/docs/?bash#events-grouped)
+ [Evento di sondaggio](https://developers.pendo.io/docs/?bash#events-ungrouped)
+ [Tracciare l'evento](https://developers.pendo.io/docs/?bash#events-grouped)


| Entità | Può essere Filtrato | Supporta Limite | Supporta Ordina per | Supporta Seleziona \$1 | Supporta il partizionamento | 
| --- | --- | --- | --- | --- | --- | 
| Funzionalità | No | No | No | Sì | No | 
| Guida | No | No | No | Sì | No | 
| Pagina | No | No | No | Sì | No | 
| Report | No | No | No | Sì | No | 
| Report di dati | No | No | No | Sì | No | 
| Visitatore (API di aggregazione) | Sì | No | Sì | Sì | No | 
| Account (API di aggregazione) | Sì | No | Sì | Sì | No | 
| Evento (API di aggregazione) | Sì | No | Sì | Sì | No | 
| Evento principale (API di aggregazione) | Sì | No | Sì | Sì | Sì | 
| Evento guida (API di aggregazione) | Sì | No | Sì | Sì | Sì | 
| Account (API di aggregazione) | Sì | No | Sì | Sì | Sì | 
| Evento della pagina (API di aggregazione) | Sì | No | Sì | Sì | Sì | 
| Evento di sondaggio (API di aggregazione) | Sì | No | Sì | Sì | Sì | 
| Tracciare l'evento (API di aggregazione) | Sì | No | Sì | Sì | Sì | 

 **Esempio** 

```
Pendo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="glue.spark.Pendo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "feature",
        "API_VERSION": "v1",
        "INSTANCE_URL": "instanceUrl"
    }
```

## Query di partizionamento
<a name="adobe-marketo-engage-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 valore in formato ISO.

  Esempio di valore valido:

  ```
  "2024-07-01T00:00:00.000Z"
  ```
+ `UPPER_BOUND`: un valore limite superiore **esclusivo** del campo di partizione scelto.
+ `NUM_PARTITIONS`: il numero di partizioni.

Nella seguente tabella sono descritti i dettagli del campo di supporto del partizionamento delle entità:


| Nome dell'entità | 
| --- | 
| Event | 
|  Evento principale  | 
| Evento guida | 
| Evento della pagina | 
| Evento di sondaggio | 
| Tracciare l'evento | 

Esempio:

```
pendo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="glue.spark.pendo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "event",
        "API_VERSION": "v1",
        "INSTANCE_URL": "instanceUrl"
        "NUM_PARTITIONS": "10",
        "PARTITION_FIELD": "appId"
        "LOWER_BOUND": "4656"
        "UPPER_BOUND": "7788"
    }
```

# Opzioni di connessione di Pendo
<a name="pendo-connection-options"></a>

Di seguito sono riportate le opzioni di connessione per Pendo:
+  `ENTITY_NAME` (stringa): (obbligatorio) utilizzato per lettura/scrittura. Il nome dell'oggetto in Pendo. 
+ `INSTANCE_URL`(String): (obbligatorio) Un URL di istanza Pendo valido con i seguenti valori consentiti:
  + [Impostazione predefinita](https://app.pendo.io/)
  + [Europa](https://app.eu.pendo.io/)
  + [US1](https://us1.app.pendo.io/)
+ `API_VERSION`(String): (obbligatorio) utilizzato per la lettura. Versione dell'API Engage Rest di Pendo che si desidera utilizzare. Ad esempio: 3.0.
+ `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
<a name="pendo-connector-limitations"></a>

Di seguito sono riportate le limitazioni per il connettore di Pendo:
+ La paginazione non è supportata in Pendo.
+ La filtrazione è supportata solo dagli oggetti dell'API Aggregate (`Account`, `Event`, `Feature Event`, `Guide Events`, `Page Event`, `Poll Event`, `Track Event` e `Visitor`)
+ DateTimeRange è un parametro di filtro obbligatorio per gli oggetti API aggregati (`Event`,`Feature Event`,, `Guide Events``Page Event`, `Poll Event,``Track Event`)
+ Il periodo dayRange verrà arrotondato per difetto all'inizio del periodo nel fuso orario. Ad esempio, se il filtro fornito è `2023-01-12T07:55:27.065Z`, questo periodo di tempo verrà arrotondato all'inizio del periodo, ovvero `2023-01-12T00:00:00Z`. 