

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 CircleCI
<a name="connecting-to-data-circleci"></a>

CircleCI è una piattaforma di integrazione continua e distribuzione continua. Il tuo account CircleCI contiene dati relativi ai tuoi progetti, alle tue pipeline, ai tuoi flussi di lavoro e altro ancora. Se sei un utente CircleCI, puoi connetterti AWS Glue al tuo account CircleCI. Quindi, puoi usare CircleCI come origine dati nei tuoi processi ETL. Esegui questi processi per trasferire dati tra CircleCI AWS e servizi o altre applicazioni supportate.

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

# AWS Glue supporto per CircleCI
<a name="circleci-support"></a>

AWS Glue supporta CircleCI come segue:

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

**Supportato come destinazione?**  
No.

**Versioni API CircleCI supportate**  
Sono supportate le seguenti versioni API CircleCI:
+ v2

# Policy contenenti le operazioni API per creare e utilizzare le connessioni
<a name="circleci-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 CircleCI
<a name="circleci-configuring"></a>

Prima di poter AWS Glue utilizzare il trasferimento di dati da CircleCI, è necessario soddisfare questi requisiti:

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

I requisiti minimi sono i seguenti:
+ Avere un account con CircleCI che contiene i dati che si desidera trasferire. 
+ Nelle impostazioni utente del tuo account, aver creato un token API personale. Per ulteriori informazioni, consultare [Creazione di un token API personale](https://circleci.com/docs/managing-api-tokens/#creating-a-personal-api-token).
+ Fornisci il token API personale a AWS Glue durante la creazione della connessione.

Se soddisfi questi requisiti, sei pronto per connetterti AWS Glue al tuo account CircleCI.

# Configurazione delle connessioni CircleCI
<a name="circleci-configuring-connections"></a>

CircleCI supporta l'autenticazione personalizzata.

Per configurare una connessione CircleCI:

1. In AWS Secrets Manager, crea un segreto con i seguenti dettagli:

   1. Per le app connesse gestite dal cliente, il segreto deve contenere la chiave API dell'app connessa con `Circle-Token` come chiave.

   1. Nota: devi creare un segreto per le tue connessioni in AWS Glue.

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

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

   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. 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.

# Lettura da entità CircleCI
<a name="circleci-reading-from-entities"></a>

**Prerequisito**

Un oggetto di CircleCI da cui si desidera leggere. È necessario il nome dell'oggetto.

**Entità supportate come origine**:


| Entità | Può essere filtrato | Supporta limite | Supporta Ordina per | Supporta Seleziona \$1 | Supporta il partizionamento | 
| --- | --- | --- | --- | --- | --- | 
| Contesto | Sì | No | No | Sì | No | 
| Parametri di riepilogo dell'organizzazione | Sì | No | No | Sì | No | 
| Gasdotto | No | No | No | Sì | No | 
| Flusso di lavoro di un'attività di pipeline | Sì | No | No | Sì | No | 
| Ramificazione del progetto | Sì | No | No | Sì | No | 
| Test flaky del progetto | No | No | No | Sì | No | 
| Parametri di riepilogo del progetto | Sì | No | No | Sì | No | 
| Schedule | No | No | No | Sì | No | 
| Serie temporali del lavoro del flusso | Sì | No | No | Sì | No | 
| Parametro e tendenza del flusso di lavoro | Sì | No | No | Sì | No | 
| Esecuzione recente del flusso di lavoro | Sì | No | No | Sì | No | 
| Parametro di riepilogo del flusso di lavoro | Sì | No | No | Sì | No | 
| Parametro di test del flusso di lavoro | Sì | No | No | Sì | No | 

**Esempio**:

```
circleci_read = glueContext.create_dynamic_frame.from_options(
    connection_type="circleci",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "context/e7ea2945-dccb-4205-b673-8391fe1b3a4c",
        "API_VERSION": "v2"
    }
```

## Dettagli dell'entità e del campo di CircleCI
<a name="circleci-reading-from-entities-field-details"></a>

Per ulteriori informazioni sui dettagli dell'entità e del campo, consulta:
+ [Contesti](https://circleci.com/docs/api/v2/#operation/listContexts)
+ [Parametri di riepilogo del progetto](https://circleci.com/docs/api/v2/#operation/getProjectWorkflowsPageData)
+ [Serie temporali del lavoro del flusso](https://circleci.com/docs/api/v2/#operation/getJobTimeseries)
+ [Parametri di riepilogo dell'organizzazione](https://circleci.com/docs/api/v2/#operation/getOrgSummaryData)
+ [Ramificazione del progetto](https://circleci.com/docs/api/v2/#operation/getAllInsightsBranches)
+ [Test flaky del progetto](https://circleci.com/docs/api/v2/#operation/getFlakyTests)
+ [Esecuzione recente del flusso di lavoro](https://circleci.com/docs/api/v2/#operation/getProjectWorkflowRuns)
+ [Parametri di riepilogo del flusso di lavoro](https://circleci.com/docs/api/v2/#operation/getProjectWorkflowMetrics)
+ [Parametri e tendenze del flusso di lavoro](https://circleci.com/docs/api/v2/#operation/getWorkflowSummary)
+ [Parametri di test del flusso di lavoro](https://circleci.com/docs/api/v2/#operation/getProjectWorkflowTestMetrics)
+ [Pipeline](https://circleci.com/docs/api/v2/#operation/listPipelinesForProject)
+ [Flusso di lavoro della pipeline](https://circleci.com/docs/api/v2/#operation/listWorkflowsByPipelineId)
+ [Orari](https://circleci.com/docs/api/v2/#operation/listSchedulesForProject)

Entità con metadati statici:

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

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

**Query di partizionamento**

CircleCI non supporta il partizionamento basato su campi o su record.

# Opzioni di connessione CircleCI
<a name="circleci-connection-options"></a>

Di seguito sono riportate le opzioni di connessione per CircleCI:
+ `ENTITY_NAME`(Stringa): (obbligatorio) utilizzato per la lettura. Il nome dell'oggetto in CircleCI.
+ `API_VERSION`(Stringa): (obbligatorio) utilizzato per la lettura. Versione dell'API Rest di CircleCI da utilizzare.
+ `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.

# Limitazioni di CircleCI
<a name="circleci-connection-limitations"></a>

Di seguito sono riportate le limitazioni o le note di CircleCI:
+ CircleCI non supporta il partizionamento basato su campi o record.
+ I campi di filtro contenenti “-” (trattino) funzionano solo se sono racchiusi all'interno di caratteri di apice. Ad esempio: `workflow-name` = "abc"
+ Il tipo GitLab VCS non può essere supportato in quanto non esiste un modo programmatico per recuperare l' «ID progetto» richiesto per il percorso dell'entità VCS. GitLab 