

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 Zoho CRM
<a name="connecting-to-data-zoho-crm"></a>

Zoho CRM fungiert als zentrales Repository, um Vertriebs-, Marketing- und Kundensupportaktivitäten zusammenzuführen und Prozesse, Richtlinien und Mitarbeiter auf einer einzigen Plattform zu rationalisieren. Zoho CRM lässt sich leicht an die spezifischen Anforderungen jedes Unternehmenstyps und jeder Unternehmensgröße anpassen.

Die Entwicklerplattform von Zoho CRM bietet die richtige Mischung aus Low-Code- und Pro-Code-Tools für businesses/enterprises die Automatisierung der Arbeit, die Integration von Daten im gesamten Unternehmensstapel und die Erstellung maßgeschneiderter Lösungen für Web und Mobilgeräte.

**Topics**
+ [AWS Glue Unterstützung für Zoho CRM](zoho-crm-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](zoho-crm-configuring-iam-permissions.md)
+ [Konfigurieren von Zoho CRM](zoho-crm-configuring.md)
+ [Konfigurieren von Zoho CRM-Verbindungen](zoho-crm-configuring-connections.md)
+ [Aus Zoho CRM-Entitäten lesen](zoho-crm-reading-from-entities.md)
+ [Zoho-CRM-Verbindungsoptionen](zoho-crm-connection-options.md)
+ [Einschränkungen und Hinweise für den Zoho CRM-Connector](zoho-crm-connector-limitations.md)

# AWS Glue Unterstützung für Zoho CRM
<a name="zoho-crm-support"></a>

AWS Glue unterstützt Zoho CRM wie folgt:

**Als Quelle unterstützt?**  
Ja – Sync und Async. Sie können AWS Glue ETL-Jobs verwenden, um Daten aus Zoho CRM abzufragen.

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

**Unterstützte Zoho-CRM-API-Versionen**  
Die folgenden Versionen der Zoho-CRM-API werden unterstützt:
+ v7

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="zoho-crm-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 Zoho CRM
<a name="zoho-crm-configuring"></a>

Bevor Sie Daten aus Zoho CRM übertragen können, müssen Sie die folgenden Anforderungen erfüllen: AWS Glue 

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Zoho CRM-Konto.
+ Ihr Zoho CRM-Konto ist für den API-Zugriff aktiviert.
+ Sie haben einen registrierten API-Client in der API-Konsole, um Anmeldeinformationen zu erhalten OAuth .

# Konfigurieren von Zoho CRM-Verbindungen
<a name="zoho-crm-configuring-connections"></a>

