

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 Pipedrive
<a name="connecting-to-pipedrive"></a>

 Pipedrive ist ein CRM für Vertriebspipelines, das kleine Unternehmen dabei unterstützt, Leads zu verwalten, Vertriebsaktivitäten nachzuverfolgen und mehr Geschäfte abzuschließen. Pipedrive ermöglicht Vertriebsteams in kleinen Unternehmen: Prozesse zu optimieren und Vertriebsdaten in einem einheitlichen CRM-Vertriebstool zu konsolidieren. Wenn Sie ein Pipedrive-Nutzer sind, können Sie sich mit Ihrem Pipedrive-Account AWS Glue verbinden. Anschließend können Sie Pipedrive als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Pipedrive und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen. 

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

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

AWS Glue unterstützt Pipedrive wie folgt:

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

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

**Unterstützte Pipedrive-API-Versionen**  
 v1. 

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

 Die folgende Beispielrichtlinie beschreibt die erforderlichen AWS 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": "*"
    }
  ]
}
```

------

Sie können auch die folgenden verwalteten IAM-Richtlinien verwenden, um den Zugriff zuzulassen:
+  [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, an die die Richtlinie angehängt 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 in der Regel Benutzern der AWS Glue Konsole zugewiesen. 

# Konfigurieren von Pipedrive
<a name="pipedrive-configuring"></a>

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

## Mindestanforderungen
<a name="pipedrive-configuring-min-requirements"></a>
+  Sie haben ein Pipedrive-Konto. 
+  Ihr Pipedrive-Konto ist für den API-Zugriff aktiviert. 

 Wenn Sie diese Anforderungen erfüllen, können Sie sich mit Ihrem AWS Glue Pipedrive-Account verbinden. Für typische Verbindungen müssen Sie in Pipedrive nichts weiter tun. 

# Konfigurieren von Pipedrive-Verbindungen
<a name="pipedrive-configuring-connections"></a>

 Pipedrive unterstützt den Zuschusstyp AUTHORIZATION\$1CODE für. OAuth2 
+  Dieser Zuschusstyp wird als „dreibeiniges“ angesehen, OAuth da er darauf beruht, dass Benutzer zur Authentifizierung des Benutzers an den Autorisierungsserver eines Drittanbieters weitergeleitet werden. Er wird verwendet, wenn Verbindungen über die Konsole hergestellt werden. AWS Glue Der Benutzer, der eine Verbindung herstellt, kann sich standardmäßig auf eine AWS Glue eigene verbundene App verlassen, in der er außer der Pipedrive-Instance-URL keine OAuth zugehörigen Informationen angeben muss. Die AWS Glue Konsole leitet den Benutzer zu Pipedrive weiter, wo er sich anmelden und den angeforderten Berechtigungen für den Zugriff auf seine Pipedrive-Instanz gewähren AWS Glue muss. 
+  Benutzer sollten sich dafür entscheiden, ihre eigene verbundene App in Pipedrive zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die Konsole herstellen. AWS Glue In diesem Szenario werden sie weiterhin zu Pipedrive weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen zu autorisieren AWS Glue . 
+  Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist für eine Stunde aktiv und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden. 
+  Weitere Informationen finden Sie in der [Dokumentation zur Erstellung einer verbundenen App für den AUTHORIZATION\$1CODE-Flow](https://developers.pipedrive.com/docs/api/v1/Oauth). OAuth 

Konfigurieren einer Pipedrive-Verbindung:

1.  Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details. Es ist erforderlich, für jede Verbindung in AWS Glue ein Geheimnis zu erstellen. 

   1.  Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit USER\$1MANAGED\$1CLIENT\$1APPLICATION\$1CLIENT\$1SECRET als Schlüssel enthalten. 

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

   1.  Wählen Sie unter „Datenverbindungen“ die Option **Verbindung erstellen** aus. 

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

   1. **Geben Sie Ihre Pipedrive-Instance-URL an.**

   1.  Wählen Sie die 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.  Stellen Sie die benutzerverwaltete Client-Anwendung ClientId des Pipedrive bereit, mit dem Sie eine Verbindung herstellen möchten. 

   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. Wählen Sie **Weiter** aus. 

1.  Geben Sie **connectionName** an und wählen Sie **Weiter** aus. 

1.  Wählen Sie auf der nächsten Seite die Option **Verbindung erstellen** aus. Sie werden aufgefordert, sich bei Pipedrive anzumelden. Geben Sie Ihren Benutzernamen und Ihr Passwort ein und wählen Sie **Anmelden** aus. 

1.  Sobald Sie angemeldet sind, wählen Sie **Weiter zur App** aus. Jetzt ist Ihre Verbindung einsatzbereit. 

1.  Stellen `connectionName` Sie in Ihrer AWS Glue Jobkonfiguration eine **zusätzliche Netzwerkverbindung** bereit. 

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

 **Voraussetzungen** 
+  Ein Pipedrive-Objekt, aus dem gelesen werden soll. In der folgenden Tabelle mit unterstützten Entitäten können Sie die verfügbaren Entitäten überprüfen. 

 **Unterstützte Entitäten** 


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Aktivitäten | Ja | Ja | Nein | Ja | Ja | 
| Aktivitätstyp | Nein | Nein | Nein | Ja | Nein | 
| Anrufprotokolle | Nein | Nein | Nein | Ja | Nein | 
| Währungen | Ja | Ja | Nein | Ja | Nein | 
| Geschäfte | Ja | Ja | Ja | Ja | Ja | 
| Leads | Ja | Ja | Ja | Ja | Nein | 
| Leadquellen | Nein | Ja | Nein | Ja | Nein | 
| Leadbezeichnungen | Nein | Nein | Nein | Nein | Nein | 
| Hinweise | Ja | Ja | Ja | Ja | Ja | 
| Organisation | Ja | Ja | Nein | Ja | Ja | 
| Berechtigungssätze | Ja | Nein | Nein | Ja | Nein | 
| Personen | Ja | Ja | Ja | Ja | Ja | 
| Pipelines | Nein | Ja | Nein | Ja | Nein | 
| Produkte | Ja | Ja | Nein | Ja | Ja | 
| Rollen | Nein | Ja | Nein | Ja | Nein | 
| Stufen | Ja | Ja | Nein | Ja | Nein | 
| Benutzer | Nein | Nein | Nein | Ja | Nein | 

 **Beispiel** 

```
pipedrive_read= glueContext.create_dynamic_frame.from_options(
    connection_type="PIPEDRIVE",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "activites",
        "API_VERSION": "v1"
    }
