

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Herstellen einer Verbindung mit CircleCI
<a name="connecting-to-data-circleci"></a>

CircleCI ist eine Plattform für kontinuierliche Integration und kontinuierliche Bereitstellung. Ihr CircleCI-Konto enthält Daten zu Ihren Projekten, Pipelines, Workflows und mehr. Wenn Sie ein CircleCI-Benutzer sind, können Sie sich mit Ihrem CircleCI-Konto AWS Glue verbinden. Anschließend können Sie CircleCI als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen CircleCI und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen.

**Topics**
+ [AWS Glue Unterstützung für CircleCI](circleci-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](circleci-configuring-iam-permissions.md)
+ [Konfigurieren von CircleCI](circleci-configuring.md)
+ [Konfiguration von CircleCI-Verbindungen](circleci-configuring-connections.md)
+ [Lesen aus CircleCI-Entitäten](circleci-reading-from-entities.md)
+ [CircleCI-Verbindungsoptionen](circleci-connection-options.md)
+ [Einschränkungen von CircleCI](circleci-connection-limitations.md)

# AWS Glue Unterstützung für CircleCI
<a name="circleci-support"></a>

AWS Glue unterstützt CircleCI wie folgt:

**Als Quelle unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten von CircleCI abzufragen.

**Als Ziel unterstützt?**  
Nein.

**Unterstützte CircleCI-API-Versionen**  
Die folgenden CircleCI-API-Versionen werden unterstützt:
+   v2

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="circleci-configuring-iam-permissions"></a>

Die folgende Beispielrichtlinie beschreibt die erforderlichen AWS IAM-Berechtigungen für das Erstellen und Verwenden von Verbindungen. Wenn Sie eine neue Rolle erstellen, erstellen Sie eine Richtlinie, die Folgendes enthält:

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

****  

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

------

Wenn Sie die oben genannte Methode nicht verwenden möchten, verwenden Sie alternativ die folgenden verwalteten IAM-Richtlinien:
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Gewährt Zugriff auf Ressourcen, die verschiedene AWS Glue Prozesse benötigen, um in Ihrem Namen ausgeführt zu werden. Zu diesen Ressourcen gehören AWS Glue Amazon S3, IAM, CloudWatch Logs und Amazon EC2. Wenn Sie die in dieser Richtlinie angegebene Benennungskonvention für Ressourcen einhalten, verfügen AWS Glue Prozesse über die erforderlichen Berechtigungen. Diese Richtlinie wird typischerweise mit Rollen verknüpft, die bei der Definition von Crawlern, Aufträgen und Entwicklungsendpunkten angegeben werden.
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Gewährt vollen Zugriff auf AWS Glue Ressourcen, wenn eine Identität, der die Richtlinie zugeordnet ist, die AWS Managementkonsole verwendet. Wenn Sie die Namenskonvention für Ressourcen befolgen, die in dieser Richtlinie angegeben sind, haben Benutzer alle Konsolenfunktionalitäten. Diese Richtlinie wird normalerweise Benutzern der AWS Glue Konsole zugewiesen.

# Konfigurieren von CircleCI
<a name="circleci-configuring"></a>