Die Art der Gewährung bestimmt, wie mit Zoho CRM AWS Glue kommuniziert wird, um Zugriff auf Ihre Daten anzufordern. Ihre Auswahl wirkt sich auf die Anforderungen aus, die Sie erfüllen müssen, bevor Sie die Verbindung herstellen. Zoho CRM unterstützt nur den Grant-Typ AUTHORIZATION\$1CODE für 2.0. OAuth 
+ Dieser Gewährungstyp wird als „dreibeiniges“ angesehen, OAuth da er darauf beruht, dass Benutzer zur Authentifizierung des Benutzers an einen Autorisierungsserver eines Drittanbieters weitergeleitet werden. Er wird verwendet, wenn Verbindungen über die Konsole hergestellt werden. AWS Glue Die AWS Glue Konsole leitet den Benutzer zu Zoho CRM weiter, wo er sich anmelden und Glue die angeforderten Berechtigungen für den Zugriff auf seine Zoho CRM-Instanz gewähren muss.
+ Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in Zoho CRM zu erstellen und ihre eigene Client-ID, Authentifizierungs-URL, Token-URL und Instanz-URL anzugeben, wenn sie Verbindungen über die Konsole herstellen. AWS Glue In diesem Szenario werden sie weiterhin zu Zoho CRM 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.
+ [Die öffentliche Dokumentation von Zoho CRM zur Erstellung einer verbundenen App für den Authorization Code OAuth Flow finden Sie unter Authentifizierung.](https://www.zoho.com/crm/developer/docs/api/v7/oauth-overview.html)

So konfigurieren Sie eine Zoho CRM-Verbindung:

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

   1. Wählen Sie als **Verbindungstyp** Zoho CRM aus.

   1. Geben Sie die `INSTANCE_URL` der Zoho CRM-Instance an, mit der Sie eine Verbindung herstellen möchten.

   1. Geben Sie die Client-ID der benutzerseitig verwalteten Client-Anwendung an.

   1. Wählen Sie die entsprechende **Authentifizierungs-URL** aus der Dropdown-Liste aus.

   1. Wählen Sie die entsprechende **Token-URL** aus der Dropdown-Liste 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.

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

# Aus Zoho CRM-Entitäten lesen
<a name="zoho-crm-reading-from-entities"></a>

**Voraussetzung**

Zoho CRM-Objekte, aus denen gelesen werden soll. Sie benötigen den Objektnamen.

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


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Produkt | Ja | Ja | Ja | Ja | Ja | 
| Angebot | Ja | Ja | Ja | Ja | Ja | 
| Bestellungen | Ja | Ja | Ja | Ja | Ja | 
| Lösung | Ja | Ja | Ja | Ja | Ja | 
| Rufen Sie | Ja | Ja | Ja | Ja | Ja | 
| Aufgabe | Ja | Ja | Ja | Ja | Ja | 
| Veranstaltung | Ja | Ja | Ja | Ja | Ja | 
| Rechnung | Ja | Ja | Ja | Ja | Ja | 
| Account | Ja | Ja | Ja | Ja | Ja | 
| Kontakt | Ja | Ja | Ja | Ja | Ja | 
| Hersteller | Ja | Ja | Ja | Ja | Ja | 
| Kampagne | Ja | Ja | Ja | Ja | Ja | 
| Geschäft | Ja | Ja | Ja | Ja | Ja | 
| Lead | Ja | Ja | Ja | Ja | Ja | 
| Benutzerdefiniertes Modul | Ja | Ja | Ja | Ja | Ja | 
| Kundenauftrag | Ja | Ja | Ja | Ja | Ja | 
| Preislisten | Ja | Ja | Ja | Ja | Ja | 
| Case | Ja | Ja | Ja | Ja | Ja | 

**Beispiel:**

```
zoho_read = glueContext.create_dynamic_frame.from_options(
    connection_type="ZOHO",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v7",
        "INSTANCE_URL": "https://www.zohoapis.in/"
    }
```

**Unterstützte Entitäten für die Async-Quelle:**


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Produkt | Ja | Nein | Nein | Ja | Nein | 
| Angebot | Ja | Nein | Nein | Ja | Nein | 
| Bestellungen | Ja | Nein | Nein | Ja | Nein | 
| Lösung | Ja | Nein | Nein | Ja | Nein | 
| Rufen Sie | Ja | Nein | Nein | Ja | Nein | 
| Aufgabe | Ja | Nein | Nein | Ja | Nein | 
| Veranstaltung | Ja | Nein | Nein | Ja | Nein | 
| Rechnung | Ja | Nein | Nein | Ja | Nein | 
| Account | Ja | Nein | Nein | Ja | Nein | 
| Kontakt | Ja | Nein | Nein | Ja | Nein | 
| Hersteller | Ja | Nein | Nein | Ja | Nein | 
| Kampagne | Ja | Nein | Nein | Ja | Nein | 
| Geschäft | Ja | Nein | Nein | Ja | Nein | 
| Lead | Ja | Nein | Nein | Ja | Nein | 
| Benutzerdefiniertes Modul | Ja | Nein | Nein | Ja | Nein | 
| Kundenauftrag | Ja | Nein | Nein | Ja | Nein | 
| Preislisten | Ja | Nein | Nein | Ja | Nein | 
| Case | Ja | Nein | Nein | Ja | Nein | 

**Beispiel:**

```
zoho_read = glueContext.create_dynamic_frame.from_options(
    connection_type="ZOHO",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v7",
        "INSTANCE_URL": "https://www.zohoapis.in/",
        "TRANSFER_MODE": "ASYNC"
    }
```

**Zoho CRM-Felddetails**:

Zoho CRM bietet Endpunkte zum dynamischen Abrufen von Metadaten für unterstützte Entitäten. Daher wird die Bedienerunterstützung auf der Datentypebene erfasst.

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

## Partitionierung von Abfragen
<a name="zoho-crm-reading-partitioning-queries"></a>

Partitionierung wird im Async-Modus nicht unterstützt.

**Filterbasierte Partitionierung (Sync-Modus)**:

Sie können die zusätzlichen Spark-Optionen `PARTITION_FIELD`,`LOWER_BOUND`, `UPPER_BOUND` und `NUM_PARTITIONS` angeben, wenn Sie Parallelität in Spark nutzen möchten. Mit diesen Parametern wird 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.

  Für das DateTime-Feld akzeptieren wir das Spark-Zeitstempelformat, das in Spark-SQL-Abfragen verwendet wird.

  Beispiele für gültigen Wert:

  ```
  "2024-09-30T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
zoho_read = glueContext.create_dynamic_frame.from_options(
    connection_type="zohocrm",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v7",
        "PARTITION_FIELD": "Created_Time"
        "LOWER_BOUND": "2022-01-01T01:01:01.000Z"
        "UPPER_BOUND": "2024-01-01T01:01:01.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Zoho-CRM-Verbindungsoptionen
<a name="zoho-crm-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Zoho CRM aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Zoho CRM.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der REST-API von Zoho CRM, 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.
+ `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.
+ `INSTANCE_URL` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Eine gültige Zoho-CRM-Instance-URL.
+ `TRANSFER_MODE`(Zeichenfolge) – Wird verwendet, um anzugeben, ob die Abfrage im asynchronen Modus ausgeführt werden soll.

# Einschränkungen und Hinweise für den Zoho CRM-Connector
<a name="zoho-crm-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den Zoho CRM-Connector:
+ Mit der API-Version v7 können Sie maximal 100 000 Datensätze abrufen. Weitere Informationen finden Sie in der [Zoho-Dokumentation](https://www.zoho.com/crm/developer/docs/api/v7/get-records.html).
+ Für die Ereignis-Entität wird die Bezeichnung „Meeting“ angezeigt, wie in der [Zoho-Dokumentation](https://www.zoho.com/crm/developer/docs/api/v7/modules-api.html) erwähnt.
+ Für die Funktion „Alle auswählen“:
  + Sie können maximal 50 Felder von SaaS sowohl für den GET- als auch für den POST-Aufruf abrufen.
  + Wenn Sie Daten für ein bestimmtes Feld benötigen, das nicht zu den ersten 50 Feldern gehört, müssen Sie die Liste der ausgewählten Felder manuell angeben.
  + Werden mehr als 50 Felder ausgewählt, werden alle Felder, die über die 50 Felder hinausgehen, gekürzt und enthalten in Amazon S3 Null-Daten. 
  + Wenn im Fall eines Filterausdrucks die vom Benutzer bereitgestellte Liste mit 50 Feldern „id“ und „Created\$1Time“ nicht enthält, wird eine benutzerdefinierte Ausnahme ausgelöst, die den Benutzer auffordert, diese Felder einzubeziehen.
+ Filteroperatoren können variieren, field-to-field obwohl sie denselben Datentyp haben. Daher müssen Sie für jedes Feld, das einen Fehler auf der SaaS-Plattform auslöst, manuell einen anderen Operator angeben. 
+ Für die Funktion „Sortieren nach“:
  + Ohne Filterausdruck können Daten nur nach einem einzigen Feld sortiert werden. Ist ein Filterausdruck angewendet, können Daten nach mehreren Feldern sortiert werden.
  + Ist für das ausgewählte Feld keine Sortierreihenfolge angegeben, werden die Daten standardmäßig in aufsteigender Reihenfolge abgerufen. 
+ Die unterstützten Regionen für den Zoho CRM-Connector sind USA, Europa, Indien, Australien und Japan.
+ [Einschränkungen](https://www.zoho.com/crm/developer/docs/api/v7/bulk-read/limitations.html) der asynchronen Lesefunktion:
  + Die Limitierung der Reihenfolge und Partitionierung werden im asynchronen Modus nicht unterstützt. 
  + Im asynchronen Modus können bis zu 500 Seiten mit 200 000 Datensätzen pro Seite übertragen.
  + Für ein Intervall von einer Minute sind nur 10 Anfragen zum Herunterladen zulässig. Wenn Sie das Download-Limit überschreiten, gibt das System einen HTTP-Fehler 429 zurück und pausiert alle Download-Anfragen für eine Minute, bevor die Verarbeitung fortgesetzt werden kann.
  + Nach Abschluss des Sammelauftrags können Sie nur einen Tag lang auf die herunterladbare Datei zugreifen. Danach ist der Zugriff auf die Datei über Endpunkte nicht mehr möglich.
  + Über einen Endpunkt können maximal 200 Auswahlfelder angegeben werden. Wenn Sie mehr als 200 Auswahlfelder in einem Endpunkt angeben, exportiert das System automatisch alle verfügbaren Felder für dieses Modul.
  + Externe Felder, die in einem Modul erstellt wurden, werden in Bulk Read nicht unterstützt APIs.
  + Sortierung und `Group_by`-Klauseln werden über diesen API-Endpunkt nicht unterstützt.
  + Die Werte der Felder mit sensiblen Gesundheitsdaten werden nur abgerufen, wenn die Option **Datenzugriff über API einschränken** in den Compliance-Einstellungen **deaktiviert** ist. Wenn die Option aktiviert ist, ist der Wert im Ergebnis **leer**.
  + Grenzwerte für Filterung und Kriterien
    + Die maximale Anzahl von Kriterien, die in einer Abfrage verwendet werden können, beträgt 25.
    + Die Filterung/Kriterien für mehrzeilige Textfelder werden nicht unterstützt.