```

 **Pipedrive-Entitäts- und Felddetails** 

 Liste der Entitäten: 
+  Aktivitäten: [https://developers.pipedrive.com/docs/api/v1/Activities](https://developers.pipedrive.com/docs/api/v1/Activities) 
+  Art der Aktivität: [https://developers.pipedrive.com/docs/api/v1/ActivityTypes](https://developers.pipedrive.com/docs/api/v1/ActivityTypes) 
+  Anruflisten: [https://developers.pipedrive.com/docs/api/v1/CallLogs](https://developers.pipedrive.com/docs/api/v1/CallLogs) 
+  Währungen: [https://developers.pipedrive.com/docs/api/v1/Currencies](https://developers.pipedrive.com/docs/api/v1/Currencies) 
+  Angebote: [https://developers.pipedrive.com/docs/api/v1/Deals](https://developers.pipedrive.com/docs/api/v1/Deals) 
+  Führt: [https://developers.pipedrive.com/docs/api/v1/Leads](https://developers.pipedrive.com/docs/api/v1/Leads) 
+  Leitquellen: [https://developers.pipedrive.com/docs/api/v1/LeadSources](https://developers.pipedrive.com/docs/api/v1/LeadSources) 
+  Bleietiketten: [https://developers.pipedrive.com/docs/api/v1/LeadLabels](https://developers.pipedrive.com/docs/api/v1/LeadLabels) 
+  Hinweise: [https://developers.pipedrive.com/docs/api/v1/Notes](https://developers.pipedrive.com/docs/api/v1/Notes) 
+  Organizations: [https://developers.pipedrive.com/docs/api/v1/Organizations](https://developers.pipedrive.com/docs/api/v1/Organizations) 
+  Berechtigungssätze: [https://developers.pipedrive.com/docs/api/v1/PermissionSets](https://developers.pipedrive.com/docs/api/v1/PermissionSets) 
+  Personen: [https://developers.pipedrive.com/docs/api/v1/Persons](https://developers.pipedrive.com/docs/api/v1/Persons) 
+  Rohrleitungen: [https://developers.pipedrive.com/docs/api/v1/Pipelines](https://developers.pipedrive.com/docs/api/v1/Pipelines) 
+  Produkte: [https://developers.pipedrive.com/docs/api/v1/Products](https://developers.pipedrive.com/docs/api/v1/Products) 
+  Rollen: [https://developers.pipedrive.com/docs/api/v1/Roles](https://developers.pipedrive.com/docs/api/v1/Roles) 
+  Etappen: [https://developers.pipedrive.com/docs/api/v1/Stages](https://developers.pipedrive.com/docs/api/v1/Stages) 
+  Nutzer: [https://developers.pipedrive.com/docs/api/v1/Users](https://developers.pipedrive.com/docs/api/v1/Users) 


| Entität | Datentyp | Unterstützte Operatoren | 
| --- | --- | --- | 
| Aktivitäten, Geschäfte, Hinweise, Organisation, Personen und Produkte. | Date | '=' | 
|  | Ganzzahl | '=' | 
|  | Zeichenfolge | '=' | 
|  | Boolesch | '=' | 

## Partitionierung von Abfragen
<a name="pipedrive-partitioning-queries"></a>

 In Pipedrive unterstützt nur ein Feld (due\$1date) in der Aktivitätenentität die feldbasierte Partitionierung. Es ist ein Datumsfeld. 

 Die zusätzlichen Spark-Optionen `PARTITION_FIELD`,`LOWER_BOUND`, `UPPER_BOUND` und `NUM_PARTITIONS` können angegeben werden, wenn Sie Parallelität in Spark nutzen möchten. Mit diesen Parametern würde die ursprüngliche Abfrage in `NUM_PARTITIONS` Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können. 
+  `PARTITION_FIELD`: der Name des Feldes, das zur Partitionierung der Abfrage verwendet werden soll. 
+  `LOWER_BOUND`: ein inklusiver Untergrenzwert des ausgewählten Partitionsfelds. 

   Als Datum akzeptieren wir das Spark-Datumsformat, das in Spark-SQL-Abfragen verwendet wird. Beispiel für gültige Werte: `"2024-02-06"`. 
+  `UPPER_BOUND`: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds. 
+  `NUM_PARTITIONS`: Anzahl der Partitionen. 

 **Beispiel** 

```
pipedrive_read = glueContext.create_dynamic_frame.from_options(
    connection_type="PIPEDRIVE",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "activites",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "due_date"
        "LOWER_BOUND": "2023-09-07T02:03:00.000Z"
        "UPPER_BOUND": "2024-05-07T02:03:00.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Referenz zur Pipedrive-Verbindungsoption
<a name="pipedrive-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Pipedrive aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Pipedrive. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der Pipedrive-REST-API, die Sie verwenden möchten. Beispiel: v1. 
+  `INSTANCE_URL`(Zeichenfolge) – (Erforderlich) URL der Instance, in der der Benutzer die Vorgänge ausführen möchte. Beispiel: v1. 
+  `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. 
+  `PARTITION_FIELD`(Zeichenfolge) – Zum Lesen verwendet. Feld, das zur Partitionierung der Abfrage verwendet werden soll. 
+  `LOWER_BOUND`(Zeichenfolge) – Zum Lesen verwendet. Ein inklusiver Untergrenzwert des ausgewählten Partitionsfelds. 
+  `UPPER_BOUND`(Zeichenfolge) – Zum Lesen verwendet. Ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds. 
+  `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen. 

# Einschränkungen
<a name="pipedrive-connector-limitations"></a>

Die folgenden Einschränkungen gelten für den Pipedrive-Connector:
+ Pipedrive unterstützt die feldbasierte Partitionierung nur für eine Entität (Aktivitäten).
+ Pipedrive unterstützt die datensatzbasierte Partitionierung für Aktivitäten, Geschäfte, Hinweise, Personen, Organisationen und Produkte.
+ In der Entität für Geschäfte gibt das Statusfeld als Filter den gesamten Datensatz zurück, wenn ein ungültiger Wertefilterwert verwendet wird.
+ In der Entität für Geschäfte wird die Sortierung mit mehreren Feldern nicht unterstützt.
+ Um Leistungsdaten zu erhalten, verwenden wir ein lokales AWS Konto. Aufgrund der Beschränkung, das Zugriffstoken lokal zu aktualisieren, schlägt der AWS Glue Job zur Verarbeitung von 1 GB Daten jedoch fehl. Folglich haben wir den Leistungstest mit 179 MB von Daten optimiert und die obigen Ergebnisse basieren auf dieser Optimierung. Dennoch haben wir beobachtet, dass der SaaS-Endpunkt mit zunehmender Anzahl von Partitionen mehr Zeit in Anspruch nimmt als eine einzelne Partition. Wir haben uns bezüglich dieses Verhaltens mit dem Pipedrive-Support-Team beraten und sie haben uns darüber informiert, dass Pipedrive Anfragen stillschweigend drosselt und die Antwort verzögert. Wenn Sie den AWS Glue Job mit großen Datensätzen ausführen oder denselben API-Endpunkt mehrmals aufrufen, kann es daher aufgrund der Implementierung der Pipedrive-API zu einem Timeout-Problem kommen. Die Connector- und Shim-Antwortzeiten sinken jedoch erwartungsgemäß mit zunehmender Anzahl von Partitionen.