Bevor Sie Daten von CircleCI AWS Glue übertragen können, müssen Sie die folgenden Anforderungen erfüllen:

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Konto bei CircleCI, das die Daten enthält, die Sie übertragen möchten. 
+ In den Benutzereinstellungen für Ihr Konto haben Sie ein persönliches API-Token erstellt. Weitere Informationen finden Sie unter [Erstellen eines persönlichen API-Tokens](https://circleci.com/docs/managing-api-tokens/#creating-a-personal-api-token).
+ Sie geben das persönliche API-Token an, AWS Glue während Sie die Verbindung herstellen.

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem CircleCI-Konto herstellen.

# Konfiguration von CircleCI-Verbindungen
<a name="circleci-configuring-connections"></a>

CircleCI unterstützt benutzerdefinierte Authentifizierung.

Konfigurieren einer CircleCI-Verbindung:

1. Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details:

   1. Für die kundenseitig verwaltete verbundene App muss das Geheimnis den API-Schlüssel der verbundenen App mit `Circle-Token` als Schlüssel enthalten.

   1. Hinweis: Sie müssen ein Geheimnis für Ihre Verbindungen in erstellen AWS Glue.

1. Erstellen Sie in AWS Glue Glue Studio eine Verbindung unter **Datenverbindungen**, indem Sie die folgenden Schritte ausführen:

   1. Wählen Sie bei der Auswahl einer **Datenquelle** CircleCI aus.

   1. Wählen Sie die AWS IAM-Rolle aus, die die folgenden Aktionen übernehmen AWS Glue kann und über Berechtigungen verfügt:

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

****  

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

------

   1. Wählen Sie `secretName` die aus, in die Sie für diese Verbindung die Token einfügen AWS Glue möchten.

   1. Wählen Sie die Netzwerkoptionen aus, wenn Sie Ihr Netzwerk verwenden möchten.

1. Erteilen Sie der mit Ihrem AWS Glue Job verknüpften IAM-Rolle `secretName` Leserechte.

# Lesen aus CircleCI-Entitäten
<a name="circleci-reading-from-entities"></a>

**Voraussetzung**

Ein CircleCI-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen.

**Unterstützte Entitäten für Quelle**:


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Kontext | Ja | Nein | Nein | Ja | Nein | 
| Metrik zur Organisationsübersicht | Ja | Nein | Nein | Ja | Nein | 
| Pipeline | Nein | Nein | Nein | Ja | Nein | 
| Pipeline-Workflow | Ja | Nein | Nein | Ja | Nein | 
| Projektzweig | Ja | Nein | Nein | Ja | Nein | 
| Projekt Fehlerhafter Test | Nein | Nein | Nein | Ja | Nein | 
| Projektzusammenfassungsmetrik | Ja | Nein | Nein | Ja | Nein | 
| Plan | Nein | Nein | Nein | Ja | Nein | 
| Workflow-Auftragszeitreihen | Ja | Nein | Nein | Ja | Nein | 
| Workflow-Metrik und Trend | Ja | Nein | Nein | Ja | Nein | 
| Workflow Letzte Ausführung | Ja | Nein | Nein | Ja | Nein | 
| Metrik zur Workflow-Zusammenfassung | Ja | Nein | Nein | Ja | Nein | 
| Workflow-Testmetrik | Ja | Nein | Nein | Ja | Nein | 

**Beispiel:**

```
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"
    }
```

## CircleCI-Entitäts- und Felddetails
<a name="circleci-reading-from-entities-field-details"></a>

Weitere Informationen zu den Entitäten und Felddetails finden Sie unter:
+ [Kontexte](https://circleci.com/docs/api/v2/#operation/listContexts)
+ [Projektzusammenfassungsmetriken](https://circleci.com/docs/api/v2/#operation/getProjectWorkflowsPageData)
+ [Workflow-Auftragszeitreihen](https://circleci.com/docs/api/v2/#operation/getJobTimeseries)
+ [Metriken zur Organisationsübersicht](https://circleci.com/docs/api/v2/#operation/getOrgSummaryData)
+ [Projektzweige](https://circleci.com/docs/api/v2/#operation/getAllInsightsBranches)
+ [Projekt Fehlerhafte Tests](https://circleci.com/docs/api/v2/#operation/getFlakyTests)
+ [Workflow Letzte Ausführungen](https://circleci.com/docs/api/v2/#operation/getProjectWorkflowRuns)
+ [Metriken zur Workflow-Zusammenfassung](https://circleci.com/docs/api/v2/#operation/getProjectWorkflowMetrics)
+ [Workflow-Metriken und Trends](https://circleci.com/docs/api/v2/#operation/getWorkflowSummary)
+ [Metriken für Workflow-Tests](https://circleci.com/docs/api/v2/#operation/getProjectWorkflowTestMetrics)
+ [Pipelines](https://circleci.com/docs/api/v2/#operation/listPipelinesForProject)
+ [Pipeline-Workflows](https://circleci.com/docs/api/v2/#operation/listWorkflowsByPipelineId)
+ [Zeitpläne](https://circleci.com/docs/api/v2/#operation/listSchedulesForProject)

Entitäten mit statischen Metadaten:

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

**Anmerkung**  
Die Datentypen Struktur und Liste werden in der Antwort des Connectors in den Datentyp Zeichenfolge konvertiert.

**Partinionieren von Abfragen**

CircleCIunterstützt keine feldbasierte oder datensatzbasierte Partitionierung.

# CircleCI-Verbindungsoptionen
<a name="circleci-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für CircleCI aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in CircleCI.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der CircleCI-REST-API, die Sie verwenden möchten.
+ `SELECTED_FIELDS` (Liste<Zeichenfolge>) – Standard: leer(SELECT \$1). Zum Lesen verwendet. Spalten, die Sie für das Objekt auswählen möchten.
+ `FILTER_PREDICATE`(Zeichenfolge) – Standard: leer. Zum Lesen verwendet. Muss das Spark-SQL-Format aufweisen.
+ `QUERY`(Zeichenfolge) – Standard: leer Zum Lesen verwendet. Vollständige Spark-SQL-Abfrage.

# Einschränkungen von CircleCI
<a name="circleci-connection-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für CircleCI:
+ CircleCI unterstützt weder feldbasierte noch datensatzbasierte Partitionierung.
+ Filterfelder, die „-“ (Bindestrich) enthalten, funktionieren nur, wenn sie in Backticks eingeschlossen sind. Beispiel: `workflow-name` = „abc“
+ Der GitLab VCS-Typ kann nicht unterstützt werden, da es keine programmatische Möglichkeit gibt, die für den VCS-Entitätspfad erforderliche 'Projekt-ID' abzurufen. GitLab 