

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 zu Daten
<a name="glue-connections"></a>

Eine AWS Glue *Verbindung* ist ein Datenkatalogobjekt, das Anmeldeinformationen, URI-Zeichenfolgen, VPC-Informationen (Virtual Private Cloud) und mehr für einen bestimmten Datenspeicher speichert. AWS Glue Crawler, Jobs und Entwicklungsendpunkte verwenden Verbindungen, um auf bestimmte Arten von Datenspeichern zuzugreifen. Sie können Verbindungen sowohl für Quellen als auch für Ziele verwenden und dieselbe Verbindung für mehrere Crawler- oder ETL-Aufträge (Extract, Transform, Load) verwenden.

Die neueste Version des AWS Glue Verbindungsschemas bietet eine einheitliche Möglichkeit, Datenverbindungen zwischen AWS Diensten und Anwendungen wie AWS Glue Amazon Athena, und Amazon SageMaker AI Unified Studio zu verwalten.

## Übersicht zur Verwendung von Connectors und Verbindungen
<a name="using-connectors-overview"></a>

Eine *Verbindung* enthält die Eigenschaften, die für das Verbinden mit einem bestimmten Datenspeicher erforderlich sind. Wenn Sie eine Verbindung erstellen, wird sie im AWS Glue Data Catalog gespeichert. Sie wählen einen Connector aus und erstellen dann eine Verbindung basierend auf diesem Connector. 

Sie können Konnektoren für Datenspeicher abonnieren, die nicht nativ unterstützt werden AWS Marketplace, und diese Konnektoren dann beim Erstellen von Verbindungen verwenden. Entwickler können auch eigene Connectors erstellen und sie beim Erstellen von Verbindungen verwenden.

**Anmerkung**  
Verbindungen, die mit benutzerdefinierten Verbindungen oder AWS Marketplace Konnektoren in erstellt wurden, AWS Glue Studio werden in der AWS Glue Konsole mit dem Typ auf angezeigt. `UNKNOWN`

Die folgenden Schritte beschreiben den Gesamtprozess der Verwendung von Konnektoren in AWS Glue Studio:

1. Abonnieren Sie einen Connector in AWS Marketplace oder entwickeln Sie Ihren eigenen Connector und laden Sie ihn auf hoch AWS Glue Studio. Weitere Informationen finden Sie unter [Hinzufügen von Connectors zu AWS Glue Studio](creating-custom-connectors.md#creating-connectors).

1. Überprüfen Sie die Nutzungsinformationen des Connectors. Sie finden diese Informationen auf der Registerkarte **Usage (Verwendung)** auf der Produktseite des Connectors. Wenn Sie beispielsweise auf dieser Produktseite, [AWS Glue Connector für Google](https://aws.amazon.com/marketplace/pp/prodview-w2ranrogj3xmm?ref_=beagle&applicationId=GlueStudio), auf den Tab **Nutzung** klicken BigQuery, finden Sie im Abschnitt **Zusätzliche Ressourcen** einen Link zu einem Blog über die Verwendung dieses Connectors.

1. Verbindung erstellen Sie wählen den Connector aus, den Sie verwenden möchten, und stellen zusätzliche Informationen für die Verbindung bereit, wie Anmeldeinformationen, URI-Zeichenfolgen und VPC-Informationen (Virtual Private Cloud). Weitere Informationen finden Sie unter [Erstellen von Verbindungen für Connectors](creating-connections.md).

1. Erstellen Sie eine IAM-Rolle für Ihren Auftrag. Der Auftrag übernimmt die Berechtigungen der IAM-Rolle, die Sie angeben, wenn Sie sie erstellen. Diese IAM-Rolle muss über die nötigen Berechtigungen verfügen, sich bei Ihren Datenspeichern zu authentifizieren, Daten daraus zu extrahieren und darin zu schreiben. 

1. Erstellen Sie einen ETL-Auftrag und konfigurieren Sie die Datenquelleneigenschaften für Ihren ETL-Auftrag. Geben Sie die Verbindungsoptionen und Authentifizierungsinformationen an, wie vom benutzerdefinierten Connector-Anbieter angewiesen. Weitere Informationen finden Sie unter [Erstellen von Aufträgen mit benutzerdefinierten Connectors](job-authoring-custom-connectors.md).

1. Passen Sie Ihren ETL-Auftrag an, indem Sie Transformationen oder zusätzliche Datenspeicher hinzufügen, wie unter [Starten von Visual-ETL-Aufträgen in AWS Glue Studio](edit-nodes-chapter.md) beschrieben.

1. Wenn Sie einen Connector für das Datenziel verwenden, konfigurieren Sie die Datenzieleigenschaften für Ihren ETL-Auftrag. Geben Sie die Verbindungsoptionen und Authentifizierungsinformationen an, wie vom benutzerdefinierten Connector-Anbieter angewiesen. Weitere Informationen finden Sie unter [Erstellen von Aufträgen mit benutzerdefinierten Connectors](job-authoring-custom-connectors.md).

1. Passen Sie die Umgebung der Auftragsausführung an, indem Sie Auftragseigenschaften konfigurieren, wie unter [Ändern der Auftragseigenschaften](managing-jobs-chapter.md#edit-jobs-properties) beschrieben.

1. Führen Sie den Auftrag aus.

# Einheitliche Verbindungen
<a name="using-connectors-unified-connections"></a>

 AWS hat kürzlich eine neue Funktion namens „SageMaker LakeHouse Connections“ oder „AWS Glue Unified Connections“ eingeführt. Mit dieser Funktion können Sie Verbindungen erstellen, die von mehreren AWS Diensten wie AWS Glue und verwendet werden können Amazon Athena. Wenn Sie eine Datenquelle in erstellen Amazon Athena, werden Sie einen Abschnitt sehen, der sich auf AWS Glue Verbindungseingaben bezieht. In diesem Fall Amazon Athena wird eine AWS Glue Verbindung für Sie erstellt, einschließlich aller Amazon Athena-spezifischen Eigenschaften im Abschnitt AthenaProperties `` der Verbindung. 

 Wenn Sie dagegen direkt in eine Verbindung herstellen, werden Sie nur aufgefordert AWS Glue, spezifische Eigenschaften für Apache Spark einzugeben, die in den Abschnitten `` und ConnectionProperties `SparkProperties` der Verbindung gespeichert werden. AWS Glue 

 Beide Szenarien führen zur Erstellung einer „einheitlichen Verbindung“, aber die in erstellten Verbindungen Amazon Athena sind nur für die Verwendung innerhalb konfiguriert Amazon Athena, während die in erstellten Verbindungen nur für die Verwendung innerhalb konfiguriert AWS Glue sind AWS Glue. Es ist jedoch möglich, diese Verbindungen mit den fehlenden Eigenschaften (entweder Amazon Athena oder Spark-Eigenschaften) zu aktualisieren, sodass sie von beiden Diensten verwendet werden können. Amazon SageMaker AI Unified Studio kümmert sich automatisch darum, indem es alle erforderlichen Eigenschaften (``, ConnectionProperties `` und AthenaProperties `SparkProperties`) für die AWS Glue Verbindung ausfüllt AWS Glue und so sicherstellt, dass die Verbindung sowohl von als auch verwendet werden kann Amazon Athena. 

 Es ist wichtig zu beachten, dass wir diese Verbindungen zwar als „einheitliche Verbindungen“ bezeichnen, die in AWS Glue oder Amazon Athena einzeln erstellten Verbindungen jedoch nicht wirklich vereinheitlicht sind, es sei denn, sie sind ordnungsgemäß für die Verwendung durch beide Dienste konfiguriert. Nur die mit SageMaker Unified Studio erstellten Verbindungen sind wirklich vereinheitlicht und können sofort von mehreren Diensten verwendet werden. 

 Darüber hinaus AWS Glue sind Verbindungen, die in erstellt wurden, nicht sichtbar, Amazon Athena da Datenquellen Amazon Athena angezeigt werden, die zwar einen Verweis auf eine AWS Glue Verbindung enthalten, aber nicht die AWS Glue Verbindung selbst sind. Ebenso Amazon Athena sind Verbindungen, die in erstellt wurden, nicht sichtbar, AWS Glue Studio da alle Verbindungen AWS Glue Studio herausgefiltert werden, für die nicht die erforderlichen Einstellungen konfiguriert wurden AWS Glue. 

 AWS Glue Studio erstellt standardmäßig einheitliche Verbindungen. In der AWS Glue Konsole können Sie die Version der Verbindung in der Verbindungstabelle auf der Verbindungsseite, auf der Verbindungsdetailseite und in der Verbindungstabelle auf der Jobdetailseite sehen. 

 Die Verbindungsversion wird unter Verbindungsdetails angezeigt: 

![\[Der Screenshot zeigt die Verbindungsdetails der v2-Verbindung an.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/connections-v2-connection-details-2.png)


 Die Verbindungsversion wird auch angezeigt, wenn Sie alle Verbindungen anzeigen. 

![\[Der Screenshot zeigt die Verbindungsdetails der v2-Verbindung an.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/connections-list-view-v2-2.png)


 Schließlich wird die Verbindungsversion auf der Registerkarte „Auftragsdetails“ für einen Auftrag angezeigt. 

![\[Der Screenshot zeigt die Verbindungsdetails der v2-Verbindung an.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/connections-v2-job-details-tab.png)


 Bei Verbindungen der Version 2 stehen Ihnen die folgenden erweiterten Datenkonnektivitätsfunktionen zur Verfügung: 
+  **Erkennung von Verbindungstypen**: Support für das Erstellen von Verbindungen mithilfe standardisierter Vorlagen. AWS Glue erkennt automatisch die Verbindungstypen, auf die Sie zugreifen können, sowie die erforderlichen und optionalen Eingaben für einen bestimmten Verbindungstyp. 
+  **Wiederverwendbarkeit**: Verbindungsdefinitionen, die in allen AWS Datenverarbeitungsmodulen und Tools wie AWS Glue Amazon Athena, und wiederverwendet werden können. Amazon SageMaker AI Verbindungen enthalten jetzt AthenaProperties, SparkProperties, mit PythonProperties denen zusätzlich zu den allgemeinen Eigenschaften, die in ConnectionProperties gespeichert sind, environment/service berechnungsspezifische Verbindungseigenschaften angegeben werden können. Athena erstellt jetzt Verbindungen, AWS Glue indem sie Athena-spezifische Eigenschaften in der AthenaProperties Eigenschaftenübersicht angibt. 
+  **Datenvorschau**: Möglichkeit, Metadaten zu durchsuchen und eine Vorschau von Daten aus verbundenen Quellen anzuzeigen. 
+  **Connector-Metadaten**: Wiederverwendbare Verbindungen können verwendet werden, um Tabellenmetadaten zu ermitteln. 
+  **Mit dem Dienst verknüpfte Geheimnisse**: Benutzer können in der Anfrage die erforderlichen OAuth, grundlegenden oder benutzerdefinierten Authentifizierungsdaten angeben. `CreateConnection` Die CreateConnection API erstellt ein Service Linked Secret in Ihrem Konto und speichert die Anmeldeinformationen in Ihrem Namen. 

## Unterstützte Authentifizierungsmethoden
<a name="unified-connections-authentication-types"></a>

 Für einheitliche Verbindungen werden die folgenden Authentifizierungstypen unterstützt: 
+  **BASIC** — Die meisten Datenbankverbindungstypen und vorhandenen AWS Glue Verbindungstypen unterstützen die Standardauthentifizierung, bei der es sich um einen Benutzernamen und ein Passwort handelt. Bisher war die Benennung der Schlüssel konnektorspezifisch und könnte beispielsweise user, username, userName, opensearch.net.http.auth.user usw. lauten. SecretsManager Hier wurden durch einheitliche Verbindungen die grundlegenden Verbindungsarten für die Authentifizierung anhand der Schlüssel USERNAME und PASSWORD standardisiert. 
+  **OAUTH2**— Die meisten neu eingeführten SaaS-Verbindungstypen unterstützen OAuth2 das Protokoll. 
+  **BENUTZERDEFINIERT** — Einige Verbindungstypen verfügen über einen anderen Authentifizierungsmechanismus wie Google, BigQuery bei dem von Benutzern erwartet wird, dass sie das von Google erhaltene JSON angeben BigQuery. 

## Überlegungen
<a name="using-connectors-unified-connections-considerations"></a>

 Wenn Sie eine einheitliche Verbindung für Datenquellen erstellen, sollten Sie die folgenden Unterschiede berücksichtigen: 
+  Beim Herstellen einer einheitlichen Verbindung über AWS Glue Studio werden Benutzeranmeldedaten AWS Secrets Manager nicht in der Verbindung selbst gespeichert. Das bedeutet, dass Aufträge jetzt Zugriff auf Secrets Manager benötigen. 
+  Wenn Aufträge in einer VPC ausgeführt werden, benötigen sie entweder einen VPC-Endpunkt oder ein NAT-Gateway, um auf AWS Secrets Manager und den Secure Token Service (STS) zuzugreifen, was zusätzliche Kosten verursacht. 
+  Für bestimmte Datenquellen (Redshift, SQL Server, MySQL, Oracle, PostgreSQL) AWS Glue Studio erfordert die Erstellung einer einheitlichen Verbindung über Zugriff auf und. AWS STS AWS Secrets Manager Dies ist erforderlich, um eine sichere Verbindung herzustellen und die erforderlichen Anmeldeinformationen für den Zugriff auf diese Datenquellen innerhalb Ihrer Virtual Private Cloud (VPC) abzurufen. 
+  Für die Erstellung einer einheitlichen Verbindung ist eine IAM-Rolle mit Berechtigungen für den Zugriff auf AWS Secrets Manager und die Verwaltung von VPC-Ressourcen AWS Glue Studio erforderlich (falls Sie eine VPC verwenden): 
  + Geheimnismanager: GetSecretValue
  + Verwalter von Geheimnissen: PutSecretValue
  + Verwalter von Geheimnissen: DescribeSecret
  + ec2: CreateNetworkInterface
  + ec2: DeleteNetworkInterface
  + ec2: DescribeNetworkInterfaces
  + ec2: DescribeSubnets

# Verfügbare Verbindungen
<a name="available-connections"></a>

AWS Glue unterstützt die folgenden Verbindungstypen:
+ Adobe Analytics
+ Adobe Marketo Engage
+ Amazon Aurora (unterstützt, wenn der native JDBC-Treiber verwendet wird. Nicht alle Features des Treibers können genutzt werden)
+ Amazon DocumentDB
+ Amazon DynamoDB
+ Amazon OpenSearch Service, zur Verwendung mit AWS Glue für Spark.
+ Amazon Redshift
+ Asana
+ Azure Cosmos, für die Verwendung von Azure Cosmos DB für NoSQL mit ETL-Jobs AWS Glue 
+ Azure SQL, zur Verwendung mit AWS Glue für Spark.
+ Blackbaud
+ CircleCI
+ Datadog
+ Docusign Monitor
+ Domo
+ Dynatrace
+ Facebook Ads
+ Facebook Page Insights
+ Freshdesk
+ Freshsales
+ Google Ads
+ Google Analytics 4
+ Google BigQuery, zur Verwendung mit AWS Glue für Spark.
+ Google-Suchkonsole
+ Google Sheets
+ HubSpot
+ Instagram Ads
+ Intercom
+ JDBC
+ Jira Cloud
+ Kafka
+ Kustomer
+ LinkedIn
+ Mailchimp
+ Microsoft Dynamics 365 CRM
+ Microsoft Teams
+ Mixpanel
+ Montag
+ MongoDB
+ MongoDB-Atlas
+ Okta
+ Orakel NetSuite
+ PayPal
+ Pendo
+ Pipedrive
+ Productboard
+ QuickBooks
+ REST-API (erfordert die Einrichtung des Verbindungstyps, siehe [REST-API-Verbindungen](https://docs.aws.amazon.com/glue/latest/dg/rest-api-connections.html))
+ Salesforce
+ Salesforce Commerce Cloud
+ Salesforce Marketing Cloud
+ Salesforce Marketing Cloud Account Engagement (zuvor Salesforce Pardot)
+ SAP HANA, zur Verwendung mit AWS Glue Spark.
+ SAP OData
+ SendGrid
+ ServiceNow
+ Slack
+ Smartsheet
+ Snapchat Ads
+ Stripe
+ Snowflake, zur Verwendung mit AWS Glue für Spark.
+ Teradata Vantage, bei Verwendung für Spark. AWS Glue 
+ Twilio
+ Vertica, zur Verwendung mit für Spark. AWS Glue 
+ WooCommerce
+ Zendesk
+ Zoho CRM
+ Zoom Meetings
+ Verschiedene Amazon Relational Database Service (Amazon RDS)-Angebote
+ Network (Netzwerk) – Bezeichnet eine Netzwerkverbindung zu einer Datenquelle in einer Amazon Virtual Private Cloud (Amazon VPC).

Mit AWS Glue Studio können Sie auch eine Verbindung für einen *Connector* herstellen. Ein Konnektor ist ein optionales Codepaket für den Zugriff auf Datenspeicher in AWS Glue Studio. Weitere Informationen finden Sie unter [Verwenden von Konnektoren und Verbindungen mit AWS Glue Studio](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html) 

Informationen zum Herstellen einer Verbindung zu lokalen Datenbanken finden Sie auf der AWS Big Data Blog-Website unter [So greifen Sie auf lokale Datenspeicher AWS Glue zu und analysieren diese mithilfe](https://aws.amazon.com/blogs/big-data/how-to-access-and-analyze-on-premises-data-stores-using-aws-glue/).

Um eine Verbindung mit der VPC-Konfiguration herzustellen und gleichzeitig eine benutzerdefinierte IAM-Rolle zu verwenden, muss sie über die folgenden VPC-Zugriffsaktionen verfügen:
+ Secretsmanager: GetSecretValue
+ Verwalter von Geheimnissen: PutSecretValue
+ Verwalter von Geheimnissen: DescribeSecret
+ ec2: CreateNetworkInterface
+ ec2: DeleteNetworkInterface
+ ec2: DescribeNetworkInterfaces
+ ec2: DescribeSubnets

## Einschränkungen
<a name="available-connections-limitations"></a>
+  Sie können keine Verbindungen über die AWS Glue Konsole bearbeiten, wenn Sie eine v2-Verbindung erstellt haben mit AWS Glue APIs: 
  + Amazon DocumentDB
  + Amazon Aurora
  + MariaDB
  + MongoDB-Atlas
  + MongoDB

# REST-API-Verbindungen
<a name="rest-api-connections"></a>

 AWS Glue Konnektoren decken ein breites Spektrum an externen AWS und externen Datenquellen ab. Möglicherweise gibt es jedoch proprietäre Systeme oder neue Plattformen, die von nativen AWS Glue Konnektoren nicht unterstützt werden. Der AWS Glue REST-Konnektor bietet einen Mechanismus zum Konfigurieren eines benutzerdefinierten Connectors für jede Datenquelle, die über eine REST-basierte API verfügt, die dann genauso funktioniert wie nativ unterstützte AWS Glue Konnektoren. Diese Funktion minimiert die Notwendigkeit, benutzerdefinierte Bibliotheken oder ETL-Skripts für den Zugriff auf diese Datenquellen zu erstellen. 

 Um den REST-API-Konnektor zu aktivieren, AWS Glue wurde eine neue AWS Ressource eingeführt — der **Verbindungstyp**. Die folgenden Operationen können verwendet werden, um die Konnektivität zu REST-API-basierten Datenquellen zu verwalten: 
+  **RegisterConnectionType**- Registriert einen Verbindungstyp auf der AWS Glue Grundlage der bereitgestellten Konfiguration. Informationen zur Struktur der Anfrage finden Sie unter [ RegisterConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_RegisterConnectionType.html). 
+  **DeleteConnectionType**— Löscht eine Verbindungstyp-Konfiguration in AWS Glue. Siehe [ DeleteConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_DeleteConnectionType.html). 
+  **DescribeConnectionType**- Gibt vollständige Informationen zu den unterstützten Optionen für einen bestimmten Verbindungstyp in zurück AWS Glue. Siehe [ DescribeConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_DescribeConnectionType.html). 
+  **ListConnectionTypes**- Gibt eine Liste der Verbindungstypen mit detaillierten Informationen darüber zurück, was für die einzelnen AWS Glue Verbindungstypen unterstützt wird. Siehe [ListConnectionTypes](https://docs.aws.amazon.com/glue/latest/webapi/API_ListConnectionTypes.html). 

## Erstellen eines REST-Verbindungstyps in AWS Glue
<a name="creating-a-rest-connection-type"></a>

 Um einen REST-Verbindungstyp zu erstellen, verwenden Sie das AWS SDK oder die AWS API AWS CLI, um die RegisterConnectionType API aufzurufen. Die Konfigurationsdetails werden auf der Grundlage der REST-API bereitgestellt, mit der eine Verbindung hergestellt wird. 

**Anmerkung**  
 REST-Verbindungen können nicht mit der AWS Glue Konsole erstellt werden 

### Voraussetzung
<a name="creating-a-rest-connection-type-prerequisites"></a>

 Bevor Sie versuchen, Ihren AWS Glue REST-API-Connector zu konfigurieren, müssen Sie sich mit der internen Funktionsweise der REST-API vertraut machen. Es ist hilfreich, wenn Sie über die REST-API-Dokumentation für die Datenquelle und ein Tool zur Überprüfung der Anforderungs-/Antwortstruktur verfügen. 

 Die folgenden Eigenschaften der REST-API sollten identifiziert werden: 
+  Authentifizierungsmechanismus, der für Aufrufe an den REST-Endpunkt verwendet wird. AWS Glue REST-API-Konnektoren unterstützen: **Standardauthentifizierung, OAuth2 - ClientCredentials, OAuth2 - Autorisierungscode, OAuth2 - JWT und benutzerdefinierte Authentifizierung**. 
+  Entitäten (Datenobjekte), die Sie über den REST-Endpunkt übertragen können, und zugehörige Metadaten (wie Feldnamen und Datentypen). 
+  Die HTTP-Anfrage- und Antwortstruktur. Diese Struktur umfasst die HTTP-Methode, die Endpunkt-URL, Header, Abfrageparameter und das Format des Anfragetexts und der Antwortnutzdaten. 
+  Das Paginierungsschema. AWS Glue REST-API-Konnektoren unterstützen zwei Paginierungsschemata: `cursor-based` und `offset-based` Paginierung. 

### RegisterConnectionType
<a name="registering-a-rest-connection-type"></a>

 Registriert einen ConnectionType Eingang auf AWS Glue der Grundlage der angegebenen Konfiguration. Die ConnectionType Ressource ist eine neue AWS Glue Ressource, die Details darüber speichert, wie Anfragen und Antworten von der Datenquelle interpretiert werden. Heute wird nur das REST-Protokoll unterstützt. Es enthält Details zur REST-API-Quelle wie: 
+  **Verbindungseigenschaften** — Definiert die Verbindung BaseUrl zur REST-API und alle zusätzlichen Anforderungsparameter, die für die Eingabe während dieser Zeit erforderlich sind. AWS Glue CreateConnection 
+  **Authentifizierungskonfiguration** — Definiert, wie Anfragen an die REST-API authentifiziert werden. Diese Konfiguration wird verwendet, wenn eine AWS Glue Verbindung für den Verbindungstyp erstellt wird. 
+  **REST-Konfiguration** — Definiert die HTTP-Anfrage- und Antwortkonfiguration zum Lesen von Daten aus der REST-API-Quelle. Die folgenden Eigenschaften müssen entweder auf **globaler** Ebene oder auf **Entitätsebene** konfiguriert werden: 
  +  **Anforderungsmethode** — Definiert die REST-HTTP-Methode. 
  +  **Antwortkonfiguration** — Definiert, wie die API-Antwort interpretiert werden soll (einschließlich Datensätze oder Fehlerpositionen im Hauptteil). 
  +  **Paginierungskonfiguration** — Definiert die Strategie, die die REST-API für die Paginierung der resultierenden Datensätze verwendet, und definiert, wie die Paginierungseigenschaften gesendet/abgerufen werden sollen. 
  +  **Konfiguration des Validierungsendpunkts** — Definiert den Endpunkt, der aufgerufen werden soll, um eine Verbindung zu validieren. AWS Glue 
  +  **Entitätskonfigurationen** — Definiert die REST-Entitäten, die der Connector unterstützt, und ihr Schema. 

### RegisterConnectionType Syntax der Anfrage
<a name="register-connection-type-request-syntax"></a>

 Siehe [ RegisterConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_RegisterConnectionType.html) 

 Sobald ein REST-API-Verbindungstyp registriert wurde, kann er zum Erstellen von Verbindungen zur konfigurierten Datenquelle verwendet werden. Ausführliche Anweisungen finden Sie unter [Verbindung APIs zu REST](https://docs.aws.amazon.com/glue/latest/dg/connecting-to-data-rest-api.html) herstellen. 

# AWS Glue Verbindungseigenschaften
<a name="connection-properties"></a>

Dieses Thema enthält Informationen zu Eigenschaften für AWS Glue Verbindungen.

**Topics**
+ [Erforderliche Verbindungseigenschaften](#connection-properties-required)
+ [AWS Glue Eigenschaften der JDBC-Verbindung](#connection-properties-jdbc)
+ [AWS Glue Verbindungseigenschaften von MongoDB und MongoDB Atlas](#connection-properties-mongodb)
+ [Salesforce-Verbindungseigenschaften](#connection-properties-salesforce)
+ [Snowflake-Verbindung](#connection-properties-snowflake)
+ [Vertica-Verbindung](#connection-properties-vertica)
+ [SAP-HANA-Verbindung](#connection-properties-saphana)
+ [Azure-SQL-Verbindung](#connection-properties-azuresql)
+ [Teradata-Vantage-Verbindung](#connection-properties-teradata)
+ [OpenSearch Dienstverbindung](#connection-properties-opensearch)
+ [Azure-Cosmos-Verbindung](#connection-properties-azurecosmos)
+ [AWS Glue Eigenschaften der SSL-Verbindung](#connection-properties-SSL)
+ [Apache-Kafka-Verbindungseigenschaften für die Client-Authentifizierung](#connection-properties-authentication)
+ [BigQuery Google-Verbindung](#connection-properties-bigquery)
+ [Vertica-Verbindung](#connection-properties-vertica)

## Erforderliche Verbindungseigenschaften
<a name="connection-properties-required"></a>

Wenn Sie eine Verbindung auf der AWS Glue Konsole definieren, müssen Sie Werte für die folgenden Eigenschaften angeben:

**Verbindungsname**  
Geben Sie einen eindeutigen Namen für Ihre Verbindung ein.

**Verbindungstyp**  
Wählen Sie **JDBC** oder einen der spezifischen Verbindungstypen.   
Weitere Informationen zum JDBC-Verbindungstyp finden Sie unter [AWS Glue Eigenschaften der JDBC-Verbindung](#connection-properties-jdbc)  
Wählen Sie **Network (Netzwerk)** aus, um eine Datenquelle in einer Amazon Virtual Private Cloud-Umgebung (Amazon VPC) zu verbinden.  
Je nach ausgewähltem Typ zeigt die AWS Glue -Konsole weitere erforderliche Felder an. Wenn Sie beispielsweise **Amazon RDS** auswählen, müssen Sie anschließend die Datenbank-Engine auswählen.

**SSL-Verbindung erforderlich**  
Wenn Sie diese Option auswählen, AWS Glue müssen Sie sicherstellen, dass die Verbindung zum Datenspeicher über ein vertrauenswürdiges Secure Sockets Layer (SSL) hergestellt wird.  
Weitere Informationen, einschließlich zusätzlicher Optionen, die bei Auswahl dieser Option verfügbar sind, finden Sie unter [AWS Glue Eigenschaften der SSL-Verbindung](#connection-properties-SSL).

**Wählen Sie MSK-Cluster (Amazon Managed Streaming for Apache Kafka)**  
Gibt einen MSK-Cluster von einem anderen AWS Konto an.

**Kafka-Bootstrap-Server URLs (nur Kafka)**  
Gibt eine durch Kommas getrennte Liste von Bootstrap-Servern an. URLs Schließen Sie die Portnummer ein. Beispiel: b-1.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094, b-2.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094, b-3.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094

## AWS Glue Eigenschaften der JDBC-Verbindung
<a name="connection-properties-jdbc"></a>

 AWS Glue Studio erstellt jetzt einheitliche Verbindungen für MySQL-, Oracle-, PostgresSQL-, Redshift- und SQL Server-Datenquellen, was zusätzliche Schritte für den Zugriff auf Secrets Manager- und VPC-Ressourcen erfordert, was zusätzliche Kosten verursachen kann. Sie können auf diese Verbindungen zugreifen, AWS Glue Studio indem Sie den Verbindungsnamen für die jeweilige Verbindung auswählen. 

 Weitere Informationen finden Sie unter [Überlegungen](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

AWS Glue kann über eine JDBC-Verbindung eine Verbindung zu den folgenden Datenspeichern herstellen:
+ Amazon Redshift
+ Amazon Aurora
+ Microsoft SQL Server
+ MySQL
+ Oracle
+ PostgreSQL
+ Snowflake, wenn Crawler verwendet werden. AWS Glue 
+ Aurora (unterstützt, wenn der native JDBC-Treiber verwendet wird. Nicht alle Features des Treibers können genutzt werden)
+ Amazon RDS for MariaDB

**Wichtig**  
Ein ETL-Auftrag kann derzeit nur eine JDBC-Verbindung mit einem Subnetz verwenden. Wenn Sie über mehrere Datenspeicher in einem Auftrag verfügen, müssen sich diese im gleichen Subnetz befinden oder vom Subnetz erreichbar sein.  
 Wenn Sie sich dafür entscheiden, Ihre eigenen JDBC-Treiberversionen für AWS Glue Crawler zu verwenden, verbrauchen Ihre Crawler Ressourcen in AWS Glue Jobs und Amazon S3, um sicherzustellen, dass Ihre bereitgestellten Treiber in Ihrer Umgebung ausgeführt werden. Der zusätzliche Ressourcenverbrauch wird in Ihrem Konto angezeigt. Darüber hinaus bedeutet die Bereitstellung eines eigenen JDBC-Treibers nicht, dass der Crawler alle Features des Treibers nutzen kann. Treiber sind auf die Eigenschaften beschränkt, die unter [Definieren von Verbindungen im Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html) beschrieben sind. 

Im Folgenden finden Sie zusätzliche Eigenschaften für den JDBC-Verbindungstyp.

**JDBC-URL**  
Geben Sie die URL für Ihren JDBC-Datenspeicher ein. Für die meisten Datenbank-Engines wird dieses Feld in folgendem Format angegeben. Ersetzen Sie in diesem Format, *protocol* *host**port*, und *db\$1name* durch Ihre eigenen Informationen.  
 ` jdbc:protocol://host:port/db_name `   
Abhängig von der Datenbank-Engine kann jedoch ein anderes JDBC-URL-Format erforderlich sein. Dieses Format kann im Hinblick auf die Nutzung des Doppelpunkts (:) und Schrägstrichs (/) oder die Schlüsselwörter, mit denen Datenbanken angegeben werden, geringfügig abweichen.   
Damit JDBC eine Verbindung mit dem Datenspeicher herstellen kann, ist ein `db_name` im Datenspeicher erforderlich. Der `db_name` wird verwendet, um eine Netzwerkverbindung mit dem bereitgestellten `username` und `password` herzustellen. Wenn eine Verbindung besteht, AWS Glue kann auf andere Datenbanken im Datenspeicher zugegriffen werden, um einen Crawler oder einen ETL-Job auszuführen.  
Die folgenden JDBC-URL-Beispiele veranschaulichen die Syntax für mehrere Datenbank-Engines.  
+ Herstellen einer Verbindung mit einem Amazon-Redshift-Cluster-Datenspeicher mithilfe einer `dev`-Datenbank:

   `jdbc:redshift://xxx.us-east-1.redshift.amazonaws.com:8192/dev` 
+ Herstellen einer Verbindung mit einem Amazon RDS for MySQL-Datenspeicher mithilfe einer `employee`-Datenbank:

   `jdbc:mysql://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:3306/employee` 
+ Herstellen einer Verbindung mit einem Amazon RDS for PostgreSQL-Datenspeicher mithilfe einer `employee`-Datenbank:

   `jdbc:postgresql://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:5432/employee` 
+ Herstellen einer Verbindung mit einem Amazon RDS for Oracle-Datenspeicher mithilfe eines `employee`-Servicenamens:

   `jdbc:oracle:thin://@xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:1521/employee` 

  Die Syntax für Amazon RDS for Oracle kann das folgende Muster aufweisen: Ersetzen Sie in diesen Mustern*host*, *port**service\$1name*, und *SID* durch Ihre eigenen Informationen.
  + `jdbc:oracle:thin://@host:port/service_name`
  + `jdbc:oracle:thin://@host:port:SID`
+ Eine Verbindung mit einem Amazon RDS for Microsoft SQL Server-Datenspeicher mit einer `employee`-Datenbank herstellen:

   `jdbc:sqlserver://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:1433;databaseName=employee` 

  Die Syntax für Amazon RDS for SQL Server kann das folgende Muster aufweisen: Ersetzen Sie in diesen Mustern *server\$1name**port*, und *db\$1name* durch Ihre eigenen Informationen. 
  + `jdbc:sqlserver://server_name:port;database=db_name`
  + `jdbc:sqlserver://server_name:port;databaseName=db_name`
+ Um eine Verbindung mit einer Amazon Aurora PostgreSQL `employee` Datenbankinstanz herzustellen, geben Sie den Endpunkt für die Datenbankinstanz, den Port und den Datenbanknamen an:

  `jdbc:postgresql://employee_instance_1.xxxxxxxxxxxx.us-east-2.rds.amazonaws.com:5432/employee`
+ Um eine Verbindung zu einem Amazon RDS for MariaDB Datenspeicher mit einer `employee` Datenbank herzustellen, geben Sie den Endpunkt für die Datenbankinstanz, den Port und den Datenbanknamen an:

  `jdbc:mysql://xxx-cluster.cluster-xxx.aws-region.rds.amazonaws.com:3306/employee`
+ 
**Warnung**  
Snowflake-JDBC-Verbindungen werden nur von Crawlern unterstützt. AWS Glue Wenn Sie den Snowflake-Connector in AWS Glue Jobs verwenden, verwenden Sie den Snowflake-Verbindungstyp.

  Geben Sie zum Herstellen einer Verbindung mit einer Snowflake-Instance der `sample`-Datenbank den Endpunkt für die Snowflake-Instance, den Benutzer, den Datenbanknamen und den Rollennamen an. Sie können optional den `warehouse`-Parameter hinzufügen.

  `jdbc:snowflake://account_name.snowflakecomputing.com/?user=user_name&db=sample&role=role_name&warehouse=warehouse_name` 
**Wichtig**  
 Bei Snowflake-Verbindungen über JDBC wird die Reihenfolge der Parameter in der URL erzwungen und muss wie folgt geordnet werden: `user`, `db`, `role_name` und `warehouse`. 
+ Um eine Verbindung zu einer Snowflake-Instanz der `sample` Datenbank mit einem AWS privaten Link herzustellen, geben Sie die Snowflake-JDBC-URL wie folgt an:

  `jdbc:snowflake://account_name.region.privatelink.snowflakecomputing.com/?user=user_name&db=sample&role=role_name&warehouse=warehouse_name` 

**Username**  
Wir empfehlen, dass Sie zum Speichern der Verbindungsanmeldeinformationen ein AWS Geheimnis verwenden, anstatt Ihren Benutzernamen und Ihr Passwort direkt anzugeben. Weitere Informationen finden Sie unter [Speichern von Verbindungsanmeldedaten in AWS Secrets Manager](connection-properties-secrets-manager.md).
Geben Sie einen Benutzernamen ein, der über die Berechtigung für den Zugriff auf den JDBC-Datenspeicher verfügt. 

**Passwort**  
Geben Sie das Passwort für den Benutzernamen ein, der über Zugriffsberechtigungen für den JDBC-Datenspeicher verfügt.

**Port**  
Geben Sie den Port ein, der in der JDBC-URL verwendet wird, um eine Verbindung mit einer Amazon-RDS-Oracle-Instance herzustellen. Dieses Feld wird nur angezeigt, wenn **Require SSL connection (SSL-Verbindung anfordern)** für eine Amazon-RDS-Oracle-Instance ausgewählt ist.

**VPC**  
Wählen Sie den Namen der Virtual Private Cloud (VPC) aus, die den Datenspeicher enthält. Die AWS Glue Konsole listet alle VPCs für die aktuelle Region auf.  
 Wenn Sie über eine JDBC-Verbindung arbeiten AWS, von der aus gehostet wird, z. B. mit Daten von Snowflake, sollte Ihre VPC über ein NAT-Gateway verfügen, das den Datenverkehr in öffentliche und private Subnetze aufteilt. Das öffentliche Subnetz wird für die Verbindung mit der externen Quelle verwendet, und das interne Subnetz wird für die Verarbeitung von verwendet. AWS Glue Informationen zum Konfigurieren Ihrer Amazon VPC für externe Verbindungen finden Sie unter [Herstellen einer Verbindung mit dem Internet oder anderen Netzwerken mithilfe von NAT-Geräten](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat.html) und [Einrichten von Amazon VPC für JDBC-Verbindungen zu Amazon-RDS-Datenspeichern von AWS Glue](setup-vpc-for-glue-access.md). 

**Subnetz**  
Wählen Sie das Subnetz in der VPC aus, die den Datenspeicher enthält. Die AWS Glue -Konsole listet alle Subnetze für den Datenspeicher in Ihrer VPC auf. 

**Sicherheitsgruppen**  
Wählen Sie die Sicherheitsgruppen aus, die Ihrem Datenspeicher zugeordnet sind. AWS Glue erfordert eine oder mehrere Sicherheitsgruppen mit einer Regel für eingehende Quellen, die eine Verbindung AWS Glue ermöglicht. Die AWS Glue Konsole listet alle Sicherheitsgruppen auf, denen eingehender Zugriff auf Ihre VPC gewährt wird. AWS Glue ordnet diese Sicherheitsgruppen der elastic network interface zu, die mit Ihrem VPC-Subnetz verbunden ist.

**Name der JDBC-Treiberklasse – optional**  
 Geben Sie den Namen der benutzerdefinierten JDBC-Treiberklasse an:   
+ Postgres – org.postgresql.Driver 
+   MySQL – com.mysql.jdbc.Driver, com.mysql.cj.jdbc.Driver  
+   Redshift – com.amazon.redshift.jdbc.Driver, com.amazon.redshift.jdbc42.Driver   
+   Oracle — oracle.jdbc.driver. OracleDriver  
+   SQL Server — com.microsoft.sqlserver.jdbc. SQLServerTreiber  

**JDBC-Treiber-S3-Pfad – optional**  
 Geben Sie den Amazon-S3-Speicherort für den benutzerdefinierten JDBC-Treiber an. Dies ist ein absoluter Pfad zu einer .jar-Datei. Wenn Sie Ihre eigenen JDBC-Treiber bereitstellen möchten, um eine Verbindung zu Ihren Datenquellen für Ihre vom Crawler unterstützten Datenbanken herzustellen, können Sie Werte für Parameter `customJdbcDriverS3Path` und `customJdbcDriverClassName` angeben.  Die Verwendung eines vom Kunden bereitgestellten JDBC-Treibers ist auf das erforderliche [Erforderliche Verbindungseigenschaften](#connection-properties-required) beschränkt. 

## AWS Glue Verbindungseigenschaften von MongoDB und MongoDB Atlas
<a name="connection-properties-mongodb"></a>

Im Folgenden finden Sie zusätzliche Eigenschaften für den MongoDB- oder MongoDB-Atlas-Verbindungstyp.

**MongoDB-URL**  
Geben Sie die URL für Ihren MongoDB- oder MongoDB-Atlas-Datenspeicher ein:  
+ Für MongoDB: mongodb://host:port/database. Der Host kann ein Hostname, eine IP-Adresse oder ein UNIX-Domain-Socket sein. Wenn die Verbindungszeichenfolge keinen Port angibt, wird der standardmäßige MongoDB-Port 27017 verwendet.
+ Für MongoDB Atlas: mongodb\$1srv://server.example.com/database. Der Host kann ein Hostname sein, der im Folgenden einem DNS-SRV-Eintrag entspricht. Das SRV-Format benötigt keinen Port und verwendet den standardmäßigen MongoDB-Port 27017.

**Username**  
Wir empfehlen, dass Sie zum Speichern der Verbindungsanmeldeinformationen einen AWS geheimen Schlüssel verwenden, anstatt Ihren Benutzernamen und Ihr Passwort direkt einzugeben. Weitere Informationen finden Sie unter [Speichern von Verbindungsanmeldedaten in AWS Secrets Manager](connection-properties-secrets-manager.md).
Geben Sie einen Benutzernamen ein, der über die Berechtigung für den Zugriff auf den JDBC-Datenspeicher verfügt. 

**Passwort**  
Geben Sie das Passwort für den Benutzernamen ein, der über Zugriffsberechtigungen für den MongoDB- oder MongoDB-Atlas-Datenspeicher verfügt.

## Salesforce-Verbindungseigenschaften
<a name="connection-properties-salesforce"></a>

Im Folgenden finden Sie zusätzliche Eigenschaften für den Salesforce-Verbindungstyp.
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Salesforce.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der Salesforce-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.
+ `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.
+ `IMPORT_DELETED_RECORDS`(Zeichenfolge) – (Standard): FALSE. Zum Lesen verwendet. Zum Abfrage der Löschdatensätze während der Abfrage.
+ `WRITE_OPERATION`(Zeichenfolge) – Standard: INSERT. Zum Schreiben verwendet. Wert muss INSERT, UPDATE, UPSERT, DELETE sein.
+ `ID_FIELD_NAMES`(Zeichenfolge) – Standard: null. Nur für UPSERT verwendet. 

## Snowflake-Verbindung
<a name="connection-properties-snowflake"></a>

Die folgenden Eigenschaften werden verwendet, um eine Snowflake-Verbindung einzurichten, die in AWS Glue ETL-Jobs verwendet wird. Verwenden Sie beim Crawling von Snowflake eine JDBC-Verbindung.

**Snowflake-URL**  
Die URL Ihres Snowflake-Endpunktes. Weitere Informationen zum Snowflake-Endpunkt URLs finden Sie unter [Connecting to Your Accounts](https://docs.snowflake.com/en/user-guide/organizations-connect) in der Snowflake-Dokumentation.

**AWS Geheim**  
Der **geheime Name** eines Geheimnisses in AWS Secrets Manager. AWS Glue stellt mit den `sfPassword` Tasten `sfUser` und und Ihres Geheimnisses eine Verbindung zu Snowflake her.

**Snowflake-Rolle (optional)**  
Beim Herstellen der Verbindung AWS Glue wird eine Snowflake-Sicherheitsrolle verwendet.

Verwenden Sie die folgenden Eigenschaften, wenn Sie eine Verbindung zu einem Snowflake-Endpunkt konfigurieren, der in Amazon VPC mithilfe von AWS PrivateLink gehostet wird.

**VPC**  
Wählen Sie den Namen der Virtual Private Cloud (VPC) aus, die den Datenspeicher enthält. Die AWS Glue Konsole listet alle VPCs für die aktuelle Region auf.

**Subnetz**  
Wählen Sie das Subnetz in der VPC aus, die den Datenspeicher enthält. Die AWS Glue -Konsole listet alle Subnetze für den Datenspeicher in Ihrer VPC auf.

**Sicherheitsgruppen**  
Wählen Sie die Sicherheitsgruppen aus, die Ihrem Datenspeicher zugeordnet sind. AWS Glue erfordert eine oder mehrere Sicherheitsgruppen mit einer Regel für eingehende Quellen, die eine Verbindung AWS Glue ermöglicht. Die AWS Glue Konsole listet alle Sicherheitsgruppen auf, denen eingehender Zugriff auf Ihre VPC gewährt wird. AWS Glue ordnet diese Sicherheitsgruppen der elastic network interface zu, die mit Ihrem VPC-Subnetz verbunden ist.

## Vertica-Verbindung
<a name="connection-properties-vertica"></a>

Verwenden Sie die folgenden Eigenschaften, um eine Vertica-Verbindung für AWS Glue ETL-Jobs einzurichten.

**Vertica-Host**  
Der Hostname Ihrer Vertica-Installation.

**Vertica-Port**  
Der Port, über den Ihre Vertica-Installation verfügbar ist.

**AWS Geheim**  
Der **geheime Name** eines Geheimnisses in AWS Secrets Manager. AWS Glue stellt mit den Schlüsseln Ihres Geheimnisses eine Verbindung zu Vertica her.

Verwenden Sie die folgenden Eigenschaften, wenn Sie eine Verbindung zu einem Vertica-Endpunkt konfigurieren, der in Amazon VPC gehostet wird.

**VPC**  
Wählen Sie den Namen der Virtual Private Cloud (VPC) aus, die den Datenspeicher enthält. Die AWS Glue Konsole listet alle VPCs für die aktuelle Region auf.

**Subnetz**  
Wählen Sie das Subnetz in der VPC aus, die den Datenspeicher enthält. Die AWS Glue -Konsole listet alle Subnetze für den Datenspeicher in Ihrer VPC auf.

**Sicherheitsgruppen**  
Wählen Sie die Sicherheitsgruppen aus, die Ihrem Datenspeicher zugeordnet sind. AWS Glue erfordert eine oder mehrere Sicherheitsgruppen mit einer Regel für eingehende Quellen, die eine Verbindung AWS Glue ermöglicht. Die AWS Glue Konsole listet alle Sicherheitsgruppen auf, denen eingehender Zugriff auf Ihre VPC gewährt wird. AWS Glue ordnet diese Sicherheitsgruppen der elastic network interface zu, die mit Ihrem VPC-Subnetz verbunden ist.

## SAP-HANA-Verbindung
<a name="connection-properties-saphana"></a>

Verwenden Sie die folgenden Eigenschaften, um eine SAP HANA-Verbindung für AWS Glue ETL-Jobs einzurichten.

**SAP-HANA-URL**  
EINE SAP-JDBC-URL.  
SAP HANA JDBC URLs haben das folgende Format `jdbc:sap://saphanaHostname:saphanaPort/?databaseName=saphanaDBname,ParameterName=ParameterValue`  
AWS Glue erfordert die folgenden JDBC-URL-Parameter:   
+ `databaseName` – Eine Standarddatenbank in SAP HANA, mit der eine Verbindung hergestellt werden kann.

**AWS Geheim**  
Der **geheime Name** eines Geheimnisses in AWS Secrets Manager. AWS Glue stellt mithilfe der Schlüssel Ihres Geheimnisses eine Verbindung zu SAP HANA her.

Verwenden Sie die folgenden Eigenschaften, wenn Sie eine Verbindung zu einem SAP-HANA-Endpunkt konfigurieren, der in Amazon VPC gehostet wird:

**VPC**  
Wählen Sie den Namen der Virtual Private Cloud (VPC) aus, die den Datenspeicher enthält. Die AWS Glue Konsole listet alle VPCs für die aktuelle Region auf.

**Subnetz**  
Wählen Sie das Subnetz in der VPC aus, die den Datenspeicher enthält. Die AWS Glue -Konsole listet alle Subnetze für den Datenspeicher in Ihrer VPC auf.

**Sicherheitsgruppen**  
Wählen Sie die Sicherheitsgruppen aus, die Ihrem Datenspeicher zugeordnet sind. AWS Glue erfordert eine oder mehrere Sicherheitsgruppen mit einer Regel für eingehende Quellen, die eine Verbindung AWS Glue ermöglicht. Die AWS Glue Konsole listet alle Sicherheitsgruppen auf, denen eingehender Zugriff auf Ihre VPC gewährt wird. AWS Glue ordnet diese Sicherheitsgruppen der elastic network interface zu, die mit Ihrem VPC-Subnetz verbunden ist.

## Azure-SQL-Verbindung
<a name="connection-properties-azuresql"></a>

Verwenden Sie die folgenden Eigenschaften, um eine Azure SQL-Verbindung für AWS Glue ETL-Jobs einzurichten.

**Azure-SQL-URL**  
Die JDBC-URL eines Azure-SQL-Endpunkts.  
 Die URL muss das folgende Format aufweisen: `jdbc:sqlserver://databaseServerName:databasePort;databaseName=azuresqlDBname;`.  
AWS Glue erfordert die folgenden URL-Eigenschaften:   
+ `databaseName` – Eine Standarddatenbank in Azure SQL, mit der eine Verbindung hergestellt werden kann.
Weitere Informationen zu JDBC URLs für Azure SQL Managed Instances finden Sie in der [Microsoft-Dokumentation](https://learn.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?view=azuresqldb-mi-current).

**AWS Geheim**  
Der **geheime Name** eines Geheimnisses in AWS Secrets Manager. AWS Glue stellt mithilfe der Schlüssel Ihres Geheimnisses eine Verbindung zu Azure SQL her.

## Teradata-Vantage-Verbindung
<a name="connection-properties-teradata"></a>

Verwenden Sie die folgenden Eigenschaften, um eine Teradata Vantage-Verbindung für AWS Glue ETL-Jobs einzurichten.

**Teradata-URL**  
Um eine Verbindung zu einer Teradata-Instance herzustellen, geben Sie den Hostnamen der Datenbank-Instance und die entsprechenden Teradata-Parameter an:  
`jdbc:teradata://teradataHostname/ParameterName=ParameterValue,ParameterName=ParameterValue`.  
AWS Glue unterstützt die folgenden JDBC-URL-Parameter:   
+ `DATABASE_NAME` – Eine Standarddatenbank in Teradata, mit der eine Verbindung hergestellt werden kann.
+ `DBS_PORT` – Gibt den Teradata-Port an, falls dieser vom Standardwert abweicht.

**AWS Geheim**  
Der **geheime Name** eines Geheimnisses in AWS Secrets Manager. AWS Glue stellt mithilfe der Schlüssel Ihres Geheimnisses eine Verbindung zu Teradata Vantage her.

Verwenden Sie die folgenden Eigenschaften, wenn Sie eine Verbindung zu einem Teradata-Vantage-Endpunkt konfigurieren, der in Amazon VPC gehostet wird:

**VPC**  
Wählen Sie den Namen der Virtual Private Cloud (VPC) aus, die den Datenspeicher enthält. Die AWS Glue Konsole listet alle VPCs für die aktuelle Region auf.

**Subnetz**  
Wählen Sie das Subnetz in der VPC aus, die den Datenspeicher enthält. Die AWS Glue -Konsole listet alle Subnetze für den Datenspeicher in Ihrer VPC auf.

**Sicherheitsgruppen**  
Wählen Sie die Sicherheitsgruppen aus, die Ihrem Datenspeicher zugeordnet sind. AWS Glue erfordert eine oder mehrere Sicherheitsgruppen mit einer Regel für eingehende Quellen, die eine Verbindung AWS Glue ermöglicht. Die AWS Glue Konsole listet alle Sicherheitsgruppen auf, denen eingehender Zugriff auf Ihre VPC gewährt wird. AWS Glue ordnet diese Sicherheitsgruppen der elastic network interface zu, die mit Ihrem VPC-Subnetz verbunden ist.

## OpenSearch Dienstverbindung
<a name="connection-properties-opensearch"></a>

Verwenden Sie die folgenden Eigenschaften, um eine OpenSearch Dienstverbindung für AWS Glue ETL-Jobs einzurichten.

**Domain-Endpunkt**  
Ein Amazon OpenSearch Service-Domain-Endpunkt hat das folgende Standardformat: https://search - *domainName* -*unstructuredIdContent*. *region*.es.amazonaws.com. Weitere Informationen zur Identifizierung Ihres Domain-Endpunkts finden Sie unter [Amazon OpenSearch Service-Domains erstellen und verwalten](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/createupdatedomains.html) in der Amazon OpenSearch Service-Dokumentation. 

**Port**  
Der offene Port im Endpunkt.

**AWS Geheim**  
Der **geheime Name** eines Geheimnisses in AWS Secrets Manager. AWS Glue stellt mit den Schlüsseln Ihres Geheimnisses eine Verbindung zum OpenSearch Service her.

Verwenden Sie die folgenden Eigenschaften, wenn Sie eine Verbindung zu einem in Amazon VPC gehosteten OpenSearch Service-Endpunkt konfigurieren:

**VPC**  
Wählen Sie den Namen der Virtual Private Cloud (VPC) aus, die den Datenspeicher enthält. Die AWS Glue Konsole listet alle VPCs für die aktuelle Region auf.

**Subnetz**  
Wählen Sie das Subnetz in der VPC aus, die den Datenspeicher enthält. Die AWS Glue -Konsole listet alle Subnetze für den Datenspeicher in Ihrer VPC auf.

**Sicherheitsgruppen**  
Wählen Sie die Sicherheitsgruppen aus, die Ihrem Datenspeicher zugeordnet sind. AWS Glue erfordert eine oder mehrere Sicherheitsgruppen mit einer Regel für eingehende Quellen, die eine Verbindung AWS Glue ermöglicht. Die AWS Glue Konsole listet alle Sicherheitsgruppen auf, denen eingehender Zugriff auf Ihre VPC gewährt wird. AWS Glue ordnet diese Sicherheitsgruppen der elastic network interface zu, die mit Ihrem VPC-Subnetz verbunden ist.

## Azure-Cosmos-Verbindung
<a name="connection-properties-azurecosmos"></a>

Verwenden Sie die folgenden Eigenschaften, um eine Azure Cosmos-Verbindung für AWS Glue ETL-Jobs einzurichten.

**Endpunkt-URI für das Azure-Cosmos-DB-Konto**  
Der für die Verbindung mit Azure Cosmos verwendete Endpunkt. Weitere Informationen finden Sie in der [Azure-Dokumentation](https://learn.microsoft.com/en-us/rest/api/cosmos-db/cosmosdb-resource-uri-syntax-for-rest).

**AWS Geheim**  
Der **geheime Name** eines Geheimnisses in AWS Secrets Manager. AWS Glue stellt mithilfe der Schlüssel Ihres Geheimnisses eine Verbindung zu Azure Cosmos her.

## AWS Glue Eigenschaften der SSL-Verbindung
<a name="connection-properties-SSL"></a>

Im Folgenden finden Sie Details zur Eigenschaft **SSL-Verbindung erforderlich**.

Wenn Sie keine SSL-Verbindung benötigen, werden Fehler AWS Glue ignoriert, wenn SSL zum Verschlüsseln einer Verbindung zum Datenspeicher verwendet wird. In der Dokumentation Ihrer Datenbank finden Sie Konfigurationsanweisungen. Wenn Sie diese Option auswählen, schlagen die Auftragsausführungs-, Crawler- oder ETL-Anweisungen in einem Entwicklungsendpunkt fehl, wenn sich AWS Glue nicht verbinden kann.

**Anmerkung**  
Snowflake unterstützt standardmäßig eine SSL-Verbindung, daher gilt diese Eigenschaft nicht für Snowflake.

Diese Option wird auf der AWS Glue Clientseite validiert. Bei JDBC-Verbindungen werden AWS Glue nur Verbindungen über SSL mit Zertifikat- und Hostnamenvalidierung hergestellt. SSL-Verbindungsunterstützung ist verfügbar für: 
+ Oracle-Datenbank
+ Microsoft SQL Server
+ PostgreSQL
+ Amazon Redshift
+ MySQL (nur für Amazon-RDS-Instances)
+ Amazon Aurora MySQL (nur für Amazon-RDS-Instances)
+ Amazon Aurora PostgreSQL (Nur Amazon RDS-Instances)
+ Kafka, das beinhaltet Amazon Managed Streaming für Apache Kafka
+ MongoDB

**Anmerkung**  
Um einem **Amazon-RDS-Oracle-**-Datenspeicher die Verwendung von **Require SSL connection (SSL-Verbindung anfordern)** zu ermöglichen, müssen Sie eine Optionsgruppe erstellen und an die Oracle-Instance anfügen.  
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon RDS-Konsole unter [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).
Fügen Sie eine **Optionsgruppe** zur Amazon-RDS-Oracle-Instance hinzu. Weitere Informationen zum Hinzufügen einer Optionsgruppe auf der Amazon-RDS-Konsole finden Sie unter [Creating an Option Group (Erstellen einer Optionsgruppe)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html#USER_WorkingWithOptionGroups.Create).
Hinzufügen einer **Option** zur Optionsgruppe für **SSL**. Der **Port**, den Sie für SSL angeben, wird später verwendet, wenn Sie eine AWS Glue JDBC-Verbindungs-URL für die Amazon RDS-Oracle-Instance erstellen. Weitere Informationen zum Hinzufügen einer Option auf der Amazon-RDS-Konsole finden Sie unter [Adding an Option to an Option Group (Hinzufügen einer Option zu einer Optionsgruppe)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html#USER_WorkingWithOptionGroups.AddOption) im *Benutzerhandbuch für Amazon RDS*. Weitere Informationen zu den Oracle-SSL-Optionen finden Sie unter [Oracel SSL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.SSL.html) im *Amazon RDS-Benutzerhandbuch*. 
Stellen Sie auf der AWS Glue Konsole eine Verbindung zur Amazon RDS Oracle-Instance her. Wählen Sie in der Verbindungsdefinition die Option **SSL-Verbindung erforderlich**aus. Geben Sie bei Bedarf den **Port** ein, den Sie in der Option Amazon RDS Oracle SSL verwendet haben. 

Die folgenden zusätzlichen optionalen Eigenschaften sind verfügbar, wenn **Require SSL connection (SSL-Verbindung erforderlich)** für eine Verbindung ausgewählt ist.

**Benutzerdefiniertes JDBC-Zertifikat in S3**  
Wenn Sie über ein Zertifikat verfügen, das Sie derzeit für die SSL-Kommunikation mit Ihren lokalen oder Cloud-Datenbanken verwenden, können Sie dieses Zertifikat für SSL-Verbindungen zu AWS Glue Datenquellen oder Zielen verwenden. Geben Sie einen Amazon Simple Storage Service (Amazon S3) -Standort ein, der ein benutzerdefiniertes Stammzertifikat enthält. AWS Glue verwendet dieses Zertifikat, um eine SSL-Verbindung zur Datenbank herzustellen. AWS Glue verarbeitet nur X.509-Zertifikate. Das Zertifikat muss DER-codiert sein und im base64-PEM-Codierungsformat bereitgestellt werden.  
Wenn dieses Feld leer bleibt, wird das Standardzertifikat verwendet.

**Benutzerdefinierte JDBC-Zertifikatzeichenfolge**  
Geben Sie JDBC-Datenbank-Zertifikatinformationen ein. Diese Zeichenfolge wird für den Domainabgleich oder den Distinguished Name (DN)-Abgleich verwendet wird. Im Fall von Oracle Database entspricht die Zeichenfolge dem Parameter `SSL_SERVER_CERT_DN` im Sicherheitsabschnitt der Datei `tnsnames.ora`. Im Fall von Microsoft SQL Server wird diese Zeichenfolge als `hostNameInCertificate` verwendet.  
Im Folgenden finden Sie ein Beispiel für den Oracle Database-Parameter `SSL_SERVER_CERT_DN`.  

```
cn=sales,cn=OracleContext,dc=us,dc=example,dc=com
```

**Speicherort des privaten CA-Zertifikats von Kafka**  
Wenn Sie über ein Zertifikat verfügen, das Sie derzeit für die SSL-Kommunikation mit Ihrem Kafka-Datenspeicher verwenden, können Sie dieses Zertifikat mit Ihrer AWS Glue Verbindung verwenden. Diese Option ist für Kafka-Datenspeicher erforderlich und für Amazon Managed Streaming für Apache Kafka Datenspeicher optional. Geben Sie einen Amazon Simple Storage Service (Amazon S3) -Standort ein, der ein benutzerdefiniertes Stammzertifikat enthält. AWS Glue verwendet dieses Zertifikat, um eine SSL-Verbindung zum Kafka-Datenspeicher herzustellen. AWS Glue verarbeitet nur X.509-Zertifikate. Das Zertifikat muss DER-codiert sein und im base64-PEM-Codierungsformat bereitgestellt werden. 

**Zertifikatvalidierung überspringen**  
Aktivieren Sie das Kontrollkästchen **Zertifikatsvalidierung** überspringen, um die Validierung des benutzerdefinierten Zertifikats zu AWS Glueüberspringen. Wenn Sie sich für die Validierung entscheiden, werden der Signaturalgorithmus und der Betreff-Public-Key-Algorithmus für das Zertifikat AWS Glue validiert. Wenn das Zertifikat nicht validiert werden kann, schlägt die Ausführung aller ETL-Aufgaben oder Crawler fehl, die diese Verbindung verwenden.  
Die einzig zulässigen Signaturalgorithmen sind SHA256with RSA, RSA SHA384with oder RSA. SHA512with Die Schlüssellänge für den Algorithmus für den öffentlichen Schlüssel muss mindestens 2048 betragen.

**Kafka-Client-Keystore-Speicherort**  
Der Amazon-S3-Speicherort der Client-Keystore-Datei für die clientseitige Kafka-Authentifizierung. Der Pfad muss das Format s3://.jks haben. bucket/prefix/filename Er muss mit dem Dateinamen und der Erweiterung .jks enden.

**Passwort für den Kafka-Client-Keystore (optional)**  
Das Passwort für den Zugriff auf den bereitgestellten Keystore.

**Passwort für den Kafka-Client-Schlüssel (optional)**  
Ein Keystore kann aus mehreren Schlüsseln bestehen, also ist dies das Passwort für den Zugriff auf den Clientschlüssel, der mit dem serverseitigen Kafka-Schlüssel verwendet werden soll.

## Apache-Kafka-Verbindungseigenschaften für die Client-Authentifizierung
<a name="connection-properties-authentication"></a>

AWS Glue unterstützt das SASL-Framework (Simple Authentication and Security Layer) für die Authentifizierung, wenn Sie eine Apache Kafka-Verbindung herstellen. Das SASL-Framework unterstützt verschiedene Authentifizierungsmechanismen und AWS Glue bietet die Protokolle SCRAM (Benutzername und Passwort), GSSAPI (Kerberos-Protokoll) und PLAIN.

Wird verwendet AWS Glue Studio , um eine der folgenden Client-Authentifizierungsmethoden zu konfigurieren. Weitere Informationen finden Sie im AWS Glue Studio Benutzerhandbuch unter [Verbindungen für Konnektoren erstellen](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#creating-connections).
+ Keine – Keine Authentifizierung. Dies ist nützlich, wenn Sie eine Verbindung zu Testzwecken herstellen. 
+ SASL/SCRAM-SHA-512 – Wenn Sie diese Authentifizierungsmethode wählen, können Sie Anmeldeinformationen zur Authentifizierung angeben. Es gibt zwei Optionen: 
  +  AWS Secrets Manager verwenden (empfohlen) — wenn Sie diese Option wählen, können Sie Ihren Benutzernamen und Ihr Passwort in AWS Secrets Manager speichern und bei Bedarf AWS Glue darauf zugreifen lassen. Geben Sie das Secret an, das die SSL- oder SASL-Authentifizierungsdaten speichert. Weitere Informationen finden Sie unter [Speichern von Verbindungsanmeldedaten in AWS Secrets Manager](connection-properties-secrets-manager.md). 
  + Geben Sie einen Benutzernamen und ein Passwort ein.
+ SASL/GSSAPI (Kerberos) - if you select this option, you can select the location of the keytab file, krb5.conf file and enter the Kerberos principal name and Kerberos service name. The locations for the keytab file and krb5.conf file must be in an Amazon S3 location. Since MSK does not yet support SASL/GSSAPI, diese Option ist nur für vom Kunden verwaltete Apache Kafka-Cluster verfügbar. Weitere Informationen finden Sie unter [MIT Kerberos-Dokumentation: Keytab](https://web.mit.edu/kerberos/krb5-latest/doc/basic/keytab_def.html). 
+ SASL/PLAIN – Wählen Sie diese Authentifizierungsmethode, um Anmeldeinformationen zur Authentifizierung anzugeben. Es gibt zwei Optionen:
  +  AWS Secrets Manager verwenden (empfohlen) — Wenn Sie diese Option wählen, können Sie Ihre Anmeldeinformationen in AWS Secrets Manager speichern und bei Bedarf AWS Glue auf die Informationen zugreifen. Geben Sie das Secret an, das die SSL- oder SASL-Authentifizierungsdaten speichert.
  + Geben Sie Benutzername und Passwort direkt an.
+ SSL-Clientauthentifizierung – Wenn Sie diese Option auswählen, können Sie den Standort des Kafka-Client-Keystores auswählen, indem Sie Amazon S3 durchsuchen. Optional können Sie das Kennwort für den Kafka-Client-Keystore und das Kafka-Client-Schlüsselkennwort eingeben. 

## BigQuery Google-Verbindung
<a name="connection-properties-bigquery"></a>

Die folgenden Eigenschaften werden verwendet, um eine BigQuery Google-Verbindung einzurichten, die in AWS Glue ETL-Jobs verwendet wird. Weitere Informationen finden Sie unter [BigQuery Verbindungen](aws-glue-programming-etl-connect-bigquery-home.md).

AWS Geheim  
Der **geheime Name** eines Geheimnisses in AWS Secrets Manager. AWS Glue ETL-Jobs stellen BigQuery mithilfe des `credentials` Schlüssels Ihres Geheimnisses eine Verbindung zu Google her.

## Vertica-Verbindung
<a name="connection-properties-vertica"></a>

Die folgenden Eigenschaften werden verwendet, um eine Vertica-Verbindung einzurichten, die in AWS Glue ETL-Jobs verwendet wird. Weitere Informationen finden Sie unter [Vertica-Verbindungen](aws-glue-programming-etl-connect-vertica-home.md).

# Speichern von Verbindungsanmeldedaten in AWS Secrets Manager
<a name="connection-properties-secrets-manager"></a>

Wir empfehlen, dass Sie es verwenden, AWS Secrets Manager um Verbindungsanmeldedaten für Ihren Datenspeicher anzugeben. Wenn Sie Secrets Manager auf diese Weise verwenden, können Sie zur Laufzeit bei ETL-Jobs und Crawler-Läufen auf Ihr Geheimnis AWS Glue zugreifen und Ihre Anmeldeinformationen schützen.

**Voraussetzungen**

Um Secrets Manager mit verwenden zu können AWS Glue, müssen Sie Ihrer [IAM-Rolle die AWS Glue Erlaubnis zum](create-an-iam-role.md) Abrufen geheimer Werte erteilen. Die AWS verwaltete Richtlinie beinhaltet `AWSGlueServiceRole` keine AWS Secrets Manager Berechtigungen. Beispiele für IAM-Richtlinien finden Sie unter [Beispiel: Berechtigung zum Abrufen von Secret-Werten](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_read) im *AWS Secrets Manager*-*Benutzerhandbuch*.

Abhängig von Ihrer Netzwerkkonfiguration müssen Sie möglicherweise auch einen VPC-Endpunkt erstellen, um eine private Verbindung zwischen Ihrer VPC und dem Secrets Manager herzustellen. Weitere Informationen finden Sie unter [Verwenden von AWS Secrets Manager -VPC-Endpunkten](https://docs.aws.amazon.com/secretsmanager/latest/userguide/vpc-endpoint-overview.html).

**Um ein Geheimnis zu erstellen für AWS Glue**

1. Befolgen Sie die Anweisungen unter [Create and manage secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html) (Secrets erstellen und verwalten) im *AWS Secrets Manager -Benutzerhandbuch*. Das folgende Beispiel-JSON zeigt, wie Sie Ihre Anmeldeinformationen im Reiter **Plaintext** (Klartext) angeben, wenn Sie ein Secret für AWS Glue erstellen. 

   ```
   {
     "username": "EXAMPLE-USERNAME",
     "password": "EXAMPLE-PASSWORD"
   }
   ```

1. Ordnen Sie Ihr Geheimnis über die AWS Glue Studio Schnittstelle einer Verbindung zu. Detaillierte Anweisungen finden Sie unter [Erstellen von Verbindungen für Konnektoren](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#creating-connections) im *AWS Glue Studio -Benutzerhandbuch*.

# AWS Glue Verbindung hinzufügen
<a name="console-connections"></a>

 Sie können in AWS Glue Spark programmgesteuert eine Verbindung zu Datenquellen herstellen. Weitere Informationen finden Sie unter [Verbindungstypen und Optionen für ETL in AWS Glue für Spark](aws-glue-programming-etl-connect.md). 

Sie können die AWS Glue Konsole auch verwenden, um Verbindungen hinzuzufügen, zu bearbeiten, zu löschen und zu testen. Informationen zu AWS Glue Verbindungen finden Sie unter[Herstellen einer Verbindung zu Daten](glue-connections.md).

**Topics**
+ [Herstellen einer Verbindung mit Adobe Analytics](connecting-to-adobe-analytics.md)
+ [Herstellen einer Verbindung mit Adobe Marketo Engage](connecting-to-data-adobe-marketo-engage.md)
+ [Herstellen einer Verbindung mit Amazon Redshift in AWS Glue Studio](connecting-to-data-redshift.md)
+ [Herstellen einer Verbindung mit Asana](connecting-to-asana.md)
+ [Verbindung zu Azure Cosmos DB in AWS Glue Studio herstellen](connecting-to-data-azurecosmos.md)
+ [Verbindung zu Azure SQL in AWS Glue Studio herstellen](connecting-to-data-azuresql.md)
+ [Herstellen einer Verbindung mit Blackbaud Raiser's Edge NXT](connecting-to-data-blackbaud.md)
+ [Herstellen einer Verbindung mit CircleCI](connecting-to-data-circleci.md)
+ [Herstellen einer Verbindung zu Datadog](connecting-to-datadog.md)
+ [Herstellen einer Verbindung mit Docusign Monitor](connecting-to-data-docusign-monitor.md)
+ [Herstellen einer Verbindung mit Domo](connecting-to-data-domo.md)
+ [Herstellen einer Verbindung mit Dynatrace](connecting-to-data-dynatrace.md)
+ [Herstellen einer Verbindung mit Facebook Ads](connecting-to-data-facebook-ads.md)
+ [Herstellen einer Verbindung mit Facebook Page Insights](connecting-to-data-facebook-page-insights.md)
+ [Herstellen einer Verbindung mit Freshdesk](connecting-to-data-freshdesk.md)
+ [Herstellen einer Verbindung mit Freshsales](connecting-to-data-freshsales.md)
+ [Herstellen einer Verbindung mit Google Ads](connecting-to-googleads.md)
+ [Herstellen einer Verbindung mit Google Analytics 4](connecting-to-googleanalytics.md)
+ [Verbindung zu Google herstellen BigQuery in AWS Glue Studio](connecting-to-data-bigquery.md)
+ [Herstellen einer Verbindung mit Google Search Console](connecting-to-data-google-search-console.md)
+ [Herstellen einer Verbindung mit Google Sheets](connecting-to-googlesheets.md)
+ [Verbindung herstellen zu HubSpot](connecting-to-data-hubspot.md)
+ [Herstellen einer Verbindung mit Instagram Ads](connecting-to-data-instagram-ads.md)
+ [Herstellen einer Verbindung mit Intercom in AWS Glue Studio](connecting-to-data-intercom.md)
+ [Herstellen einer Verbindung mit Jira Cloud](connecting-to-data-jira-cloud.md)
+ [Herstellen einer Verbindung mit Kustomer](connecting-to-data-kustomer.md)
+ [Verbindung herstellen zu LinkedIn](connecting-to-linkedin.md)
+ [Herstellen einer Verbindung mit Mailchimp](connecting-to-mailchimp.md)
+ [Herstellen einer Verbindung mit Microsoft Dynamics 365 CRM](connecting-to-microsoft-dynamics-365.md)
+ [Herstellen einer Verbindung zu Microsoft Teams](connecting-to-microsoft-teams.md)
+ [Herstellen einer Verbindung mit Mixpanel](connecting-to-mixpanel.md)
+ [Herstellen einer Verbindung mit Monday](connecting-to-monday.md)
+ [Verbindung zu MongoDB in AWS Glue Studio herstellen](connecting-to-data-mongodb.md)
+ [Verbindung zu Oracle herstellen NetSuite](connecting-to-data-oracle-netsuite.md)
+ [Verbindung zum OpenSearch Service herstellen in AWS Glue Studio](connecting-to-data-opensearch.md)
+ [Herstellen einer Verbindung mit Okta](connecting-to-okta.md)
+ [Verbindung herstellen zu PayPal](connecting-to-data-paypal.md)
+ [Herstellen einer Verbindung mit Pendo](connecting-to-pendo.md)
+ [Herstellen einer Verbindung mit Pipedrive](connecting-to-pipedrive.md)
+ [Herstellen einer Verbindung mit Productboard](connecting-to-productboard.md)
+ [Verbindung herstellen zu QuickBooks](connecting-to-data-quickbooks.md)
+ [Verbindung zu einer REST-API herstellen](connecting-to-data-rest-api.md)
+ [Herstellen einer Verbindung zu Salesforce](connecting-to-data-salesforce.md)
+ [Herstellen einer Verbindung mit Salesforce Marketing Cloud](connecting-to-data-salesforce-marketing-cloud.md)
+ [Herstellen einer Verbindung mit Salesforce Commerce Cloud](connecting-to-salesforce-commerce-cloud.md)
+ [Herstellen einer Verbindung mit Salesforce Marketing Cloud Account Engagement](connecting-to-data-salesforce-marketing-cloud-account-engagement.md)
+ [Verbindung zu SAP HANA in AWS Glue Studio herstellen](connecting-to-data-saphana.md)
+ [Verbindung zu SAP herstellen OData](connecting-to-data-sap-odata.md)
+ [Verbindung herstellen zu SendGrid](connecting-to-data-sendgrid.md)
+ [Verbindung herstellen zu ServiceNow](connecting-to-data-servicenow.md)
+ [Herstellen einer Verbindung mit Slack in AWS Glue Studio](connecting-to-data-slack.md)
+ [Herstellen einer Verbindung mit Smartsheet](connecting-to-smartsheet.md)
+ [Herstellen einer Verbindung mit Snapchat Ads in AWS Glue Studio](connecting-to-data-snapchat-ads.md)
+ [Herstellen einer Verbindung zu Snowflake in AWS Glue Studio](connecting-to-data-snowflake.md)
+ [Herstellen einer Verbindung mit Stripe in AWS Glue Studio](connecting-to-data-stripe.md)
+ [Verbindung zu Teradata Vantage in AWS Glue Studio herstellen](connecting-to-data-teradata.md)
+ [Herstellen einer Verbindung mit Twilio](connecting-to-data-twilio.md)
+ [Verbindung zu Vertica in AWS Glue Studio herstellen](connecting-to-data-vertica.md)
+ [Verbindung herstellen zu WooCommerce](connecting-to-data-woocommerce.md)
+ [Herstellen einer Verbindung mit Zendesk](connecting-to-data-zendesk.md)
+ [Herstellen einer Verbindung mit Zoho CRM](connecting-to-data-zoho-crm.md)
+ [Herstellen einer Verbindung mit Zoom Meetings](connecting-to-data-zoom-meetings.md)
+ [Hinzufügen einer JDBC-Verbindung mit Ihren eigenen JDBC-Treibern](console-connections-jdbc-drivers.md)

# Herstellen einer Verbindung mit Adobe Analytics
<a name="connecting-to-adobe-analytics"></a>

Adobe Analytics ist eine leistungsstarke Datenanalyseplattform, die Daten aus digitalen Multi-Channel-Erlebnissen sammelt, die die Customer Journey unterstützen, und Tools zur Analyse dieser Daten bereitstellt. Diese Plattform wird häufig von Vermarktern und Geschäftsanalysten für geschäftliche Analysezwecke genutzt. Wenn Sie ein Adobe Analytics-Benutzer sind, können Sie eine Verbindung AWS Glue zu Ihrem Adobe Analytics-Konto herstellen. Anschließend können Sie Adobe Analytics als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Adobe Analytics und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen.

**Topics**
+ [AWS Glue Unterstützung für Adobe Analytics](adobe-analytics-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](adobeanalytics-configuring-iam-permissions.md)
+ [Konfigurieren von Adobe Analytics](adobeanalytics-configuring.md)
+ [Konfigurieren von Adobe Analytics-Verbindungen](adobeanalytics-configuring-connections.md)
+ [Aus Adobe Analytics-Entitäten lesen](adobeanalytics-reading-from-entities.md)
+ [Verbindungsoptionen für Adobe Analytics](adobeanalytics-connection-options.md)
+ [Erstellen eines Adobe Analytics-Kontos](adobeanalytics-create-account.md)
+ [Einschränkungen](adobeanalytics-connector-limitations.md)

# AWS Glue Unterstützung für Adobe Analytics
<a name="adobe-analytics-support"></a>

AWS Glue unterstützt Adobe Analytics wie folgt:

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

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

**Unterstützte Versionen der Adobe Analytics-API**  
 v2.0 

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="adobeanalytics-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": "*"
    }
  ]
}
```

------

Wenn Sie die vorstehende 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, 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 Adobe Analytics
<a name="adobeanalytics-configuring"></a>

Bevor Sie die Übertragung von Adobe Analytics verwenden AWS Glue können, müssen Sie die folgenden Anforderungen erfüllen:

## Mindestanforderungen
<a name="adobeanalytics-configuring-min-requirements"></a>
+ Sie haben ein Adobe Analytics-Konto mit E-Mail-Adresse und Passwort. Weitere Informationen zum Erstellen eines Kontos finden Sie unter [Erstellen eines Adobe Analytics-Kontos](adobeanalytics-create-account.md). 
+  Ihr Adobe Analytics-Konto ist für den API-Zugriff aktiviert. API-Zugriff ist standardmäßig für die Editionen „Select“, „Prime“ und „Ultimate“ aktiviert. 

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Adobe Analytics-Konto herstellen. Für typische Verbindungen müssen Sie in Adobe Analytics nichts weiter tun.

# Konfigurieren von Adobe Analytics-Verbindungen
<a name="adobeanalytics-configuring-connections"></a>

 Adobe Analytics unterstützt den `AUTHORIZATION_CODE`-Gewährungstyp für `OAuth2`.

Dieser Gewährungstyp wird als „dreibeiniges“ `OAuth` betrachtet, da er darauf angewiesen ist, dass Benutzer zur Authentifizierung an den Autorisierungsserver eines Drittanbieters weitergeleitet werden. Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Adobe Analytics zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zu Adobe Analytics weitergeleitet, um sich anzumelden und AWS Glue den Zugriff auf ihre Ressourcen zu gewähren. 

Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden. 

 [Eine öffentliche Adobe Analytics-Dokumentation zur Erstellung einer verbundenen App für den OAuth AUTHORIZATION\$1CODE-Flow finden Sie unter Adobe Analytics. APIs](https://adobedocs.github.io/analytics-2.0-apis/) 

So konfigurieren Sie eine Adobe Analytics-Verbindung:

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

   Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 
**Anmerkung**  
Sie müssen für jede Verbindung in AWS Glue ein Geheimnis erstellen.

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

   1. Wählen Sie als **Verbindungstyp** Adobe Analytics aus.

   1. Geben Sie die `x_api_key, instanceUrl` von Adobe Analytics an, zu der eine Verbindung hergestellt werden soll.

   1. Wählen Sie die IAM-Rolle aus, für die AWS Glue Sie die folgenden Aktionen übernehmen können und über Berechtigungen verfügen: 

------
#### [ 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, die Sie für diese Verbindung verwenden möchten AWS Glue , um die Token einzufügen. 

   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. 

# Aus Adobe Analytics-Entitäten lesen
<a name="adobeanalytics-reading-from-entities"></a>

 **Voraussetzungen** 

Ein Adobe Analytics-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 | 
| --- | --- | --- | --- | --- | --- | 
| Anmerkung | Ja | Ja | Ja | Ja | Nein | 
| Berechnete Metriken | Ja | Ja | Ja | Ja | Nein | 
| Funktion für berechnete Metriken | Ja | Nein | Nein | Ja | Nein | 
| Freigaben von Komponentenmetadaten | Ja | Ja | Nein | Ja | Nein | 
| Datumsbereiche | Ja | Ja | Nein | Ja | Nein | 
| Dimensionen | Ja | Nein | Nein | Ja | Nein | 
| Kennzahlen | Ja | Nein | Nein | Ja | Nein | 
| Projekte | Ja | Nein | Nein | Ja | Nein | 
| Wichtigstes Element der Berichte | Ja | Ja | Nein | Ja | Nein | 
| Segmente | Ja | Ja | Ja | Ja | Nein | 
| Nutzungsprotokolle | Ja | Ja | Nein | Ja | Nein | 

 **Beispiel** 

```
adobeAnalytics_read = glueContext.create_dynamic_frame.from_options( 
     connection_type="adobeanalytics", 
     connection_options={ 
        "connectionName": "connectionName", 
        "ENTITY_NAME": "annotation/ex*****", 
        "API_VERSION": "v2.0" 
 })
```

 **Entitäts- und Felddetails von Adobe Analytics** 
+ [Anmerkungen](https://adobedocs.github.io/analytics-2.0-apis/#/Annotations)
+ [Berechnete Metriken](https://adobedocs.github.io/analytics-2.0-apis/#/Calculated%20Metrics)
+ [Komponentenmetadaten](https://adobedocs.github.io/analytics-2.0-apis/#/Component%20Meta%20Data)
+ [Datumsbereiche](https://adobedocs.github.io/analytics-2.0-apis/#/Date%20Ranges)
+ [Dimensions (Abmessungen)](https://adobedocs.github.io/analytics-2.0-apis/#/Dimensions)
+ [Metriken](https://adobedocs.github.io/analytics-2.0-apis/#/Metrics)
+ [Projekte](https://adobedocs.github.io/analytics-2.0-apis/#/Projects)
+ [Berichte](https://adobedocs.github.io/analytics-2.0-apis/#/Reports)
+ [Segmente](https://adobedocs.github.io/analytics-2.0-apis/#/Segments)
+ [Benutzer](https://adobedocs.github.io/analytics-2.0-apis/#/Users)
+ [Nutzungsprotokolle](https://adobedocs.github.io/analytics-2.0-apis/#/Usage%20Logs)

# Verbindungsoptionen für Adobe Analytics
<a name="adobeanalytics-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Adobe Analytics aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Adobe Analytics. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der REST-API von Adobe Analytics, die Sie verwenden möchten. Beispiel: v2.0. 
+  `X_API_KEY` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Dies ist erforderlich, um den Entwickler oder die Anwendung zu authentifizieren, die Anforderungen an die API stellen. 
+  `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. 

# Erstellen eines Adobe Analytics-Kontos
<a name="adobeanalytics-create-account"></a>

1. Registrieren Sie sich für das Austauschpartnerprogramm, indem Sie auf das [Adobe-Partnerprogramm](https://partners.adobe.com/exchangeprogram/creativecloud.html) zugreifen. 

1. Wählen Sie **Am Exchange-Programm teilnehmen**. 

1. Registrieren Sie sich oder erstellen Sie ein Konto mit Ihrer Unternehmens-E-Mail-Adresse. 

1. Wählen Sie im Vorschlagsfeld das entsprechende Unternehmen aus, das über ein Adobe Analytics-Produktabonnement verfügt. 

1. Stellen Sie sicher, dass das Konto bei einer gültigen Organisation (aus der verfügbaren Liste) registriert ist, die über ein aktives Adobe Analytics-Abonnement verfügt. 

1. Aktivieren Sie Ihr Konto nach der Genehmigung durch die Unternehmensverwaltung, indem Sie auf den Link in der Genehmigungs-E-Mail klicken. 

**Überprüfen Sie, ob das von Ihnen erstellte Konto Zugriff auf den Adobe Analytics-Dienst hat**

1. Melden Sie sich bei der [Adobe-Adminkonsole](https://adminconsole.adobe.com/) an.

1. Überprüfen Sie den Namen der Organisation oben rechts auf der Seite, um sicherzustellen, dass Sie sich bei der richtigen Firma angemeldet haben.

1. Wählen Sie **Produkte** aus und überprüfen Sie, ob Adobe Analytics verfügbar ist.
**Anmerkung**  
Wenn keine Organisation verfügbar ist oder das Adobe Analytics-Produkt ausgegraut oder nicht verfügbar ist, ist Ihr Konto wahrscheinlich nicht mit einer Organisation verknüpft, die kein aktives Adobe Analytics-Abonnement and/or hat. Wenden Sie sich an Ihren Systemadministrator, um den Zugriff auf diesen Service für Ihr Konto anzufordern.

**Erstellen eines Projekts und von `OAuth2.0`-Zugangsdaten**

1. Melden Sie sich bei dem Adobe Analytics-Konto an, in dem die [ OAuth 2.0-App](https://developer.adobe.com/developer-console/docs/guides/services/services-add-api-oauth/) erstellt werden soll.

1. Wählen Sie **Projekt** und dann **Neues Projekt erstellen** aus. 

1. Um ein Projekt hinzuzufügen, wählen Sie **Dem Projekt hinzufügen** und dann **API** aus.

1. Wählen Sie **Adobe Analytics-API** aus.

1. Wählen Sie **OAUTH** als Benutzerauthentifizierung aus.

1. Wählen Sie **Web** für `OAUTH` aus und geben Sie die Umleitungs-URI an. 

   Informationen zur Umleitungs-URI und dem Muster finden Sie im Folgenden:
   + `OAuth 2.0`-Standard-Umleitungs-URI: Ein Standard-Umleitungs-URI ist die URL der Seite, auf die Adobe während des Authentifizierungsprozesses zugreift. Beispiel: `https://ap-southeast-2.console.aws.amazon.com/appflow/oauth` 
   + OAuth 2.0 Umleitungs-URI-Muster — Ein Umleitungs-URI-Muster ist ein URI-Pfad (oder eine durch Kommas getrennte Liste von Pfaden), zu dem Adobe (falls angefordert) weiterleiten kann, wenn der Anmeldevorgang abgeschlossen ist. Beispiel: `https://ap-southeast-2\\.console\\.aws\\.amazon\\.com`

1. Fügen Sie die folgenden Bereiche hinzu: 
   + `openid`
   + `read_organizations`
   + `additional_info.projectedProductContext`
   + `additional_info.job_function`

1. Wählen Sie **Anmeldeinformationen speichern** aus.

1. Nach dem Erstellen der App kopieren Sie die Werte `Client ID` und `Client Secret` in eine Textdatei.

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

Die folgenden Einschränkungen gelten für den Adobe Analytics-Connector:
+ Adobe Analytics unterstützt die feldbasierte und datensatzbasierte Partitionierung nicht. Die feldbasierte Partitionierung wird nicht unterstützt, weil Sie partitionierte Felder nicht abfragen können. Die datensatzbasierte Partitionierung kann nicht unterstützt werden, weil es keine Möglichkeit gibt, einen Versatzwert für die Paginierung zu erhalten.
+ In der Entität `Report Top Item` funktionieren die Abfrageparameter `startDate` und `endDate` nicht wie erwartet. Die Antwort wird nicht basierend auf diesen Parametern gefiltert, was zu Problemen mit dem Filter und dem inkrementellen Ablauf für diese Entität führt. 
+ Für die Entitäten `Annotation`, `Calculated Metrics`, `Calculated Metrics Function`, `Date Ranges`, `Dimension`, `Metric`, `Project`, `Report Top Items` und `Segment` gibt der Abfrageparameter `locale` an, welche Sprache für lokalisierte Antwortabschnitte verwendet werden soll, und filtert die Datensätze nicht. `locale="ja_JP"` zeigt die Daten beispielsweise auf Japanisch an. 
+ `Report Top Item`-Entität – Filter basierend auf den Feldern `dateRange` und `lookupNoneValues` funktionieren derzeit nicht. 
+ `Segment`-Entität – Mit einem Filterwert von `includeType=“templates”` funktionieren Filter für andere Felder nicht. 
+ `Date Range`-Entität – Der Filter basierend auf dem Feld `curatedRsid` funktioniert nicht. 
+ `Metric entity`-Entität – Der Filter nach einem segmentierbaren Feld mit dem Wert „false“ liefert Ergebnisse sowohl für den wahren (true) als auch für den falschen (false) Wert.

# Herstellen einer Verbindung mit Adobe Marketo Engage
<a name="connecting-to-data-adobe-marketo-engage"></a>

Adobe Marketo Engage ist eine Marketing-Automatisierungsplattform, mit der Marketingfachleute personalisierte Multi-Channel-Programme und -Kampagnen für Interessenten und Kunden verwalten können.

**Topics**
+ [AWS Glue Unterstützung für Adobe Marketo Engage](adobe-marketo-engage-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](adobe-marketo-engage-configuring-iam-permissions.md)
+ [Konfiguration von Adobe Marketo Engage](adobe-marketo-engage-configuring.md)
+ [Konfiguration von Verbindungen mit Adobe Marketo Engage](adobe-marketo-engage-configuring-connections.md)
+ [Lesen aus Adobe-Marketo-Engage-Entitäten](adobe-marketo-engage-reading-from-entities.md)
+ [Schreiben in Entitäten von Adobe Marketo Engage](adobe-marketo-engage-writing-to-entities.md)
+ [Verbindungsoptionen für Adobe Marketo Engage](adobe-marketo-engage-connection-options.md)
+ [Einschränkungen und Hinweise für den Adobe-Marketo-Engage-Connector](adobe-marketo-engage-connector-limitations.md)

# AWS Glue Unterstützung für Adobe Marketo Engage
<a name="adobe-marketo-engage-support"></a>

AWS Glue unterstützt Adobe Marketo Engage wie folgt:

**Als Quelle unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten aus Adobe Marketo Engage abzufragen.

**Als Ziel unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten in Adobe Marketo zu schreiben.

**Unterstützte API-Versionen von Adobe Marketo Engage**  
Die folgenden API-Versionen von Adobe Marketo Engage werden unterstützt:
+ v1

Informationen zur Unterstützung von Entitäten pro Version finden Sie unter „Unterstützte Entitäten für Quelle“.

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="adobe-marketo-engage-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.

# Konfiguration von Adobe Marketo Engage
<a name="adobe-marketo-engage-configuring"></a>

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

## Mindestanforderungen
<a name="adobe-marketo-engage-configuring-min-requirements"></a>

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Konto bei Adobe Marketo Engage mit Kundenanmeldeinformationen.
+ Ihr Konto bei Adobe Marketo Engage verfügt über API-Zugriff mit einer gültigen Lizenz.

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung zu Ihrem Adobe AWS Glue Marketo Engage-Konto herstellen. Für typische Verbindungen müssen Sie in Adobe Marketo Engage nichts weiter tun.

## Anmeldedaten für Version 2.0 erhalten OAuth
<a name="adobe-marketo-engage-configuring-creating-adobe-marketo-engage-oauth2-credentials"></a>

Informationen zum Abrufen von API-Anmeldeinformationen für authentifizierte Aufrufe Ihrer Instance finden Sie unter [Adobe Marketo Rest-API](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/rest-api).

# Konfiguration von Verbindungen mit Adobe Marketo Engage
<a name="adobe-marketo-engage-configuring-connections"></a>

Adobe Marketo Engage unterstützt den Zuschusstyp CLIENT CREDENTIALS für. OAuth2
+ Dieser Zuschusstyp wird als 2-Legged OAuth 2.0 betrachtet, da er von Kunden verwendet wird, um außerhalb des Benutzerkontextes ein Zugriffstoken zu erhalten. AWS Glue ist in der Lage, die Client-ID und das Client-Geheimnis zur Authentifizierung von Adobe Marketo Engage zu verwenden, die von benutzerdefinierten Diensten bereitgestellt werden APIs , die Sie definieren.
+ Jeder benutzerdefinierte Service gehört einem Nur-API-Benutzer, der über eine Reihe von Rollen und Berechtigungen verfügt, die den Service zur Ausführung bestimmter Aktionen autorisieren. Ein Zugriffstoken ist einem einzelnen benutzerdefinierten Service zugeordnet.
+ Dieser Gewährungstyp führt zu einem Zugriffstoken, das nur von kurzer Dauer ist und durch Aufrufen eines Identitätsendpunkts erneuert werden kann.
+ Öffentliche Adobe Marketo Engage-Dokumentation für OAuth 2.0 mit Kundenanmeldedaten finden Sie unter [Authentifizierung](https://developers.adobe-marketo-engage.com/rest-api/authentication/) im Adobe Marketo Engage Developer Guide.

Konfigurieren einer Verbindung mit Adobe Marketo Engage:

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

   1. Für die kundenseitig verwaltete verbundene App muss das Geheimnis das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten.

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

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 eines **Verbindungstyps** die Option Adobe Marketo Engage aus.

   1. Geben Sie die `INSTANCE_URL` der Instance von Adobe Marketo Engage an, mit der Sie eine Verbindung herstellen möchten.

   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 Adobe-Marketo-Engage-Entitäten
<a name="adobe-marketo-engage-reading-from-entities"></a>

**Voraussetzung**

Ein Adobe-Marketo-Engage-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen, z. B. „leads“ oder „activities“ oder „customobjects“. Die folgenden Tabellen zeigen die unterstützten Entitäten.

**Unterstützte Entitäten für die Quelle (synchron)**:


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| leads | Ja | Ja | Nein | Ja | Nein | 
| activities | Ja | Ja | Nein | Ja | Nein | 
| customobjects | Ja | Ja | Nein | Ja | Nein | 

**Unterstützte Entitäten für die Quelle (asynchron)**:


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| leads | Ja | Nein | Nein | Ja | Ja | 
| activities | Ja | Nein | Nein | Ja | Nein | 
| customobjects | Ja | Nein | Nein | Ja | Ja | 

**Beispiel:**

```
adobe-marketo-engage_read = glueContext.create_dynamic_frame.from_options(
    connection_type="adobe-marketo-engage",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "leads",
        "API_VERSION": "v2",
        "INSTANCE_URL": "https://539-t**-6**.mktorest.com"
    }
```

**Entitäts- und Felddetails von Adobe Marketo Engage**:

**Entitäten mit statischen Metadaten**: 

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

**Entitäten mit dynamischen Metadaten**:

Für folgende Entitäten bietet Adobe Marketo Engage Endpunkte zum dynamischen Abrufen von Metadaten, sodass die Operatorunterstützung für jede Entität auf Datentypebene erfasst wird.

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

## Partitionierung von Abfragen
<a name="adobe-marketo-engage-reading-partitioning-queries"></a>

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 den Wert im ISO-Format.

  Beispiel für gültigen Wert:

  ```
  "2024-07-01T00:00:00.000Z"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: die Anzahl der Partitionen.

In der folgenden Tabelle sind Details zur Unterstützung der Partitionierung von Entitäten beschrieben:

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

Beispiel:

```
adobe-marketo-engage_read = glueContext.create_dynamic_frame.from_options(
    connection_type="adobe-marketo-engage",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "leads",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "createdAt"
        "LOWER_BOUND": "2024-07-01T00:00:00.000Z"
        "UPPER_BOUND": "2024-07-02T00:00:00.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Schreiben in Entitäten von Adobe Marketo Engage
<a name="adobe-marketo-engage-writing-to-entities"></a>

**Voraussetzungen**
+ Ein Objekt in Adobe Marketo Engage, in das geschrieben werden soll. Sie benötigen den Objektnamen wie `leads` oder `customobjects`.
+ Der Adobe-Marketo-Connector unterstützt drei Schreibvorgänge:
  + INSERT
  + UPSERT
  + UPDATE
+ Für die Schreibvorgänge `UPSERT` und `UPDATE` muss die Option `ID_FIELD_NAMES` bereitgestellt werden, um das ID-Feld für die Datensätze anzugeben. Wenn Sie mit der Entität `leads` arbeiten, verwenden Sie `email` als `ID_FIELD_NAMES` für `UPSERT`-Vorgänge und `id` für `UPDATE`-Vorgänge. Verwenden Sie für die Entität `customobjects` `marketoGUID` als `ID_FIELD_NAMES` sowohl für `UPDATE`- als auch für `UPSERT`-Vorgänge.

**Unterstützte Entitäten für Ziel (synchron)**


| Entitätsname | Wird als Ziel-Connector unterstützt | Kann eingefügt werden | Kann aktualisiert werden. | Kann aktualisiert/eingefügt werden | 
| --- | --- | --- | --- | --- | 
| Leads | Ja | Ja(Bulk) | Ja(Bulk) | Ja(Bulk) | 
| customobjects | Ja | Ja(Bulk) | Ja(Bulk) | Ja(Bulk) | 

**Beispiel:**

**INSERT-Vorgang:**

```
marketo_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="marketo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "leads",
        "API_VERSION": "v1",
        "WRITE_OPERATION": "INSERT"
    }
```

**UPDATE-Vorgang**

```
marketo_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="marketo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "leads",
        "API_VERSION": "v1",
        "WRITE_OPERATION": "UPDATE",
        "ID_FIELD_NAMES": "id"
    }
```

**Anmerkung**  
Für die Entitäten `leads` und `customobjects` bietet Adobe Marketo Endpunkte zum dynamischen Abrufen von Metadaten, sodass die beschreibbaren Felder anhand der Marketo-API-Antwort identifiziert werden.

# Verbindungsoptionen für Adobe Marketo Engage
<a name="adobe-marketo-engage-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Adobe Marketo Engage aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Adobe Marketo Engage.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der REST-API von Adobe Marketo Engage, die Sie verwenden möchten. 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.
+ `TRANSFER_MODE`(Zeichenfolge) – Standard: SYNC. Für asynchrones Lesen verwendet.
+ `WRITE_OPERATION`(Zeichenfolge) – Standard: INSERT. Zum Schreiben verwendet. Wert muss INSERT, UPDATE, UPSERT sein.
+ `ID_FIELD_NAMES`(Zeichenfolge) – Standard: null. Erforderlich für UPDATE und UPSERT.

# Einschränkungen und Hinweise für den Adobe-Marketo-Engage-Connector
<a name="adobe-marketo-engage-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den Jira-Cloud-Connector:
+ 'SinceDateTime' und 'activityTypeId' sind obligatorische Filterparameter für die Entität Sync Activities.
+ Den Abonnements werden 50.000 API-Aufrufe pro Tag zugewiesen (zurückgesetzt täglich um 12:00 Uhr CST). Zusätzliche Tageskapazität kann im Rahmen eines Adobe-Marketo-Engage-Abonnements erworben werden. Weitere Informationen finden Sie unter [Adobe-Marketo-Rest-API](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/rest-api).
+ Die maximale Zeitspanne für den Datumsbereichsfilter (`createdAt` oder `updatedAt`) beträgt 31 Tage. Weitere Informationen finden Sie unter [Bulk Extract - Marketo Developers](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-extract).
+ Den Abonnements werden jeweils maximal 10 Massenextraktionsaufträge in der Warteschlange zugewiesen. Weitere Informationen finden Sie unter [Bulk Extract - Marketo Developers](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-extract).
+ Standardmäßig sind Extrahierungsaufträge auf 500 MB pro Tag begrenzt (zurückgesetzt täglich um 12:00 Uhr CST). Zusätzliche Tageskapazität kann im Rahmen eines Adobe-Marketo-Engage-Abonnements erworben werden. Weitere Informationen finden Sie unter [Bulk Extract - Marketo Developers](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-extract).
+ Es sind maximal zwei Exportaufträge gleichzeitig möglich. Weitere Informationen finden Sie unter [Bulk Extract - Marketo Developers](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-extract).
+ Es sind maximal zehn Exportaufträge in der Warteschlange (einschließlich der aktuell exportierten Aufträge) möglich. Weitere Informationen finden Sie unter [Bulk Extract - Marketo Developers](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-extract).
+ Die maximal zulässige Dateigröße für das Extrahieren aus einem Massenauftrag beträgt 1 GB.
+ Sobald ein asynchroner Auftrag erstellt wurde, beträgt die Aufbewahrungsfrist für die Datei 7 Tage. Weitere Informationen finden Sie unter [Bulk Extract - Marketo Developers](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-extract).
+ `createdAt` oder `updatedAt` sind obligatorische Filterparameter für die Async-Leads-Entität.
+ `createdAt` ist ein obligatorischer Filterparameter für die Async-Activities-Entität.
+ `updatedAt` ist ein obligatorischer Filterparameter für die Custom-Object-Entität.
+ Bei der Verwendung von AWS Glue SaaS-Konnektoren können Benutzer nicht identifizieren, welche spezifischen Datensätze bei einem Schreibvorgang auf SaaS-Zielplattformen bei teilweisen Ausfällen fehlgeschlagen sind.
+ Bei Verwendung von Sync-Schreibvorgängen werden alle Felder mit Nullwerten in der Eingabedatei automatisch gelöscht und nicht an die SaaS-Plattform gesendet.
+ Sie können bis zu 300 Datensätze in einem Stapel für die Synchronisierung erstellen oder aktualisieren.

Weitere Informationen finden Sie unter [Adobe Marketo Engage Integration Best Practices](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/marketo-integration-best-practices) und [Bulk Extract](https://https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-activity-extract).

# Herstellen einer Verbindung mit Amazon Redshift in AWS Glue Studio
<a name="connecting-to-data-redshift"></a>

**Anmerkung**  
 Sie können AWS Glue for Spark verwenden, um aus Tabellen in Amazon Redshift Datenbanken außerhalb von zu lesen und in sie zu schreiben. AWS Glue Studio Informationen zur programmgesteuerten Konfiguration Amazon Redshift mit AWS Glue Jobs finden Sie unter[Redshift-Verbindungen](aws-glue-programming-etl-connect-redshift-home.md). 

 AWS Gluebietet integrierte Unterstützung für Amazon Redshift. AWS Glue Studiobietet eine visuelle Oberfläche, mit der Sie eine Verbindung herstellen Amazon Redshift, Datenintegrationsjobs erstellen und diese auf der AWS Glue Studio serverlosen Spark-Laufzeit ausführen können. 

**Topics**
+ [Eine Amazon Redshift Verbindung herstellen](creating-redshift-connection.md)
+ [Einen Amazon Redshift Quellknoten erstellen](creating-redshift-source-node.md)
+ [Einen Amazon Redshift Zielknoten erstellen](creating-redshift-target-node.md)
+ [Erweiterte Optionen](creating-redshift-connection-advanced-options.md)

# Eine Amazon Redshift Verbindung herstellen
<a name="creating-redshift-connection"></a>

## Berechtigungen erforderlich
<a name="creating-redshift-connection-permissions"></a>

 Für die Verwendung von Amazon Redshift Clustern und Amazon Redshift serverlosen Umgebungen sind zusätzliche Berechtigungen erforderlich. Weitere Informationen zum Hinzufügen von Berechtigungen zu ETL-Aufträgen finden Sie unter [Überprüfen der für ETL-Aufträge erforderlichen IAM-Berechtigungen](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job). 
+  Rotverschiebung: DescribeClusters 
+  Redshift — serverlos: ListWorkgroups 
+  redshift-serverlos: ListNamespaces 

## -Übersicht
<a name="w2aac25c27c13c11b5"></a>

 Beim Hinzufügen einer Amazon Redshift Verbindung können Sie eine bestehende Amazon Redshift Verbindung auswählen oder eine neue Verbindung erstellen, wenn Sie einen **Datenquellen-Redshift-Knoten** hinzufügen. AWS Glue Studio 

 AWS Glueunterstützt sowohl Amazon Redshift Cluster als auch Amazon Redshift serverlose Umgebungen. Wenn Sie eine Verbindung herstellen, wird in Amazon Redshift serverlosen Umgebungen die Bezeichnung **Serverless** neben der Verbindungsoption angezeigt. 

 Weitere Informationen zum Herstellen einer Amazon Redshift Verbindung finden Sie unter [Daten hin und her verschieben](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-redshift.html#aws-glue-programming-etl-redshift-using). Amazon Redshift

# Einen Amazon Redshift Quellknoten erstellen
<a name="creating-redshift-source-node"></a>

## Berechtigungen erforderlich
<a name="creating-redshift-source-node-permissions"></a>

 AWS Glue Studio Jobs, die Amazon Redshift Datenquellen verwenden, erfordern zusätzliche Berechtigungen. Weitere Informationen zum Hinzufügen von Berechtigungen zu ETL-Aufträgen finden Sie unter [Überprüfen der für ETL-Aufträge erforderlichen IAM-Berechtigungen](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job). 

 Die folgenden Berechtigungen sind erforderlich, um eine Amazon Redshift Verbindung verwenden zu können. 
+  Redshift-Daten: ListSchemas 
+  Redshift-Daten: ListTables 
+  Redshift-Daten: DescribeTable 
+  Redshift-Daten: ExecuteStatement 
+  Redshift-Daten: DescribeStatement 
+  Redshift-Daten: GetStatementResult 

## Eine Datenquelle hinzufügen Amazon Redshift
<a name="creating-redshift-source-node-add"></a>

**So fügen Sie einen Knoten von **Datenquelle – Amazon Redshift** hinzu:**

1.  Wählen Sie den Amazon Redshift Zugriffstyp: 
   +  Direkte Datenverbindung (empfohlen) – wählen Sie diese Option, wenn Sie direkt auf Ihre Amazon Redshift -Daten zugreifen möchten. Dies ist die empfohlene Option und auch die Standardeinstellung. 
   +  Data Catalog tables – Wählen Sie diese Option, wenn Sie Data-Catalog-Tabellen verwenden möchten. 

1.  Wenn Sie Direkte Datenverbindung wählen, wählen Sie die Verbindung für Ihre Amazon Redshift Datenquelle. Dabei wird davon ausgegangen, dass die Verbindung bereits besteht und Sie aus bestehenden Verbindungen auswählen können. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **Redshift-Verbindung erstellen**. Weitere Informationen finden Sie unter [Übersicht über die Verwendung von Konnektoren und Verbindungen](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#using-connectors-overview). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. Informationen zur Verbindung sind sichtbar, einschließlich URL, Sicherheitsgruppen, Subnetz, Verfügbarkeitszone, Beschreibung sowie erstellte (UTC) und letzte aktualisierte (UTC) Zeitstempel. 

1.  Wählen Sie eine Amazon Redshift Quelloption: 
   +  **Wählen Sie eine einzelne Tabelle** — das ist die Tabelle, die die Daten enthält, auf die Sie von einer einzigen Amazon Redshift Tabelle aus zugreifen möchten. 
   +  **Benutzerdefinierte Abfrage eingeben** – ermöglicht Ihnen den Zugriff auf einen Datensatz aus mehreren Amazon Redshift -Tabellen basierend auf Ihrer benutzerdefinierten Abfrage. 

1.  Wenn Sie eine einzelne Tabelle ausgewählt haben, wählen Sie das Amazon Redshift Schema. Die Liste der verfügbaren Schemas zur Auswahl wird durch die ausgewählte Tabelle bestimmt. 

    Oder wählen Sie **Benutzerdefinierte Abfrage eingeben** aus. Wählen Sie diese Option, um aus mehreren Amazon Redshift -Tabellen auf einen benutzerdefinierten Datensatz zuzugreifen. Wenn Sie diese Option wählen, geben Sie die Amazon Redshift Abfrage ein. 

    Wenn Sie eine Verbindung zu einer Amazon Redshift serverlosen Umgebung herstellen, fügen Sie der benutzerdefinierten Abfrage die folgende Berechtigung hinzu: 

   ```
               GRANT SELECT ON ALL TABLES IN <schema> TO PUBLIC
   ```

    Sie können **Schema ableiten** auswählen, um das Schema basierend auf der von Ihnen eingegebenen Abfrage zu lesen. Sie können auch **Redshift Query Editor öffnen** wählen, um eine Amazon Redshift Abfrage einzugeben. Weitere Informationen finden Sie unter [Abfragen einer Datenbank mit dem Abfrage-Editor](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor.html). 

1.  Wählen Sie unter **Leistung und Sicherheit** das Amazon-S3-Staging-Verzeichnis und die IAM-Rolle aus. 
   +  **Amazon-S3-Staging-Verzeichnis** – Wählen Sie den Amazon-S3-Speicherort für die temporäre Bereitstellung von Daten. 
   +  **IAM-Rolle** – Wählen Sie die IAM-Rolle aus, die an den von Ihnen ausgewählten Amazon-S3-Speicherort schreiben kann. 

1.  Geben Sie unter **Benutzerdefinierte Redshift-Parameter – optional** den Parameter und den Wert ein. 

# Einen Amazon Redshift Zielknoten erstellen
<a name="creating-redshift-target-node"></a>

## Berechtigungen erforderlich
<a name="creating-redshift-target-node-permissions"></a>

 AWS Glue Studio Jobs, die Amazon Redshift Data Target verwenden, erfordern zusätzliche Berechtigungen. Weitere Informationen zum Hinzufügen von Berechtigungen zu ETL-Aufträgen finden Sie unter [Überprüfen der für ETL-Aufträge erforderlichen IAM-Berechtigungen](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job). 

 Die folgenden Berechtigungen sind erforderlich, um eine Amazon Redshift Verbindung verwenden zu können. 
+  Redshift-Daten: ListSchemas 
+  Redshift-Daten: ListTables 

## Einen Zielknoten hinzufügen Amazon Redshift
<a name="w2aac25c27c13c15b5"></a>

**Um einen Amazon Redshift Zielknoten zu erstellen:**

1.  Wählen Sie eine vorhandene Amazon Redshift Tabelle als Ziel aus, oder geben Sie einen neuen Tabellennamen ein. 

1.  Wenn Sie den Zielknoten **Datenziel – Redshift** verwenden, können Sie aus den folgenden Optionen auswählen: 
   +  **APPEND** – Wenn eine Tabelle bereits vorhanden ist, übertragen Sie alle neuen Daten als Einfügung in diese Tabelle. Wenn die Tabelle nicht vorhanden ist, erstellen Sie sie und fügen Sie dann alle neuen Daten ein. 

      Aktivieren Sie außerdem das Kontrollkästchen, wenn Sie vorhandene Datensätze in der Zieltabelle aktualisieren (UPSERT) möchten. Die Tabelle muss zuerst vorhanden sein, andernfalls schlägt der Vorgang fehl. 
   +  **MERGE** – AWS Glue aktualisiert oder fügt Daten basierend auf den von Ihnen angegebenen Bedingungen an Ihre Zieltabelle an. 
**Anmerkung**  
 Um die Zusammenführungsaktion in verwenden zu könnenAWS Glue, müssen Sie die Amazon Redshift Zusammenführungsfunktion aktivieren. Anweisungen zum Aktivieren der Zusammenführung für Ihre Amazon Redshift Instance finden Sie unter [MERGE (Vorschau)](https://docs.aws.amazon.com/redshift/latest/dg/r_MERGE.html). 

      Wählen Sie die Optionen aus: 
     + **Schlüssel und einfache Aktionen auswählen** – wählen Sie die Spalten, die als übereinstimmende Schlüssel zwischen den Quelldaten und Ihrem Zieldatensatz verwendet werden sollen. 

       Geben Sie bei Übereinstimmung die folgenden Optionen an:
       + Aktualisieren Sie den Datensatz in Ihrem Zieldatensatz mit Daten aus der Quelle.
       + Löschen Sie den Datensatz in Ihrem Zieldatensatz.

       Geben Sie die folgenden Optionen an, wenn keine Übereinstimmung vorliegt:
       + Fügen Sie Quelldaten als neue Zeile in Ihren Zieldatensatz ein.
       + Nichts unternehmen.
     + **Eine benutzerdefinierte MERGE-Anweisung eingeben** – Sie können dann **Zusammenführungs-Anweisung** validieren auswählen, um zu überprüfen, ob die Anweisung gültig oder ungültig ist.
   +  **TRUNCATE** – Wenn bereits eine Tabelle vorhanden ist, kürzen Sie die Tabellendaten, indem Sie zunächst den Inhalt der Zieltabelle löschen. Wenn das Kürzen erfolgreich ist, fügen Sie alle Daten ein. Wenn die Tabelle nicht vorhanden ist, erstellen Sie die Tabelle und fügen Sie alle Daten ein. Wenn das Kürzen nicht erfolgreich ist, schlägt der Vorgang fehl. 
   +  **DROP** – Wenn eine Tabelle bereits vorhanden ist, löschen Sie die Tabellenmetadaten und -daten. Wenn der Löschvorgang erfolgreich ist, fügen Sie alle Daten ein. Wenn die Tabelle nicht vorhanden ist, erstellen Sie die Tabelle und fügen Sie alle Daten ein. Wenn das Löschen nicht erfolgreich ist, schlägt der Vorgang fehl. 
   +  **CREATE** – Erstellen Sie eine neue Tabelle mit dem Standardnamen. Wenn der Tabellenname bereits vorhanden ist, erstellen Sie aus Gründen der Eindeutigkeit eine neue Tabelle mit dem Namenszusatz von `job_datetime`. Dadurch werden alle Daten in die neue Tabelle eingefügt. Wenn die Tabelle vorhanden ist, wird an den endgültigen Tabellennamen der Nachsatz angefügt. Wenn die Tabelle nicht vorhanden ist, wird eine Tabelle erstellt. In beiden Fällen wird eine neue Tabelle erstellt. 

# Erweiterte Optionen
<a name="creating-redshift-connection-advanced-options"></a>

 Weitere Informationen finden Sie [unter Verwenden des Amazon Redshift Spark-Connectors an AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-redshift.html#aws-glue-programming-etl-redshift-using). 

# Herstellen einer Verbindung mit Asana
<a name="connecting-to-asana"></a>

Asana ist eine cloudbasierte Lösung für die Zusammenarbeit im Team, die Teams dabei unterstützt, Aufgaben und Projekte zu organisieren, zu planen und abzuschließen. Wenn Sie Asana verwenden, enthält Ihr Konto Daten über Ihre Arbeitsbereiche, Projekte, Aufgaben, Teams und mehr. Sie können Daten von Asana an bestimmte AWS -Services oder andere unterstützte Anwendungen übertragen.

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

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

AWS Glue unterstützt Asana wie folgt:

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

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

**Unterstützte Asana-API-Versionen**  
 1,0 

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="asana-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": "*"
    }
  ]
}
```

------

Wenn Sie die vorstehende 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, 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 Asana
<a name="asana-configuring"></a>

Bevor Sie AWS Glue den Transfer von Asana nutzen können, müssen Sie die folgenden Anforderungen erfüllen:

## Mindestanforderungen
<a name="asana-configuring-min-requirements"></a>
+ Sie haben ein Asana-Konto mit E-Mail-Adresse und Passwort. Weitere Informationen zum Erstellen eines Kontos finden Sie unter [Erstellen eines Asana-Kontos](asana-create-account.md). 
+ Sie müssen AWS ein Konto mit dem Servicezugriff auf AWS Glue erstellt haben. 
+ Stellen Sie sicher, dass Sie eine der folgenden Ressourcen in Ihrem Asana-Konto erstellt haben: 
  + Eine Entwickler-App, die `OAuth 2.0`-Authentifizierung unterstützt. Weitere Anweisungen finden Sie [OAuth](https://developers.asana.com/docs/oauth)in der Asana Developers-Dokumentation. Eine alternative Vorgehensweise finden Sie unter [Erstellen eines Asana-Kontos](asana-create-account.md). 
  + Ein persönliches Zugriffstoken. Weitere Informationen finden Sie unter dem persönlichen Zugriffstoken [https://developers.asana.com/docs/personal-access-token](https://developers.asana.com/docs/personal-access-token) in der Asana-Entwicklerdokumentation. 

Wenn Sie diese Anforderungen erfüllen, sind Sie bereit, eine Verbindung AWS Glue zu Ihrem Adobe Analytics-Konto herzustellen. Für typische Verbindungen müssen Sie in Adobe Analytics nichts weiter tun.

# Konfigurieren von Asana-Verbindungen
<a name="asana-configuring-connections"></a>

Asana unterstützt den Gewährungstyp `AUTHORIZATION_CODE` für `OAuth2`. 

Dieser Gewährungstyp wird als „dreibeiniges“ `OAuth` betrachtet, da er darauf angewiesen ist, dass Benutzer zur Authentifizierung an den Autorisierungsserver eines Drittanbieters weitergeleitet werden. Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Asana zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zu Asana weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 

Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden. 

[Eine öffentliche Asana-Dokumentation zur Erstellung einer verbundenen App für `AUTHORIZATION_CODE OAuth` Flow finden Sie unter Asana. APIs](https://developers.asana.com/docs/oauth) 

Konfigurieren einer Asana-Verbindung:

1. Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details: 
   + Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 
   + 
**Anmerkung**  
Sie müssen ein Geheimnis für die Verbindung in AWS Glue erstellen.

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

   1. Wählen Sie als **Verbindungstyp** Asana aus.

   1. Stellen Sie die Asana-Umgebung bereit.

   1. Wählen Sie die IAM-Rolle aus, für die AWS Glue Sie die folgenden Aktionen übernehmen können und über Berechtigungen verfügen: 

------
#### [ 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, die Sie für diese Verbindung verwenden möchten AWS Glue , um die Token einzufügen. 

   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 die `secretName` Leseberechtigung. 

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

 **Voraussetzungen** 

Ein Asana-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 für Quelle** 


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
|  Workspace  | Nein | Ja | Nein | Ja | Nein | 
| Markierung | Nein | Ja | Nein | Ja | Nein | 
| Benutzer | Nein | Ja | Nein | Ja | Nein | 
|  Portfolio  | Nein | Ja | Nein | Ja | Nein | 
| Team | Nein | Ja | Nein | Ja | Nein | 
| Projekt | Ja | Ja | Nein | Ja | Nein | 
| Abschnitt | Nein | Ja | Nein | Ja | Nein | 
| Aufgabe  | Ja | Nein | Nein | Ja | Ja | 
| Ziel | Ja | Ja | Nein | Ja | Nein | 
|  AuditLogEvent  | Ja | Ja | Nein | Ja | Nein | 
|  Statusaktualisierung  | Ja | Ja | Nein | Ja | Nein | 
|  Benutzerdefiniertes Feld  | Nein | Ja | Nein | Ja | Nein | 
|  Kurzbeschreibung des Projekts  | Ja | Nein | Nein | Ja | Ja | 

 **Beispiel** 

```
read_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Asana",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "task/workspace:xxxx",
        "API_VERSION": "1.0",
        "PARTITION_FIELD": "created_at",
        "LOWER_BOUND": "2024-02-05T14:09:30.115Z",
        "UPPER_BOUND": "2024-06-07T13:30:00.134Z",
        "NUM_PARTITIONS": "3"
    }
```

 **Asana-Entitäts- und Felddetails** 
+ [Workspace](https://developers.asana.com/docs/workspaces)
+ [Markierung](https://developers.asana.com/docs/tags)
+ [Nutzer](https://developers.asana.com/docs/users)
+ [Portfolio](https://developers.asana.com/docs/portfolios)
+ [Team](https://developers.asana.com/docs/teams)
+ [Projekt](https://developers.asana.com/docs/get-all-projects-in-a-workspace)
+ [Sektion](https://developers.asana.com/docs/get-sections-in-a-project)
+ [Aufgabe](https://developers.asana.com/docs/search-tasks-in-a-workspace) 
+ [Ziel](https://developers.asana.com/docs/get-goals)
+ [AuditLogEvent](https://developers.asana.com/docs/audit-log-api)
+ [Statusaktualisierung](https://developers.asana.com/reference/status-updates)
+ [Benutzerdefiniertes Feld](https://developers.asana.com/reference/custom-fields)
+ [Kurzbeschreibung des Projekts](https://developers.asana.com/reference/project-briefs)

 **Partinionieren von Abfragen** 

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-06-07T13:30:00.134Z`. 
+ `UPPER_BOUND`: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds. 
+ `NUM_PARTITIONS`: Anzahl der Partitionen. 

 Details zur Unterstützung von Feldern für die entitätsbezogene Partitionierung sind in der folgenden Tabelle aufgeführt. 


| Entity Name | Partitionierungsfeld | Datentyp | 
| --- | --- | --- | 
| Aufgabe |  created\$1at  | DateTime | 
| Aufgabe |  modified\$1at  | DateTime | 

 **Beispiel** 

```
read_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Asana",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "task/workspace:xxxx",
        "API_VERSION": "1.0",
        "PARTITION_FIELD": "created_at",
        "LOWER_BOUND": "2024-02-05T14:09:30.115Z",
        "UPPER_BOUND": "2024-06-07T13:30:00.134Z",
        "NUM_PARTITIONS": "3"
    }
```

# Verbindungsoptionen für Asana
<a name="asana-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Asana aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Asana. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der Asana-REST-API, die Sie verwenden möchten. Beispiel: 1.0. 
+  `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. 

# Erstellen eines Asana-Kontos
<a name="asana-create-account"></a>

1. Registrieren Sie sich für ein [Asana-Konto](https://asana.com/create-account) und wählen Sie **Registrieren** aus.

1. Nachdem Sie sich angemeldet haben, werden Sie zur Seite zur [Kontoeinrichtung](https://app.asana.com/0/account_setup) weitergeleitet. Führen Sie folgende Schritte aus:
   + Überprüfen Sie das Formular zur Kontoeinrichtung.
   + Füllen Sie alle relevanten Details aus, um Ihr Asana-Konto zu erstellen.
   + Überprüfen Sie die Informationen noch einmal auf Richtigkeit.

1. Wählen Sie **Konto erstellen** oder **Senden** aus (der genaue Text der Schaltflächen kann variieren), um die Einrichtung Ihres Kontos abzuschließen.

**Erstellen der App in Asana für `OAuth2.0`**

1. Melden Sie sich mit Ihren Asana-Kundenanmeldeinformationen beim [Asana-Konto](https://app.asana.com/-/login) an. 

1. Wählen Sie oben rechts Ihr Benutzerprofilsymbol aus und wählen Sie **Meine Einstellungen** im Drop-down-Menü aus.

1. Wählen Sie die Registerkarte **Apps** und dann **Entwickler-Apps verwalten** aus.

1. Wählen Sie **Neue App erstellen** aus und geben Sie die entsprechenden Details ein. 

1. Wählen Sie **App erstellen**.

1. Auf der Seite **Meine Apps**: 

   1. Wählen Sie aus **OAuth**und notieren Sie sich im Abschnitt **App-Anmeldeinformationen** Ihre Client-ID und Ihren geheimen Kundenschlüssel.

   1. Fügen Sie im URLs Abschnitt **Weiterleitung** die erforderlichen Umleitungs-URLs hinzu.
**Anmerkung**  
Geben Sie die Weiterleitungs-URI in diesem Format ein: `https://{aws-region-code}.console.aws.amazon.com/gluestudio/oauth`. Beispiel: Verwenden Sie für USA-Ost (Nord-Virginia): `https://us-east-1.console.aws.amazon.com/gluestudio/oauth`

**Erstellen der App in Asana für `PAT`-Token**

1. Melden Sie sich mit Ihren Asana-Kundenanmeldeinformationen beim [Asana-Konto](https://app.asana.com/-/login) an. 

1. Wählen Sie oben rechts Ihr Benutzerprofilsymbol aus und wählen Sie **Meine Profileinstellungen** im Drop-down-Menü aus.

1. Wählen Sie die Registerkarte **Apps** und dann **Dienstkonten** aus.

1. Wählen Sie **Neue App erstellen** aus und geben Sie die entsprechenden Details ein. 

1. Wählen Sie **Dienstkonto hinzufügen** aus.

1. Auf der nächsten Seite wird Ihr Token angezeigt. Kopieren Sie Ihr Token und speichern Sie es sicher. 
**Wichtig**  
Dieses Token wird nur einmal angezeigt. Kopieren sie es daher unbedingt, um es sicher aufzubewahren. 

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

Die folgenden Einschränkungen gelten für den Asana-Connector:
+ Dienstkonten in Unternehmensdomänen können nur auf API-Endpunkte für Audit-Protokolle zugreifen. Für den Zugriff auf diese Endpunkte ist eine Authentifizierung mit dem persönlichen Zugriffstoken eines Dienstkontos erforderlich.
+ Auf die Goal-Entität kann nur über Benutzerkonten mit einem Premium-Plan oder höher zugegriffen werden.
+ `Audit Log Event Entity`: Im Connector werden die Felder `start_at` und `end_at` zu einem einzigen Feld „start\$1end\$1at“ zusammengefasst, um die Filterung und inkrementelle Übertragung zu unterstützen.
+ Die Partitionierung kann für das `Date` Feld nicht unterstützt werden, obwohl es die Operatoren greater-than-or-equal -to und less-than-or-equal -to unterstützt. Szenario: Es wurde ein Auftrag mit `partitionField` als `due_on` (Datentyp: Datum), `lowerBound` als `2019-09-14`, `upperBound` als `2019-09-16` und `numPartition` als `2` erstellt. Der Filterteil der Endpunkt-URL wird wie folgt erstellt:
  + partition1: due\$1on.before=2019-09-14&due\$1on.after=2019-09-14
  + partition2: due\$1on.before=2019-09-15&due\$1on.after=2019-09-15 Ausgabe:
  + In partition1 erhalten wir Daten mit due\$1date als 2019-09-14 und 2019-09-15
  + In partition2 erhalten wir dieselben Daten mit due\$1date als 2019-09-15 (die sich in partition1 befanden) zusammen mit anderen Daten, was zu Datenduplizierung führt.
+ Filterung und Partitionierung können nicht für dasselbe Feld unterstützt werden, da von der SaaS-Seite ein Fehler wegen einer ungültigen Anfrage zurückgegeben wird.
+ Die Task-Entität erfordert mindestens ein Feld in den Filterkriterien. Es gibt eine Einschränkung bei Asana, bei der die Paginierung identifiziert wird, ohne die Datensätze anhand eines zeitbasierten Feldes zu sortieren. Daher wird das Feld „Created\$1AT“ zusammen mit der Paginierung verwendet, um die nächste Gruppe von Datensätzen zu unterscheiden. Das Feld „Created\$1AT“ ist im Filter als Pflichtfeld markiert und hat den Standardwert „2000-01-01T00:00:00Z“, falls es nicht angegeben wird. Weitere Informationen zur Paginierung finden Sie unter [Aufgaben in einem Workspace](https://developers.asana.com/reference/searchtasksforworkspace).

# Verbindung zu Azure Cosmos DB in AWS Glue Studio herstellen
<a name="connecting-to-data-azurecosmos"></a>

 AWS Glue bietet integrierte Unterstützung für Azure Cosmos DB. AWS Glue Studio stellt eine visuelle Benutzeroberfläche bereit, um eine Verbindung zu Azure Cosmos DB for NoSQL herzustellen, Datenintegrationsaufträge zu verfassen und diese in der AWS Glue Studio-Serverless-Spark-Laufzeit auszuführen. 

**Topics**
+ [Erstellen einer Azure-Cosmos-DB-Verbindung](creating-azurecosmos-connection.md)
+ [Erstellen eines Azure-Cosmos-DB-Quellknotens](creating-azurecosmos-source-node.md)
+ [Erstellen eines Azure-Cosmos-DB-Zielknotens](creating-azurecosmos-target-node.md)
+ [Erweiterte Optionen](#creating-azurecosmos-connection-advanced-options)

# Erstellen einer Azure-Cosmos-DB-Verbindung
<a name="creating-azurecosmos-connection"></a>

**Voraussetzungen:**
+ In Azure müssen Sie einen Azure Cosmos DB-Schlüssel für die Verwendung durch AWS Glue, `cosmosKey` identifizieren oder generieren. Weitere Informationen finden Sie unter [Sicherer Zugriff auf Daten in Azure Cosmos DB](https://learn.microsoft.com/en-us/azure/cosmos-db/secure-access-to-data?tabs=using-primary-key) in der Azure-Dokumentation.

**Eine Verbindung zu Azure Cosmos DB konfigurieren Sie wie folgt:**

1. Erstellen Sie in AWS Secrets Manager ein Geheimnis mit Ihrem Azure Cosmos DB-Schlüssel. Um ein Geheimnis in Secrets Manager zu erstellen, folgen Sie dem Tutorial, das in der AWS Secrets Manager Dokumentation unter [Create an AWS Secrets Manager Secret](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) verfügbar ist. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Geheimnamen *secretName* für den nächsten Schritt bei. 
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `spark.cosmos.accountKey` mit dem Wert. *cosmosKey*

1. Stellen Sie in der AWS Glue Konsole eine Verbindung her, indem Sie den Schritten unter folgen. [AWS Glue Verbindung hinzufügen](console-connections.md) Nachdem Sie die Verbindung hergestellt haben, behalten Sie den Verbindungsnamen,*connectionName*, für die future Verwendung in AWS Glue. 
   + Wählen Sie als **Verbindungstyp** Azure Cosmos DB aus.
   + Geben Sie bei der Auswahl eines **AWS Geheimnisses** Folgendes an*secretName*.

# Erstellen eines Azure-Cosmos-DB-Quellknotens
<a name="creating-azurecosmos-source-node"></a>

## Voraussetzungen
<a name="creating-azurecosmos-source-node-prerequisites"></a>
+ Eine AWS Glue Azure Cosmos DB-Verbindung, konfiguriert mit einem AWS Secrets Manager Geheimnis, wie im vorherigen Abschnitt beschrieben,[Erstellen einer Azure-Cosmos-DB-Verbindung](creating-azurecosmos-connection.md).
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Ein Container in Azure Cosmos DB für NoSQL, aus dem Sie lesen möchten. Sie benötigen Identifikationsinformationen für den Container.

  Ein Container in Azure Cosmos DB für NoSQL wird anhand seiner Datenbank und seines Containers identifiziert. Sie müssen die Datenbank- und Container-Namen angeben*cosmosContainerName*, wenn Sie eine Verbindung zur Azure Cosmos for NoSQL-API herstellen. *cosmosDBName*

## Hinzufügen einer Azure-Cosmos-DB-Datenquelle
<a name="creating-azurecosmos-source-node-add"></a>

**Fügen Sie einen Knoten **Datenquelle – Azure Cosmos DB** wie folgt hinzu:**

1.  Wählen Sie die Verbindung für Ihre Azure-Cosmos-DB-Datenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **Azure-Cosmos-DB-Verbindung erstellen** aus. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Erstellen einer Azure-Cosmos-DB-Verbindung](creating-azurecosmos-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Wählen Sie **Cosmos DB-Datenbankname** — geben Sie den Namen der Datenbank an, aus der Sie lesen möchten,. *cosmosDBName*

1. Wählen Sie **Azure Cosmos DB Container** — geben Sie den Namen des Containers ein, aus dem Sie lesen möchten,. *cosmosContainerName*

1. Wählen Sie optional **Benutzerdefinierte Abfrage in Azure Cosmos DB** aus – geben Sie eine SQL-SELECT-Abfrage ein, um bestimmte Informationen aus Azure Cosmos DB abzurufen.

1.  Geben Sie unter **Benutzerdefinierte Azure-Cosmos-Eigenschaften** nach Bedarf Parameter und Werte ein. 

# Erstellen eines Azure-Cosmos-DB-Zielknotens
<a name="creating-azurecosmos-target-node"></a>

## Voraussetzungen
<a name="creating-azurecosmos-target-node-prerequisites"></a>
+ Eine AWS Glue Azure Cosmos DB-Verbindung, konfiguriert mit einem AWS Secrets Manager Geheimnis, wie im vorherigen Abschnitt beschrieben,[Erstellen einer Azure-Cosmos-DB-Verbindung](creating-azurecosmos-connection.md).
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Eine Azure-Cosmos-DB-Tabelle, in die Sie schreiben möchten. Sie benötigen Identifikationsinformationen für den Container. **Sie müssen den Container erstellen, bevor Sie die Verbindungsmethode aufrufen.**

  Ein Container in Azure Cosmos DB für NoSQL wird anhand seiner Datenbank und seines Containers identifiziert. Sie müssen die Datenbank- und Container-Namen angeben*cosmosContainerName*, wenn Sie eine Verbindung zur Azure Cosmos for NoSQL-API herstellen. *cosmosDBName*

## Hinzufügen eines Azure-Cosmos-DB-Datenziels
<a name="creating-azurecosmos-target-node-add"></a>

**Fügen Sie einen Knoten **Datenziel – Azure Cosmos DB** wie folgt hinzu:**

1.  Wählen Sie die Verbindung für Ihre Azure-Cosmos-DB-Datenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **Azure-Cosmos-DB-Verbindung erstellen** aus. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Erstellen einer Azure-Cosmos-DB-Verbindung](creating-azurecosmos-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Wählen Sie **Cosmos DB-Datenbankname** — geben Sie den Namen der Datenbank an, aus der Sie lesen möchten,. *cosmosDBName*

1. Wählen Sie **Azure Cosmos DB Container** — geben Sie den Namen des Containers ein, aus dem Sie lesen möchten,. *cosmosContainerName*

1.  Geben Sie unter **Benutzerdefinierte Azure-Cosmos-Eigenschaften** nach Bedarf Parameter und Werte ein. 

## Erweiterte Optionen
<a name="creating-azurecosmos-connection-advanced-options"></a>

Sie können bei der Erstellung eines Azure-Cosmos-DB-Knotens erweiterte Optionen angeben. Diese Optionen sind dieselben wie die, die bei der Programmierung AWS Glue für Spark-Skripte verfügbar sind.

Siehe [Azure-Cosmos-DB-Verbindungen](aws-glue-programming-etl-connect-azurecosmos-home.md). 

# Verbindung zu Azure SQL in AWS Glue Studio herstellen
<a name="connecting-to-data-azuresql"></a>

 AWS Glue bietet integrierte Unterstützung für Azure SQL. AWS Glue Studio stellt eine visuelle Benutzeroberfläche bereit, um eine Verbindung zu Azure SQL herzustellen, Datenintegrationsaufträge zu verfassen und diese in der AWS Glue Studio-Serverless-Spark-Laufzeit auszuführen. 

**Topics**
+ [Erstellen einer Azure-SQL-Verbindung](creating-azuresql-connection.md)
+ [Erstellen eines Azure-SQL-Quellknotens](creating-azuresql-source-node.md)
+ [Erstellen eines Azure-SQL-Zielknotens](creating-azuresql-target-node.md)
+ [Erweiterte Optionen](#creating-azuresql-connection-advanced-options)

# Erstellen einer Azure-SQL-Verbindung
<a name="creating-azuresql-connection"></a>

Um von aus eine Verbindung zu Azure SQL herzustellen AWS Glue, müssen Sie Ihre Azure SQL-Anmeldeinformationen erstellen und in einem AWS Secrets Manager geheimen Ordner speichern und dieses Geheimnis dann einer Azure AWS Glue SQL-Verbindung zuordnen.

**Eine Verbindung zu Azure SQL konfigurieren Sie wie folgt:**

1. Erstellen Sie unter mithilfe Ihrer Azure SQL-Anmeldeinformationen ein Geheimnis. AWS Secrets Manager Um ein Geheimnis in Secrets Manager zu erstellen, folgen Sie dem Tutorial, das in der AWS Secrets Manager Dokumentation unter [Create an AWS Secrets Manager Secret](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) verfügbar ist. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Geheimnamen *secretName* für den nächsten Schritt bei. 
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `user` mit dem Wert. *azuresqlUsername*
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `password` mit dem Wert. *azuresqlPassword*

1. Stellen Sie in der AWS Glue Konsole eine Verbindung her, indem Sie den Schritten unter folgen. [AWS Glue Verbindung hinzufügen](console-connections.md) Nachdem Sie die Verbindung hergestellt haben, behalten Sie den Verbindungsnamen,*connectionName*, für die future Verwendung in AWS Glue. 
   + Wählen Sie als **Verbindungstyp** Azure SQL aus.
   + Wenn Sie eine **Azure-SQL-URL** angeben, geben Sie eine JDBC-Endpunkt-URL an.

      Die URL muss das folgende Format aufweisen: `jdbc:sqlserver://databaseServerName:databasePort;databaseName=azuresqlDBname;`.

     AWS Glue erfordert die folgenden URL-Eigenschaften: 
     + `databaseName` – Eine Standarddatenbank in Azure SQL, mit der eine Verbindung hergestellt werden kann.

     Weitere Informationen zu JDBC URLs für Azure SQL Managed Instances finden Sie in der [Microsoft-Dokumentation](https://learn.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?view=azuresqldb-mi-current).
   + Geben Sie bei der Auswahl eines **AWS Geheimnisses Folgendes** an: *secretName*

# Erstellen eines Azure-SQL-Quellknotens
<a name="creating-azuresql-source-node"></a>

## Voraussetzungen
<a name="creating-azuresql-source-node-prerequisites"></a>
+ Eine AWS Glue Azure SQL-Verbindung, konfiguriert mit einem AWS Secrets Manager Geheimnis, wie im vorherigen Abschnitt beschrieben,[Erstellen einer Azure-SQL-Verbindung](creating-azuresql-connection.md).
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Eine Azure SQL-Tabelle, aus der Sie lesen möchten,*tableName*.

  Eine Azure-SQL-Tabelle wird anhand ihrer Datenbank, ihres Schemas und ihres Tabellennamens identifiziert. Sie müssen den Datenbanknamen und den Tabellennamen angeben, wenn Sie eine Verbindung zu Azure SQL herstellen. Sie müssen auch das Schema angeben, falls es sich nicht um das Standardschema „public“ handelt. Die Datenbank wird über eine URL-Eigenschaft in*connectionName*, ein Schema und einen Tabellennamen über die bereitgestellt`dbtable`.

## Hinzufügen einer Azure-SQL-Datenquelle
<a name="creating-azuresql-source-node-add"></a>

**Fügen Sie einen Knoten **Datenquelle – Azure SQL** wie folgt hinzu:**

1.  Wählen Sie die Verbindung für Ihre Azure-SQL-Datenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **Azure-SQL-Verbindung erstellen** aus. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Erstellen einer Azure-SQL-Verbindung](creating-azuresql-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1.  Wählen Sie eine Option für **Azure-SQL-Quelle** aus: 
   +  **Eine einzelne Tabelle auswählen** – rufen Sie alle Daten aus einer einzigen Tabelle ab. 
   +  **Benutzerdefinierte Abfrage eingeben** – rufen Sie einen Datensatz aus mehreren Tabellen ab, basierend auf Ihrer benutzerdefinierten Abfrage. 

1.  Wenn Sie eine einzelne Tabelle ausgewählt haben, geben Sie ein*tableName*. 

    Wenn Sie **Benutzerdefinierte Abfrage eingeben** ausgewählt haben, geben Sie eine TransactSQL-SELECT-Abfrage ein. 

1.  Geben Sie unter **Benutzerdefinierte Azure-SQL-Eigenschaften** nach Bedarf Parameter und Werte ein. 

# Erstellen eines Azure-SQL-Zielknotens
<a name="creating-azuresql-target-node"></a>

## Voraussetzungen
<a name="creating-azuresql-target-node-prerequisites"></a>
+ Eine AWS Glue Azure SQL-Verbindung, konfiguriert mit einem AWS Secrets Manager Geheimnis, wie im vorherigen Abschnitt beschrieben,[Erstellen einer Azure-SQL-Verbindung](creating-azuresql-connection.md).
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Eine Azure SQL-Tabelle, in die Sie schreiben möchten,*tableName*.

  Eine Azure-SQL-Tabelle wird anhand ihrer Datenbank, ihres Schemas und ihres Tabellennamens identifiziert. Sie müssen den Datenbanknamen und den Tabellennamen angeben, wenn Sie eine Verbindung zu Azure SQL herstellen. Sie müssen auch das Schema angeben, falls es sich nicht um das Standardschema „public“ handelt. Die Datenbank wird über eine URL-Eigenschaft in*connectionName*, ein Schema und einen Tabellennamen über die bereitgestellt`dbtable`.

## Hinzufügen eines Azure-SQL-Datenziels
<a name="creating-azuresql-target-node-add"></a>

**Fügen Sie einen Knoten **Datenziel – Azure SQL** wie folgt hinzu:**

1.  Wählen Sie die Verbindung für Ihre Azure-SQL-Datenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **Azure-SQL-Verbindung erstellen** aus. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Erstellen einer Azure-SQL-Verbindung](creating-azuresql-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Konfigurieren Sie den **Tabellennamen**, indem Sie angeben*tableName*.

1.  Geben Sie unter **Benutzerdefinierte Azure-SQL-Eigenschaften** nach Bedarf Parameter und Werte ein. 

## Erweiterte Optionen
<a name="creating-azuresql-connection-advanced-options"></a>

Sie können bei der Erstellung eines Azure-SQL-Knotens erweiterte Optionen angeben. Diese Optionen sind dieselben wie die, die bei der Programmierung AWS Glue für Spark-Skripte verfügbar sind.

Siehe [Azure-SQL-Verbindungen](aws-glue-programming-etl-connect-azuresql-home.md). 

# Herstellen einer Verbindung mit Blackbaud Raiser's Edge NXT
<a name="connecting-to-data-blackbaud"></a>

Blackbaud Raiser's Edge NXT ist eine umfassende, cloudbasierte Softwarelösung für Fundraising und Spendermanagement, die speziell für gemeinnützige Organisationen und die gesamte Social-Good-Community entwickelt wurde. Dieser Connector basiert auf der SKY-API von Blackbaud Raiser's Edge NXT und bietet Funktionen zur Verwaltung von Entitäten innerhalb von Raisers Edge NXT.

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

# AWS Glue Unterstützung für Blackbaud Raiser's Edge NXT
<a name="blackbaud-support"></a>

AWS Glue unterstützt Blackbaud Raiser's Edge NXT wie folgt:

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

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

**Unterstützte API-Versionen von Blackbaud Raiser's Edge NXT**  
Die folgenden Versionen der API Blackbaud Raiser's Edge NXT werden unterstützt.
+ v1

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="blackbaud-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.

# Konfiguration von Blackbaud Raiser's Edge NXT
<a name="blackbaud-configuring"></a>

Bevor Sie AWS Glue Daten von Blackbaud Raiser's Edge NXT übertragen können, müssen Sie die folgenden Anforderungen erfüllen:

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Konto bei Blackbaud Raiser's Edge NXT.
+ Sie haben in Ihrem Blackbaud Raiser's Edge NXT-Konto ein Zugriffstoken generiert, dem der entsprechende Bereich für den Zugriff auf zugewiesen wurde. read/write APIs Weitere Informationen finden Sie unter [Autorisierung](https://developer.blackbaud.com/skyapi/docs/authorization).

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Blackbaud Raiser's Edge NXT-Konto herstellen.

# Konfigurieren der Blackbaud-Raiser's-Edge-NXT-Verbindungen
<a name="blackbaud-configuring-connections"></a>

Edge NXT von Blackbaud Raiser unterstützt den Grant-Typ AUTHORIZATION\$1CODE für. OAuth2
+ 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 Blackbaud Raiser's Edge NXT weiter, wo der Benutzer sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Blackbaud Raiser's Edge NXT-Instanz gewähren muss.
+ Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Blackbaud Raiser's Edge NXT zu erstellen und beim Herstellen von Verbindungen über die Konsole ihre eigene Client-ID, ihren Abonnementschlüssel und ihre eigene Instanz-URL anzugeben. AWS Glue In diesem Szenario werden sie weiterhin zu Blackbaud Raiser's Edge NXT 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 kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.
+ [Die öffentliche Blackbaud Raiser's Edge NXT-Dokumentation zum Erstellen einer verbundenen App für den Autorisierungscodefluss finden Sie unter Autorisierung. OAuth ](https://developer.blackbaud.com/skyapi/docs/authorization)

So konfigurieren Sie eine Blackbaud-Raiser's-Edge-NXT-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 `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` 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 als **Datenquelle** Blackbaud Raiser's Edge NXT aus.

   1. Geben Sie die `INSTANCE_URL` des Blackbaud-Raiser's-Edge-NXT-Kontos an, mit dem Sie eine Verbindung herstellen möchten.

   1. Stellen Sie die `clientId` der benutzerverwalteten Client-Anwendung bereit.

   1. Geben Sie den Abonnementschlüssel ein, der Ihrem Konto zugeordnet ist.

   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 Blackbaud-Raiser’s-Edge-NXT-Entitäten
<a name="blackbaud-reading-from-entities"></a>

**Voraussetzung**

Ein Blackbaud-Raiser’s-Edge-NXT-Objekt, aus dem Sie lesen möchten. 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 | 
| --- | --- | --- | --- | --- | --- | 
| Adresse Mitglied | Ja | Ja | Nein | Ja | Ja | 
| Bildung Mitglied | Ja | Ja | Nein | Ja | Ja | 
| E-Mail-Adresse Mitglied | Ja | Ja | Nein | Ja | Ja | 
| Telefon Mitglied | Ja | Ja | Nein | Ja | Ja | 
| Anmerkung Mitglied | Ja | Ja | Nein | Ja | Ja | 
| Beziehung Mitglied | Ja | Ja | Nein | Ja | Ja | 
| Onlinepräsenz Mitglied | Ja | Ja | Nein | Ja | Ja | 
| Gelegenheit | Ja | Ja | Nein | Ja | Ja | 
| Einspruch | Ja | Ja | Nein | Ja | Ja | 
| Kampagne | Ja | Ja | Nein | Ja | Ja | 
| Spende | Ja | Ja | Nein | Ja | Ja | 
| Package | Ja | Ja | Nein | Ja | Ja | 
| Geschenkpaket | Ja | Ja | Nein | Ja | Nein | 
| Veranstaltungsteilnehmer | Ja | Ja | Ja | Ja | Ja | 
| Spendenaktion Mitglied | Nein | Nein | Nein | Ja | Nein | 
| Geschenk | Ja | Ja | Ja | Ja | Ja | 
| Mitgliedschaften | Ja | Ja | Nein | Ja | Ja | 
| Action | Ja | Ja | Nein | Ja | Nein | 
| Mitglied | Ja | Ja | Ja | Ja | Ja | 
| Waren Mitglied | Ja | Ja | Nein | Ja | Ja | 
| Veranstaltung | Ja | Ja | Ja | Ja | Ja | 
| Benutzerdefiniertes Feld für Geschenke | Ja | Ja | Nein | Ja | Ja | 

**Beispiel:**

```
blackbaud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="BLACKBAUD",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v1",
        "SUBSCRIPTION_KEY": <Subscription key associated with one's developer account>
    }
```

## Blackbaud-Raiser's-Edge-NXT-Details zur Entität und zum Feld
<a name="blackbaud-reading-entity-field-details"></a>

Weitere Informationen zu den Entitäten und Felddetails finden Sie unter:
+ [Action (Aktion)](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Action)
+ [Mitglied](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Constituent)
+ [Adresse Mitglied](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Address)
+ [Mitgliedschaft Mitglied](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Membership)
+ [Spendenaktion Mitglied](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#FundraiserAssignment)
+ [Bildung Mitglied](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Education)
+ [E-Mail-Adresse Mitglied](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#EmailAddress)
+ [Telefon Mitglied](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Phone)
+ [Anmerkung Mitglied](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Note)
+ [Onlinepräsenz Mitglied](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#OnlinePresence)
+ [Beziehung Mitglied](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Relationship)
+ [Veranstaltung](https://developer.blackbaud.com/skyapi/renxt/event/entities#Event)
+ [Veranstaltungsteilnehmer](https://developer.blackbaud.com/skyapi/renxt/event/entities#Participant)
+ [Einspruch](https://developer.blackbaud.com/skyapi/renxt/fundraising/entities#Appeal)
+ [Kampagne](https://developer.blackbaud.com/skyapi/renxt/fundraising/entities#Campaign)
+ [Spende](https://developer.blackbaud.com/skyapi/renxt/fundraising/entities#Fund)
+ [Package](https://developer.blackbaud.com/skyapi/renxt/fundraising/entities#Package)
+ [Geschenk](https://developer.blackbaud.com/skyapi/renxt/gift/entities#Gift)
+ [Benutzerdefiniertes Feld für Geschenke](https://developer.blackbaud.com/skyapi/renxt/gift/entities#CustomField)
+ [Geschenkpaket](https://developer.blackbaud.com/skyapi/renxt/gift-batch/entities#GiftBatch)
+ [Gelegenheit](https://developer.blackbaud.com/skyapi/renxt/opportunity/entities#Opportunity)
+ [Codes Mitglied](https://developer.sky.blackbaud.com/api#api=56b76470069a0509c8f1c5b3)

**Anmerkung**  
Die Datentypen Struct und List werden in den Datentyp String konvertiert, und der DateTime Datentyp wird in der Antwort der Konnektoren in Timestamp konvertiert.

## Partitionieren von Abfragen
<a name="blackbaud-reading-partitioning-queries"></a>

**Feldbasierte Partitionierung**:

Blackbaud Raiser's Edge NXT unterstützt keine feldbasierte oder datensatzbasierte Partitionierung.

**Datensatzbasierte Partitionierung**:

Sie können die zusätzliche Spark-Option `NUM_PARTITIONS` angeben, wenn Sie Parallelität in Spark nutzen möchten. Mit diesem Parameter würde die ursprüngliche Abfrage in `NUM_PARTITIONS` Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.

Bei der datensatzbasierten Partitionierung wird die Gesamtzahl der vorhandenen Datensätze von der Blackbaud-Raiser’s-Edge-NXT-API abgefragt und durch die angegebene Anzahl `NUM_PARTITIONS` dividiert. Die resultierende Anzahl von Datensätzen wird dann gleichzeitig von jeder Unterabfrage abgerufen.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
blackbaud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="BLACKBAUD",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v1",
        "NUM_PARTITIONS": "2",
        "SUBSCRIPTION_KEY": <Subscription key associated with one's developer account>
    }
```

# Verbindungsoptionen für Blackbaud Raiser's Edge NXT
<a name="blackbaud-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Blackbaud Raiser's Edge NXT aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Blackbaud Raiser's Edge NXT.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der API von Blackbaud Raiser's Edge NXT, 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.
+ `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen. Beispielwert: 10.
+ `SUBSCRIPTION_KEY`(Zeichenfolge) – (Erforderlich) Standard: leer. Zum Lesen verwendet. Abonnementschlüssel, der mit dem eigenen Entwicklerkonto verknüpft ist.

# Einschränkungen von Blackbaud Raiser's Edge NXT
<a name="blackbaud-connection-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für Blackbaud Raiser's Edge NXT:
+ SaaS unterstützt nur den `EQUAL_TO`-Operator, der Ergebnisse zurückgibt, die am oder nach dem angegebenen Datum erstellt oder geändert wurden. Darüber hinaus ist das Feld „id“ ein String-Datentyp. Es gibt auch keine Identifizierung von Feldern, die keine NULL-Werte zulassen. Daher wird die feldbasierte Partitionierung nicht unterstützt.
+ Inkrementelles Abrufen wird von der `Event`-Entität nur mit täglichen, monatlichen und wöchentlichen Frequenzen unterstützt.
+ Die Entität „Constituent Fundraiser Assignment“ gibt maximal 20 Datensätze zurück.
+ Datensatzbasierte Partitionierung:
  + Wird von den Entitäten `Action`, `Constituent Fundraiser Assignment` oder `Gift Batch` nicht unterstützt.
  + Die datensatzbasierte Partitionierung mit dem Filterprädikat wird nur von den Entitäten `Event` und `Event Participant` unterstützt. Wenn ein Filterprädikat mit anderen datensatzbasierten unterstützten Entitäten verwendet wird, wird eine Ausnahme ausgelöst.
+ In der `Gift Custom Field`-Entität muss das Feld „Wert“ in Verbindung mit dem Feld „Kategorie“ verwendet werden, was andernfalls zu einer ungefilterten Antwort führt. Um also den Benutzer zu zwingen, das Feld „Kategorie“ einzugeben und gleichzeitig mit dem Feld „Wert“ zu filtern, wird eine Ausnahme ausgelöst, wenn die oben genannte Anforderung nicht erfüllt wurde.
+ Die Felder `date_added` und `last_modified` für alle zutreffenden Entitäten unterstützen keine Vergleichsoperatoren. Sie unterstützen nur den Operator „Gleich“. Außerdem gibt es kein Feld, das mit den oben genannten Feldern kombiniert werden kann, um eine Reihe von Datensätzen bereitzustellen. Daher sind diese Felder nur abfragbar und unterstützen keine inkrementelle Übertragung.
+ Das Feld `added_by` in der `Gift Batch`-Entität wird nicht als filterbar betrachtet, da es möglicherweise nicht die richtigen Ergebnisse ausgibt.
+ Beim Einfügen von Daten in die `Gift`-Entität besteht eine Latenz von etwa 30 Minuten für das Abrufen von Datensätzen über den `/GET Gift List`-Endpunkt.
+ Die Unterstützung für die inkrementelle Übertragung wurde für die Gift-Entität aufgrund von Einschränkungen seitens der Datenquelle eingestellt. 
+ Für das Statusfeld in der Opportunity-Entität besteht eine Latenz von 10 Minuten.
+ Die `Fundraiser Assignment`-Entität hat `Constituent` als abhängige Entität. Der Konnektor lädt maximal 5.000 IDs zur Auswahl, um zu verhindern, dass die Antwortgröße die maximal zulässige Nutzlastgröße überschreitet.

# 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 

# Herstellen einer Verbindung zu Datadog
<a name="connecting-to-datadog"></a>

Datadog ist eine Überwachungs- und Analytikplattform für Cloud-Anwendungen, einschließlich Infrastruktur, Anwendungen, Services und Tools.

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

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

AWS Glue unterstützt Datadog wie folgt:

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

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

**Unterstützte Datadog-API-Versionen**  
 
+ v1
+   v2

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="datadog-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": "*"
    }
  ]
}
```

------

Wenn Sie die vorstehende 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, 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 Datadog
<a name="datadog-configuring"></a>

Bevor Sie die Übertragung von Datadog verwenden AWS Glue können, müssen Sie die folgenden Anforderungen erfüllen:

## Mindestanforderungen
<a name="datadog-configuring-min-requirements"></a>
+ Sie haben ein Datadog-Konto mit und. DD-API-KEY DD-APPLICATION-KEY Weitere Informationen zum Erstellen eines Kontos finden Sie unter [Erstellen eines Datadog-Kontos](datadog-create-account.md). 
+  Ihr Datadog-Konto verfügt über API-Zugriff mit einer gültigen Lizenz.

   

Datadog unterstützt die folgenden sechs. URLs Alle Datadog-API-Clients sind standardmäßig so konfiguriert, dass sie die Datadog-Site nutzen. US1 APIs Wenn Sie sich auf der Datadog EU-Site befinden, müssen Sie die URL https://api.datadoghq.eu mit dem Ende der `DD-API-KEY` Datadog EU-Site auswählen, um auf die zuzugreifen. `DD-APPLICATION-KEY` APIs In ähnlicher Weise sollten Sie für andere Websites die jeweilige URLs mit `DD-API-KEY and DD-APPLICATION-KEY` der jeweiligen Site auswählen. 
+ US1 API-URL — [https://api.datadoghq.com](https://api.datadoghq.com) https://api.datadoghq.com
+ EU-API-URL – [https://api.datadoghq.eu ](https://api.datadoghq.eu)
+ US3 API-URL — [https://api.us3.datadoghq.com](https://api.us3.datadoghq.com) 
+ US5 API-URL — [https://api.us5.datadoghq.com](https://api.us5.datadoghq.com)
+ API-URL MIT S1-FED — [https://api.ddog-gov.com](https://api.ddog-gov.com)
+ Japan API-URL — [https://api.ap1.datadoghq.com](https://api.ap1.datadoghq.com)

Wenn Sie diese Anforderungen erfüllen, sind Sie bereit, eine Verbindung AWS Glue zu Ihrem Datadog-Konto herzustellen.

# Konfigurieren von Datadog-Verbindungen
<a name="datadog-configuring-connections"></a>

Datadog unterstützt benutzerdefinierte Authentifizierung. Im Folgenden finden Sie die Schritte zur Konfiguration der Datadog-Verbindung:

Konfigurieren einer Datadog-Verbindung:

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

   Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `API_KEY` und `APPLICATION_KEY` als Schlüssel enthalten. 
**Anmerkung**  
Sie müssen für jede Verbindung in AWS Glue ein Geheimnis erstellen.

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

   1. Wählen Sie als **Verbindungstyp** Datadog aus.

   1. Geben Sie die `Instance_Url` von Datadog an, zu der eine Verbindung hergestellt werden soll.

   1. Wählen Sie die IAM-Rolle aus, für die AWS Glue Sie die folgenden Aktionen übernehmen können und über Berechtigungen verfügen: 

------
#### [ 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 Datadog-Entitäten
<a name="datadog-reading-from-entities"></a>

 **Voraussetzungen** 

Ein Datadog-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 | 
| --- | --- | --- | --- | --- | --- | 
|  Metrikzeitreihen  | Ja | Nein | Nein | Ja | Nein | 
|  Abfragen protokollieren  | Ja | Ja | Ja | Ja | Nein | 

 **Beispiel** 

```
Datadog_read = glueContext.create_dynamic_frame.from_options(
    connection_type="datadog",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "log-queries",
        "API_VERSION": "v2",
        "INSTANCE_URL": "https://api.datadoghq.com",
        "FILTER_PREDICATE": "from = `2023-10-03T09:00:26Z`"
    }
```

 **Datadog-Entitäts- und Felddetails** 

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

# Datadog-Verbindungsoptionen
<a name="datadog-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Datadog aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Datadog.
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der Datadog-Rest-API, die Sie verwenden möchten. Version `v1` unterstützt Entität `metrics-timeseries`, während Version `v2` Entität `log-queries` unterstützt.
+  `INSTANCE_URL` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Datadog-Instance-URL. Die URL der Datadog-Instance variiert je nach Region. 
+  `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. 

# Erstellen eines Datadog-Kontos
<a name="datadog-create-account"></a>

1. Gehe zu [https://www.datadoghq.com/](https://api.datadoghq.com). 

1. Wählen Sie **GET STARTED FREE** aus.

1. Geben Sie die erforderlichen Informationen ein und registrieren Sie sich. 

1. Installieren Sie mit dem **Datadog-Agent-Installationsprogramm** wie vorgeschlagen. 

1. Stellen Sie sicher, dass das Konto bei einer gültigen Organisation (aus der verfügbaren Liste) registriert ist, die über ein aktives Datadog-Abonnement verfügt. 

1. Nachdem Sie sich bei Ihrem Datadog-Konto angemeldet haben, bewegen Sie den Mauszeiger oben rechts über Ihren Benutzernamen, um die **Schlüsseldetails** anzuzeigen:

   1. Wählen Sie **API-Schlüssel** aus, um Ihren API-Schlüssel zu erhalten.

   1. Wählen Sie **Anwendungsschlüssel** aus, um Ihren Anwendungsschlüssel zu erhalten.

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

Die folgenden Einschränkungen gelten für den Datadog-Connector:
+ Datadog unterstützt weder feldbasierte noch datensatzbasierte Partitionierung.
+ `from` ist ein obligatorischer Filterparameter für die `Log Queries`-Entität.
+ `from_to_date` und `query` sind obligatorische Filterparameter für die `Metrics Timeseries`-Entität.

# Herstellen einer Verbindung mit Docusign Monitor
<a name="connecting-to-data-docusign-monitor"></a>

Docusign Monitor hilft Unternehmen dabei, ihre Vereinbarungen durch Aktivitätsverfolgung zu schützen. round-the-clock Die Monitor-API leitet diese Informationen zur Aktivitätsverfolgung direkt an vorhandene Sicherheitsstacks oder Datenvisualisierungstools weiter, sodass Teams unbefugte Aktivitäten erkennen, Vorfälle untersuchen und schnell auf bestätigte Bedrohungen reagieren können. Darüber hinaus bietet sie die Flexibilität, die Sicherheitsteams benötigen, um Dashboards und Warnmeldungen an spezifische Geschäftsanforderungen anzupassen.

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

# AWS Glue Unterstützung für Docusign Monitor
<a name="docusign-monitor-support"></a>

AWS Glue unterstützt Docusign Monitor wie folgt:

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

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

**Unterstützte Versionen der Docusign-Monitor-API**  
Die folgenden Versionen der Docusign-Monitor-API werden unterstützt:
+ v2.0

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

Bevor Sie AWS Glue Daten von Docusign Monitor an unterstützte Ziele übertragen können, müssen Sie die folgenden Anforderungen erfüllen:

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Docusign-Konto, mit dem Sie das Docusign-Softwareprodukt in Docusign Monitor verwenden.
+ In der Entwicklerkonsole für Ihr Docusign-Konto haben Sie eine OAuth 2.0-Integrations-App für erstellt. AWS Glue

  Diese App stellt die Kundenanmeldedaten bereit, die für den sicheren Zugriff auf Ihre Daten AWS Glue verwendet werden, wenn authentifizierte Anrufe an Ihr Konto getätigt werden. Weitere Informationen finden Sie unter [OAuth 2.0](https://developers.docusign.com/platform/webhooks/connect/validation-and-security/oauth-connect/) in der Docusign Monitor-Dokumentation.

Wenn Sie diese Anforderungen erfüllen, können Sie sich mit Ihrem Docusign AWS Glue Monitor-Konto verbinden.

# Konfigurieren von Docusign-Monitor-Verbindungen
<a name="docusign-monitor-configuring-connections"></a>

Docusign Monitor unterstützt den Gewährungstyp AUTHORIZATION\$1CODE.
+ Dieser Gewährungstyp wird als dreigeteilt betrachtet, OAuth da er darauf beruht, dass Benutzer zur Authentifizierung des Benutzers an den Autorisierungsserver eines Drittanbieters umgeleitet werden. Er wird verwendet, wenn Verbindungen über die Konsole hergestellt werden. AWS Glue 
+ Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Docusign Monitor zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zu Docusign Monitor 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 kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.
+ Die öffentliche Dokumentation von Docusign Monitor zur Erstellung einer verbundenen App für den OAuth Autorisierungscode-Flow finden Sie unter [Docusign OAuth Connect](https://developers.docusign.com/platform/webhooks/connect/validation-and-security/oauth-connect/).

So konfigurieren Sie eine Docusign-Monitor-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 `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` 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 unter **Verbindungen** die Option **Verbindung erstellen** aus.

   1. Wählen Sie bei der Auswahl einer **Datenquelle** Docusign Monitor 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. Stellen Sie die **benutzerverwaltete Client-Anwendung ClientId** der Docusign Monitor-App bereit.

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

   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 Docusign-Monitor-Entitäten
<a name="docusign-monitor-reading-from-entities"></a>

**Voraussetzung**

Ein Docusign-Monitor-Objekt, aus dem Sie lesen möchten.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Überwachen von Daten | Ja | Ja | Nein | Ja | Nein | 

**Beispiel:**

```
docusignmonitor_read = glueContext.create_dynamic_frame.from_options(
    connection_type="docusign_monitor",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "monitoring-data",
        "API_VERSION": "v2.0"
    }
```

## Entitäts- und Felddetails von Docusign Monitor
<a name="docusign-monitor-reading-from-entities-field-details"></a>

Entitäten mit statischen Metadaten:

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

**Partitionierung von Abfragen**

Docusign Monitor unterstützt weder feldbasierte noch datensatzbasierte Partitionierung.

# Verbindungsoptionen für Docusign Monitor
<a name="docusign-monitor-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Docusign Monitor aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Docusign Monitor.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der REST-API von Docusign Monitor, 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.
+ `QUERY`(Zeichenfolge) – Standard: leer. Zum Lesen verwendet. Vollständige Spark-SQL-Abfrage.
+ `FILTER_PREDICATE`(Zeichenfolge) – Standard: leer Zum Lesen verwendet. Muss das Spark-SQL-Format aufweisen.

# Einschränkungen für Docusign Monitor
<a name="docusign-monitor-connection-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für Docusign Monitor:
+ Wenn mithilfe des `cursor`-Felds ein Filter angewendet wird, ruft die API Datensätze für die nächsten sieben Tage ab dem angegebenen Datum ab.
+ Wenn kein Filter angegeben ist, ruft die API Datensätze für die letzten sieben Tage ab dem aktuellen Datum der API-Anforderung ab.
+ Docusign Monitor unterstützt weder feldbasierte noch datensatzbasierte Partitionierung.
+ Docusign Monitor unterstützt das Feature „Sortieren nach“ nicht.

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

Domo ist ein cloudbasiertes Dashboarding-Tool. Mit der Unternehmensanwendungsplattform von Domo verfügen Sie über die erforderliche Grundlage, um Domo zu erweitern, sodass Sie Ihre individuellen Lösungen schneller erstellen können.

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

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

AWS Glue unterstützt Domo wie folgt:

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

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

**Unterstützte Domo-API-Versionen**  
Die folgenden Domo-API-Versionen werden unterstützt:
+ v1

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

Bevor Sie Daten von Domo AWS Glue zu unterstützten Zielen übertragen können, müssen Sie die folgenden Anforderungen erfüllen:

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Domo-Konto, das für den API-Zugriff aktiviert ist.
+ In Ihrem Domo-Entwicklerkonto befindet sich eine App, die die Kundenanmeldedaten bereitstellt, die für den sicheren Zugriff auf Ihre Daten AWS Glue verwendet werden, wenn authentifizierte Anrufe an Ihr Konto getätigt werden. Weitere Informationen finden Sie unter [Erstellen einer Domo-Entwickler-App](#domo-configuring-creating-developer-app).

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

## Erstellen einer Domo-Entwickler-App
<a name="domo-configuring-creating-developer-app"></a>

Um die Client-ID und das Client-Geheimnis zu erhalten, erstellen Sie ein Entwicklerkonto.

1. Gehen Sie zur [Domo-Anmeldeseite für Entwickler](https://developer.domo.com/manage-clients).

1. Wählen Sie **Login (Anmelden)** aus.

1. Geben Sie den Domainnamen ein und klicken Sie auf **Weiter**.

1. Bewegen Sie den Mauszeiger auf **Mein Konto** und wählen Sie **Neuer Kunde** aus.

1. Geben Sie den Namen und die Beschreibung ein. Wählen Sie den Bereich („Daten“) aus und klicken Sie auf **Erstellen**.

1. Rufen Sie die generierte **Client-ID** und das generierte **Client-Geheimnis** von dem neu erstellten Client ab.

# Konfiguration von Domo-Verbindungen
<a name="domo-configuring-connections"></a>

Domo unterstützt den Grant-Typ CLIENT\$1CREDENTIALS für. OAuth2
+ Dieser Gewährungstyp wird als zweigliedrig betrachtet, OAuth da sich nur die Client-Anwendung beim Server authentifiziert, ohne dass der Benutzer involviert ist.
+ Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Domo zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die Konsole herstellen. AWS Glue 
+ [Eine öffentliche Domo-Dokumentation zur Erstellung einer verbundenen App für den OAuth Autorisierungscode-Flow finden Sie unter OAuth Authentifizierung.](https://developer.domo.com/portal/1845fc11bbe5d-api-authentication)

Konfigurieren einer Domo-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 das Zugriffstoken der verbundenen App, `client_id` und `client_secret` 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 unter **Verbindungen** die Option **Verbindung erstellen** aus.

   1. Wählen Sie bei der Auswahl einer **Datenquelle** Domo 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 Domo-Entitäten
<a name="domo-reading-from-entities"></a>

**Voraussetzung**

Ein Domo-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen wie Datensatz oder Datenberechtigungsrichtlinien. Die folgende Tabelle zeigt die unterstützten Entitäten.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Dataset | Ja | Ja | Ja | Ja | Ja | 
| Datenberechtigungsrichtlinien | Nein | Nein | Nein | Ja | Nein | 

**Beispiel:**

```
Domo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="domo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dataset",
        "API_VERSION": "v1"
    }
```

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

Entitäten mit statischen Metadaten:

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

Für die folgenden Entitäten stellt Domo Endpunkte zum dynamischen Abrufen von Metadaten bereit, sodass die Operatorunterstützung auf Datentypebene für die Entität erfasst wird.

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

## Partitionieren von Abfragen
<a name="domo-reading-from-partitioning"></a>

**Feldbasierte Partitionierung**

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 den Wert im ISO-Format.

  Beispiel für gültigen Wert:

  ```
  "2023-01-15T11:18:39.205Z"
  ```

  Für das Datumsfeld akzeptieren wir den Wert im ISO-Format.

  Beispiel für gültigen Wert:

  ```
  "2023-01-15"
  ```
+ `UPPER_BOUND`: ein **exklusiver Obergrenzwert** des ausgewählten Partitionsfelds.

  Beispiele für gültigen Wert:

  ```
  "2023-02-15T11:18:39.205Z"
  ```
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Details zur Unterstützung von Feldern für die entitätsbezogene Partitionierung sind in der folgenden Tabelle aufgeführt.

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

Beispiel:

```
Domo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="domo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dataset",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "permissionTime"
        "LOWER_BOUND": "2023-01-15T11:18:39.205Z"
        "UPPER_BOUND": "2023-02-15T11:18:39.205Z"
        "NUM_PARTITIONS": "2"
    }
```

**Datensatzbasierte Partitionierung**

Sie können die zusätzlichen Spark-Option `NUM_PARTITIONS` angeben, wenn Sie Parallelität in Spark nutzen möchten. Mit diesem Parameter würde die ursprüngliche Abfrage in `NUM_PARTITIONS` Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.

Bei der datensatzbasierten Partitionierung wird die Gesamtzahl der vorhandenen Datensätze von Domo abgefragt und durch die angegebene `NUM_PARTITIONS`-Anzahl dividiert. Die resultierende Anzahl von Datensätzen wird dann gleichzeitig von jeder Unterabfrage abgerufen.

Beispiel:

```
Domo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="domo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dataset",
        "API_VERSION": "v1",
        "NUM_PARTITIONS": "2"
    }
```

# Domo-Verbindungsoptionen
<a name="domo-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Domo aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Domo.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der Domo-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.
+ `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 für Domo
<a name="domo-connection-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für Domo:
+ Aufgrund einer SDK-Beschränkung funktioniert die Filterung für abfragbare Felder, die mit „\$1“ beginnen (z. B. \$1BATCH\$1ID) nicht wie erwartet.
+ Aufgrund einer API-Einschränkung funktioniert die Filterung nur für das Datum vor dem von Ihnen angegebenen Datum. Dies wirkt sich auch auf den inkrementellen Abruf aus. Um diese Einschränkung zu umgehen, wählen Sie ein Datum entsprechend Ihrer Zeitzone gegenüber UTC aus, um Daten für das gewünschte Datum zu erhalten.

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

Dynatrace ist eine Plattform, die Analytik und Automatisierung für umfassende Beobachtbarkeit und Sicherheit bietet. Sie ist auf die Überwachung und Optimierung der Anwendungsleistung, der Infrastruktur und der Benutzererfahrung spezialisiert.

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

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

AWS Glue unterstützt Dynatrace wie folgt:

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

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

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

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

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Dynatrace-Konto.
+ Sie haben in Ihrem Dynatrace-Konto ein Zugriffstoken generiert, dem der entsprechende read/write Bereich für den Zugriff zugewiesen wurde. APIs Weitere Informationen finden Sie unter [Generieren eines Tokens](https://docs.dynatrace.com/docs/discover-dynatrace/references/dynatrace-api/basics/dynatrace-api-authentication#create-token).

Wenn Sie diese Anforderungen erfüllen, können Sie sich mit Ihrem AWS Glue Dynatrace-Konto verbinden.

# Konfigurieren von Dynatrace-Verbindungen
<a name="dynatrace-configuring-connections"></a>

Dynatrace unterstützt benutzerdefinierte Authentifizierung.

Konfigurieren einer Dynatrace-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 `apiToken` 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** Dynatrace aus.

   1. Geben Sie die `INSTANCE_URL` des Dynatrace-Kontos an, mit dem eine Verbindung hergestellt werden soll.

   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 Dynatrace-Entitäten
<a name="dynatrace-reading-from-entities"></a>

**Voraussetzung**

Ein Dynatrace-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen, z. B. „Problem“.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Problem | Ja | Ja | Ja | Ja | Nein | 

**Beispiel:**

```
Dynatrace_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Dynatrace",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "problem",
        "API_VERSION": "v2",
        "INSTANCE_URL": "https://[instanceName].live.dynatrace.com"
    }
```

**Dynatrace-Entitäts- und Felddetails**:

Dynatrace bietet Endpunkte zum dynamischen Abrufen von Metadaten für unterstützte Entitäten. Dementsprechend 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/dynatrace-reading-from-entities.html)

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

Dynatrace unterstützt keine feld- oder datensatzbasierte Partitionierung.

# Dynatrace-Verbindungsoptionen
<a name="dynatrace-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Dynatrace aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Dynatrace.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der Dynatrace-REST-API, die Sie verwenden möchten.
+ `INSTANCE_URL`(Zeichenfolge) – Zum Lesen verwendet. Eine gültige Dynatrace-Instance-URL.
+ `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 für Dynatrace
<a name="dynatrace-connection-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für Dynatrace:
+ Dynatrace unterstützt weder feldbasierte noch datensatzbasierte Partitionierung.
+ Beim Feature „Alle auswählen“ können höchstens 10 Datensätze pro Seite angezeigt werden, wenn Sie das „Feld“ im Filter angeben.
+ Die maximal unterstützte Seitengröße beträgt 500. Wenn Sie beim Erstellen des Ablaufs eines der Felder [`evidenceDetails, impactAnalysis, recentComments`] auswählen, werden standardmäßig 10 Datensätze pro Seite angezeigt.

# Herstellen einer Verbindung mit Facebook Ads
<a name="connecting-to-data-facebook-ads"></a>

Facebook Ads ist eine leistungsstarke digitale Werbeplattform, die von Unternehmen jeder Größe genutzt wird, um ihre Zielgruppe sowie verschiedene Marketingziele zu erreichen. Die Plattform ermöglicht es Werbetreibenden, maßgeschneiderte Anzeigen zu erstellen, die in der gesamten Facebook-Familie von Apps und Diensten, einschließlich Facebook und Messenger, angezeigt werden können. Mit seinen fortschrittlichen Targeting-Funktionen ermöglicht Facebook Ads Unternehmen, bestimmte demografische Gruppen, Interessen, Verhaltensweisen und Standorte anzusprechen.

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

# AWS Glue Unterstützung für Facebook-Werbeanzeigen
<a name="facebook-ads-support"></a>

AWS Glue unterstützt Facebook-Werbung wie folgt:

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

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

**Unterstützte Versionen der Facebook Ads-API**  
Die folgenden Versionen der Facebook Ads-API werden unterstützt:
+ v17.0
+ v18.0
+ v19.0
+ v20.0

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

Bevor du Daten von Facebook-Werbeanzeigen übertragen kannst, musst du die folgenden Anforderungen erfüllen: AWS Glue 

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Auf Facebook-Standardkonten wird direkt über Facebook zugegriffen.
+ Zur Generierung des Zugriffstokens ist eine Benutzerauthentifizierung erforderlich.
+ Der Facebook Ads SDK-Connector wird den OAuth Ablauf des *Benutzerzugriffstokens* implementieren.
+ Wir verwenden OAuth2 2.0, um unsere API-Anfragen für Facebook-Anzeigen zu authentifizieren. Diese webbasierte Authentifizierung fällt unter die Multi-Faktor-Authentifizierung (MFA)-Architektur, die eine Obergruppe von 2FA darstellt.
+ Der Benutzer muss Berechtigungen für den Zugriff auf die Endpunkte gewähren. Für den Zugriff auf die Benutzerdaten erfolgt die Autorisierung des Endpunkts über [Berechtigungen](https://developers.facebook.com/docs/permissions) und [Features](https://developers.facebook.com/docs/features-reference).

## 2.0-Anmeldeinformationen erhalten OAuth
<a name="facebook-ads-configuring-creating-facebook-ads-oauth2-credentials"></a>

Informationen zum Beziehen von API-Anmeldeinformationen für authentifizierte Aufrufe Ihrer Instance finden Sie unter [REST-API](https://developers.facebook-ads.com/rest-api/) im Entwicklerleitfaden von Facebook Ads.

# Konfigurieren von Facebook Ads-Verbindungen
<a name="facebook-ads-configuring-connections"></a>

Facebook Ads unterstützt den Zuschusstyp AUTHORIZATION\$1CODE für. OAuth2
+ Diese Art der Gewährung wird als dreigeteilt betrachtet, OAuth da sie 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 
+ Nutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in Facebook Ads zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zu Facebook Ads weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.
+ Dieser Gewährungstyp führt zu einem Zugriffstoken. Ein Systembenutzer-Token mit Ablauf ist ab dem Datum der Generierung oder Aktualisierung 60 Tage lang gültig. Um Kontinuität zu gewährleisten, muss der Entwickler das Zugriffstoken innerhalb von 60 Tagen aktualisieren. Andernfalls verfällt das Zugriffstoken und der Entwickler muss ein neues beziehen, um den API-Zugriff wiederherzustellen. Siehe [Aktualisieren des Zugriffstokens](https://developers.facebook.com/docs/marketing-api/system-users/install-apps-and-generate-tokens/).
+ Die öffentliche Dokumentation von Facebook Ads zur Erstellung einer verbundenen App für den OAuth Autorisierungscodefluss findest du [unter OAuth Using 2.0 to Access Google APIs](https://developers.google.com/identity/protocols/oauth2) im Leitfaden Google für Entwickler.

So konfigurieren Sie eine Facebook Ads-Verbindung:

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

   1. Wählen Sie für den **Verbindungstyp** Facebook Ads aus.

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

   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 Facebook Ads-Entitäten
<a name="facebook-ads-reading-from-entities"></a>

**Voraussetzung**

Ein Facebook Ads-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen. Die folgenden Tabellen zeigen die unterstützten Entitäten.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Kampagne | Ja | Ja | Nein | Ja | Ja | 
| Ad Set | Ja | Ja | Nein | Ja | Ja | 
| Ads | Ja | Ja | Nein | Ja | Ja | 
| Ad Creative | Nein | Ja | Nein | Ja | Nein | 
| Insights – Account | Nein | Ja | Nein | Ja | Nein | 
| Adaccounts | Ja | Ja | Nein | Ja | Nein | 
| Insights – Ad | Ja | Ja | Nein | Ja | Ja | 
| Einblicke - AdSet | Ja | Ja | Nein | Ja | Ja | 
| Insights – Campaign | Ja | Ja | Nein | Ja | Ja | 

**Beispiel:**

```
FacebookAds_read = glueContext.create_dynamic_frame.from_options(
    connection_type="FacebookAds",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v20.0"
    }
```

## Facebook Ads-Entitäts- und Felddetails
<a name="facebook-ads-reading-entity-and-field-details"></a>

Weitere Informationen zu den Entitäten und Felddetails finden Sie unter:
+ [Anzeigenkonto](https://developers.facebook.com/docs/marketing-api/reference/ad-account)
+ [Kampagne](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)
+ [Ad Set](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign)
+ [Ad](https://developers.facebook.com/docs/marketing-api/reference/adgroup)
+ [Ad Creative](https://developers.facebook.com/docs/marketing-api/reference/ad-creative)
+ [Insight Ad Account](https://developers.facebook.com/docs/marketing-api/reference/ad-account/insights)
+ [Insights Ads](https://developers.facebook.com/docs/marketing-api/reference/adgroup/insights/)
+ [Einblicke AdSets](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign/insights)
+ [Insights Campaigns](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group/insights)

Weitere Informationen finden Sie unter [Marketing-API](https://developers.facebook.com/docs/marketing-api/reference/v21.0).

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

## Partitionierung von Abfragen
<a name="facebook-ads-reading-partitioning-queries"></a>

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 dieses DateTime Feld akzeptieren wir das Spark-Zeitstempelformat, das in Spark-SQL-Abfragen verwendet wird.

  Beispiel für gültigen Wert:

  ```
  "2022-01-01"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
FacebookADs_read = glueContext.create_dynamic_frame.from_options(
    connection_type="FacebookAds",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v20.0",
        "PARTITION_FIELD": "created_time"
        "LOWER_BOUND": "2022-01-01"
        "UPPER_BOUND": "2024-01-02"
        "NUM_PARTITIONS": "10"
    }
```

# Facebook Ads-Verbindungsoptionen
<a name="facebook-ads-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Facebook Ads aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Facebook Ads.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der REST-API von Facebook Ads, die Sie verwenden möchten. 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.
+ `TRANSFER_MODE`(Zeichenfolge) – Standard: SYNC. Für asynchrones Lesen verwendet.

# Einschränkungen und Hinweise für den Facebook Ads-Connector
<a name="facebook-ads-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den Facebook Ads-Connector:
+ Da Facebook Ads dynamische Metadaten unterstützt, können alle Felder abgefragt werden. Alle Felder unterstützen die Filterung, und die Datensätze werden abgerufen, sofern die Daten verfügbar sind. Andernfalls gibt Facebook eine Antwort mit dem Status „Bad Request“ (400) und einer entsprechenden Fehlermeldung zurück.
+ Die Anzahl der Anrufe einer App ist die Anzahl der Anrufe, die ein Benutzer innerhalb eines fortlaufenden einstündigen Zeitfensters tätigen kann, 200 multipliziert mit der Anzahl der Benutzer. Einzelheiten zu den Ratenlimits finden Sie unter [Ratenlimits](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/) und [Ratenlimits für geschäftliche Anwendungsfälle](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/#buc-rate-limits).

# Herstellen einer Verbindung mit Facebook Page Insights
<a name="connecting-to-data-facebook-page-insights"></a>

Facebook Pages ermöglicht es Unternehmen und anderen Interessengruppen, Seiten für das soziale Netzwerk Facebook.com zu erstellen. Unternehmen nutzen diese Seiten, um Öffnungszeiten zu teilen, Ankündigungen zu machen und online mit Kunden in Kontakt zu treten. Wenn Sie ein Facebook Page Insights-Nutzer sind, können Sie eine Verbindung AWS Glue zu Ihrem Facebook Page Insights-Konto herstellen. Sie können Facebook Page Insights als Datenquelle für Ihre ETL-Aufträge verwenden. Führen Sie diese Jobs aus, um Daten von Facebook Page Insights an AWS Dienste oder andere unterstützte Anwendungen zu übertragen.

**Topics**
+ [AWS Glue Unterstützung für Facebook Page Insights](facebook-page-insights-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](facebook-page-insights-configuring-iam-permissions.md)
+ [Konfigurieren von Facebook Page Insights](facebook-page-insights-configuring.md)
+ [Konfigurieren von Verbindungen mit Facebook Page Insights](facebook-page-insights-configuring-connections.md)
+ [Lesen aus Facebook-Page-Insights-Entitäten](facebook-page-insights-reading-from-entities.md)
+ [Verbindungsoptionen für Facebook Page Insights](facebook-page-insights-connection-options.md)
+ [Einschränkungen und Hinweise für den Facebook-Page-Insights-Connector](facebook-page-insights-connector-limitations.md)

# AWS Glue Unterstützung für Facebook Page Insights
<a name="facebook-page-insights-support"></a>

AWS Glue unterstützt Facebook Page Insights wie folgt:

**Als Quelle unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten aus Facebook Page Insights abzufragen.

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

**Unterstützte Versionen der API von Facebook Page Insights**  
Die folgenden Versionen der API von Facebook Page Insights werden unterstützt:
+ v17
+ v18
+ v19\$1
+ v20
+ v21

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="facebook-page-insights-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 Facebook Page Insights
<a name="facebook-page-insights-configuring"></a>

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

## Mindestanforderungen
<a name="facebook-page-insights-configuring-min-requirements"></a>

Die folgenden Anforderungen sind Mindestanforderungen:
+ Auf Facebook-Standardkonten wird direkt über Facebook zugegriffen.
+ Zur Generierung des Zugriffstokens ist eine Benutzerauthentifizierung erforderlich.
+ Der Facebook Page Insights-Konnektor implementiert den OAuth Benutzerzugriffstoken-Flow.
+ Der Connector verwendet OAuth2 .0, um unsere API-Anfragen bei Facebook Page Insights zu authentifizieren. Dies fällt unter die Multi-Faktor-Authentifizierung (MFA)-Architektur, die eine Obergruppe von 2FA darstellt. Es handelt sich um eine webbasierte Authentifizierung.
+ Der Benutzer muss Berechtigungen für den Zugriff auf die Endpunkte gewähren. Für den Zugriff auf die Benutzerdaten erfolgt die Autorisierung des Endpunkts über Berechtigungen und Features.

# Konfigurieren von Verbindungen mit Facebook Page Insights
<a name="facebook-page-insights-configuring-connections"></a>

Konfigurieren einer Verbindung mit Facebook Page Insights:

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 eines **Verbindungstyps** Facebook Page Insights 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 die URL des Autorisierungscodes aus.

   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 Facebook-Page-Insights-Entitäten
<a name="facebook-page-insights-reading-from-entities"></a>

**Voraussetzung**

Ein Facebook-Page-Insights-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 | 
| --- | --- | --- | --- | --- | --- | 
| Seiteninhalt | Ja | Nein | Ja | Ja | Ja | 
| CTA-Klicks auf Seite | Ja | Nein | Nein | Ja | Ja | 
| Seiteninteraktion | Ja | Nein | Nein | Ja | Ja | 
| Seiten-Impressionen | Ja | Nein | Nein | Ja | Ja | 
| Seiten-Posts | Ja | Nein | Nein | Ja | Ja | 
| Seiten-Post-Interaktion | Nein | Nein | Nein | Ja | Nein | 
| Seiten-Post-Reaktionen | Nein | Nein | Nein | Ja | Nein | 
| Seitenreaktionen | Ja | Nein | Nein | Ja | Ja | 
| Geschichten | Ja | Nein | Nein | Ja | Ja | 
| Demografische Merkmale der Seitenbenutzer | Ja | Nein | Nein | Ja | Ja | 
| Seiten-Videoaufrufe | Ja | Nein | Nein | Ja | Ja | 
| Seitenaufrufe | Ja | Nein | Nein | Ja | Ja | 
| Seiten-Videobeiträge | Ja | Nein | Nein | Ja | Ja | 
| Seiten | Nein | Ja | Nein | Ja | Nein | 
| Feeds | Ja | Ja | Nein | Ja | Ja | 

**Beispiel:**

```
facebookPageInsights_read = glueContext.create_dynamic_frame. from options(
    connection_type="facebookpageinsights",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v21"
   }
```

**Facebook-Page-Insights-Felddetails**:

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

## Partitionieren von Abfragen
<a name="facebook-page-insights-reading-partitioning-queries"></a>

**Filterbasierte Partitionierung**:

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:

```
facebookPageInsights_read = glueContext.create_dynamic_frame.from_options(
     connection_type="facebookpageinsights",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v21",
         "PARTITION_FIELD": "created_Time"
         "LOWER_BOUND": "2024-10-27T07:00:00+0000"
         "UPPER_BOUND": "2024-10-27T07:00:00+0000"
         "NUM_PARTITIONS": "10"
     }
```

# Verbindungsoptionen für Facebook Page Insights
<a name="facebook-page-insights-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Facebook Page Insights aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Facebook Page Insights.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der REST-API von Facebook Page Insights, 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 Instance-URL für Facebook Page Insights.

# Einschränkungen und Hinweise für den Facebook-Page-Insights-Connector
<a name="facebook-page-insights-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den Facebook-Page-Insights-Connector:
+ Die meisten Metriken werden einmal alle 24 Stunden aktualisiert.
+ Es sind nur die Erkenntnisse der letzten zwei Jahre verfügbar.
+ Bei Verwendung der Parameter `since` und `until` können nur Erkenntnisse aus 90 Tagen gleichzeitig angezeigt werden.

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

Freshdesk ist eine cloudbasierte Kundensupport-Software, die sowohl reich an Features als auch benutzerfreundlich ist. Mit mehreren verfügbaren Supportkanälen, darunter Live-Chat, E-Mail, Telefon und soziale Medien, können Sie Kunden über ihre bevorzugte Kommunikationsmethode unterstützen. Wenn Sie ein Freshdesk-Benutzer sind, können Sie sich mit Ihrem Freshdesk-Konto verbinden AWS Glue . Sie können Freshdesk als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten von Freshdesk an AWS Dienste oder andere unterstützte Anwendungen zu übertragen.

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

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

AWS Glue unterstützt Freshdesk wie folgt:

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

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

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

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

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Ein Freshdesk-Konto. Sie können zwischen den Editionen Free, Growth, Pro oder Enterprise wählen.
+ API-Schlüssel eines Freshdesk-Benutzers.

# Konfigurieren von Freshdesk-Verbindungen
<a name="freshdesk-configuring-connections"></a>

Freshdesk unterstützt benutzerdefinierte Authentifizierung.

Die öffentliche Freshdesk-Dokumentation zur Generierung der erforderlichen API-Schlüssel für benutzerdefinierte Authentifizierung finden Sie unter [Freshdesk-Authentifizierung](https://developer.freshdesk.com/api/#authentication).

Im Folgenden finden Sie die Schritte zur Konfiguration der Freshdesk-Verbindung:
+ Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details:
  + Für eine kundenseitig verwaltete verbundene App – das Geheimnis muss den API-Schlüssel der verbundenen App mit `apiKey` als Schlüssel enthalten. Hinweis: Sie müssen für jede Verbindung in AWS Glue ein Geheimnis erstellen.
+ Erstellen Sie im unter **Datenverbindungen** eine Verbindung AWS Glue Studio, indem Sie die folgenden Schritte ausführen:
  + Wählen Sie bei der Auswahl einer **Datenquelle** Freshdesk aus.
  + Geben Sie die `INSTANCE_URL` der Freshdesk-Instance an, mit der Sie eine Verbindung herstellen möchten.
  + 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": "*"
        }
      ]
    }
    ```

------
  + Wählen Sie `secretName` die aus, die Sie für diese Verbindung verwenden möchten AWS Glue , um die Token einzufügen.
  + Wählen Sie die Netzwerkoptionen aus, wenn Sie Ihr Netzwerk verwenden möchten.
+ Erteilen Sie der mit Ihrem AWS Glue Job verknüpften IAM-Rolle die `secretName` Leseberechtigung.
+ Stellen `connectionName` Sie in Ihrer AWS Glue Jobkonfiguration eine **zusätzliche Netzwerkverbindung** bereit.

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

**Voraussetzung**

Ein Freshdesk-Objekt, aus dem 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 | 
| --- | --- | --- | --- | --- | --- | 
| Kundendienstmitarbeiters (Kundendienstmitarbeiter) | Ja | Ja | Nein | Ja | Ja | 
| Geschäftszeiten | Nein | Ja | Nein | Ja | Ja | 
| Unternehmen | Ja | Ja | Nein | Ja | Ja | 
| Kontakte | Ja | Ja | Nein | Ja | Ja | 
| Konversationen | Nein | Ja | Nein | Ja | Nein | 
| E-Mail-Konfigurationen | Nein | Ja | Nein | Ja | Nein | 
| E-Mail-Posteingänge | Ja | Ja | Ja | Ja | Nein | 
| Forenkategorien | Nein | Ja | Nein | Ja | Nein | 
| Foren | Nein | Ja | Nein | Ja | Nein | 
| Gruppen | Nein | Ja | Nein | Ja | Nein | 
| Produkte | Nein | Ja | Nein | Ja | Nein | 
| Rollen | Nein | Ja | Nein | Ja | Nein | 
| Zufriedenheitsbewertung | Ja | Ja | Nein | Ja | Nein | 
| Fähigkeiten | Nein | Ja | Nein | Ja | Nein | 
| Lösungen | Ja | Ja | Nein | Ja | Nein | 
| Umfragen | Nein | Ja | Nein | Ja | Nein | 
| Tickets | Ja | Ja | Ja | Ja | Ja | 
| Zeiteinträge | Ja | Ja | Nein | Ja | Nein | 
| Topics | Nein | Ja | Nein | Ja | Nein | 
| Kommentare zum Thema | Nein | Ja | Nein | Ja | Nein | 

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


| Entität | API-Version | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | --- | 
| Unternehmen |   v2 | Nein | Nein | Nein | Nein | Nein | 
| Kontakte |   v2 | Nein | Nein | Nein | Nein | Nein | 

**Beispiel:**

```
freshdesk_read = glueContext.create_dynamic_frame.from_options(
    connection_type="freshdesk",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v2"
    }
```

**Freshdesk-Entität und Felddetails**:


| Entität | Feld | 
| --- | --- | 
| Kundendienstmitarbeiters (Kundendienstmitarbeiter) | https://developers.freshdesk.com/api/\$1list\$1all\$1agents | 
| Business-hours | https://developers.freshdesk.com/api/\$1list\$1all\$1business\$1hours | 
| Kommentare | https://developers.freshdesk.com/api/\$1comment\$1attributess | 
| Unternehmen | https://developers.freshdesk.com/api/\$1companies | 
| Kontakte | https://developers.freshdesk.com/api/\$1list\$1all\$1contacts | 
| Konversationen | https://developers.freshdesk.com/api/\$1list\$1all\$1ticket\$1notes | 
| Email-configs | https://developers.freshdesk.com/api/\$1list\$1all\$1email\$1configs | 
| Email-inboxes | https://developers.freshdesk.com/api/\$1list\$1all\$1email\$1mailboxes | 
| Forum-categories | https://developers.freshdesk.com/api/\$1category\$1attributes | 
| Foren | https://developers.freshdesk.com/api/\$1forum\$1attributes | 
| Gruppen | https://developers.freshdesk.com/api/\$1list\$1all\$1groups | 
| Produkte | https://developers.freshdesk.com/api/\$1list\$1all\$1products | 
| Rollen | https://developers.freshdesk.com/api/\$1list\$1all\$1roles | 
| Satisfaction-rating | https://developers.freshdesk.com/api/\$1view\$1all\$1satisfaction\$1ratingss | 
| Fähigkeiten | https://developers.freshdesk.com/api/\$1list\$1all\$1skills | 
| Lösungen | https://developers.freshdesk.com/api/\$1solution\$1content | 
| Umfragen | https://developers.freshdesk.com/api/\$1list\$1all\$1survey | 
| Tickets | https://developers.freshdesk.com/api/\$1list\$1all\$1tickets | 
| Time-entries | https://developers.freshdesk.com/api/\$1list\$1all\$1time\$1entries | 
| Topics | https://developers.freshdesk.com/api/\$1topic\$1attributes | 

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

**Filterbasierte Partitionierung**:

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:

```
freshDesk_read = glueContext.create_dynamic_frame.from_options(
     connection_type="freshdesk",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v2",
         "PARTITION_FIELD": "Created_Time"
         "LOWER_BOUND": " 2024-10-27T23:16:08Z“
         "UPPER_BOUND": " 2024-10-27T23:16:08Z"
         "NUM_PARTITIONS": "10"
     }
```

# Verbindungsoptionen für Freshdesk
<a name="freshdesk-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Freshdesk aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Freshdesk.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der Freshdesk-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.
+ `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 Freshdesk-Instance-URL.
+ `TRANSFER_MODE`(Zeichenfolge) – Wird verwendet, um anzugeben, ob die Art der Verarbeitung wie `SYNC` oder `ASYNC` standardmäßig auf `SYNC` eingestellt ist. (Optional)

# Einschränkungen und Hinweise für den Freshdesk-Connector
<a name="freshdesk-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den Freshdesk-Connector:
+ Für die Entitäten `Company`, `Contacts` und `Tickets` mit Filterung gelten Einschränkungen bei der Seitennummerierung. Sie geben nur 30 Datensätze pro Seite zurück und der Seitenwert kann auf maximal 10 festgelegt werden (es werden maximal 300 Datensätze abgerufen).
+ Die Entität `Tickets` ruft keine Datensätze ab, die älter als 30 Tage sind.
+ Die Entitäten `Company`, `Contacts` und `Tickets` unterstützen den Datentyp „Datum“ bei der Filterung. Sie sollten für diese drei Entitäten die Auslöserhäufigkeit „Täglich“ auswählen. Die Auswahl von „Minuten“ oder „Stündlich“ kann zu doppelten Daten führen. Außerdem sollte bei der Auswahl dieser Felder für die Filterung nur der Datumswert ausgewählt werden, weil nur der Datumsanteil des ausgewählten Zeitstempels berücksichtigt wird.
+ Die Anzahl der API-Aufrufe pro Minute hängt von Ihrem Plan ab. Dieses Limit gilt für das gesamte Konto, unabhängig von Faktoren wie der Anzahl der Agenten oder den IP-Adressen, die für die Anrufe verwendet wurden. Für alle Testbenutzer gibt es ein Standard-API-Limit von 50 Anrufen/Minute. Weitere Informationen finden Sie unter [Freshdesk](https://developer.freshdesk.com/api/#ratelimit).
+ Für jede Entität wird jeweils nur ein Export/Async Job verarbeitet. Ein neuer Auftrag wird erst verarbeitet, wenn der bestehende Auftrag erfolgreich abgeschlossen wurde oder fehlgeschlagen ist. Weitere Informationen finden Sie unter [Freshdesk](https://developers.freshdesk.com/api/#export_contact).
+ Die folgenden Felder werden für Sync-API-Aufrufe unterstützt, dürfen jedoch nicht supported/allowed im Async-API-Anforderungstext übergeben werden.
  + id
  + created\$1at
  + updated\$1at
  + updated\$1since
  + aktiv
  + company\$1id
  + other\$1companies
  + avatar
  + view\$1all\$1tickets
  + deleted
  + other\$1emails
  + state
  + Tag (Markierung)
  + tags

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

Freshsales ist ein intuitives CRM-System, das Vertriebsmitarbeitern dabei unterstützt, den Verkaufsprozess zu optimieren. Dank der integrierten Telefon- und E-Mail-Funktionen, Aufgaben, Termine und Notizen müssen Vertriebsmitarbeiter nicht mehr zwischen verschiedenen Registerkarten wechseln, um bei potenziellen Kunden nachzufassenn Mit der Pipeline-Ansicht können Sie Ihre Geschäfte besser verwalten und mehr Abschlüsse erzielen. Wenn Sie ein Freshsales-Benutzer sind, können Sie sich mit Ihrem Freshsales-Konto verbinden AWS Glue . Sie können Freshsales als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten von Freshsales an AWS Dienste oder andere unterstützte Anwendungen zu übertragen.

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

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

AWS Glue unterstützt Freshsales wie folgt:

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

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

**Unterstützte Freshsales-API-Versionen**  
Die folgenden Freshsales-API-Versionen werden unterstützt:
+ v1.0

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

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Freshsales-Konto.
+ Sie haben einen Benutzer-API-Schlüssel.

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

# Konfigurieren von Freshsales-Verbindungen
<a name="freshsales-configuring-connections"></a>

Freshsales unterstützt benutzerdefinierte Authentifizierung.

Die öffentliche Freshsales-Dokumentation zur Generierung der erforderlichen API-Schlüssel für die benutzerdefinierte Authentifizierung finden Sie unter [Authentifizierung](https://developer.freshsales.io/api/#authentication).

Konfigurieren einer Freshsales-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 `apiSecretKey` als Schlüssel enthalten. Das Geheimnis muss außerdem ein weiteres Schlüssel-Wert-Paar mit `apiKey` als Schlüssel und `token` als Wert 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** Freshsales aus.

   1. Geben Sie die `INSTANCE_URL` des Freshsales-Kontos an, mit dem eine Verbindung hergestellt werden soll.

   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 Freshsales-Einheiten
<a name="freshsales-reading-from-entities"></a>

**Voraussetzung**

Ein Freshsale-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 | 
| --- | --- | --- | --- | --- | --- | 
| Konten | Ja | Ja | Ja | Ja | Ja | 
| Kontakte | Ja | Ja | Ja | Ja | Ja | 

**Beispiel:**

```
freshSales_read = glueContext.create_dynamic_frame.from_options(
     connection_type="freshsales",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v1.0"
     }
```

**Freshsales-Entität und Felddetails**:

Freshsales bietet Endpunkte zum dynamischen Abrufen von Metadaten für unterstützte Entitäten. Dementsprechend 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/freshsales-reading-from-entities.html)

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

**Filterbasierte Partitionierung**:

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 den Wert im ISO-Format.

  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:

```
freshSales_read = glueContext.create_dynamic_frame.from_options(
     connection_type="freshsales",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v1",
         "PARTITION_FIELD": "Created_Time"
         "LOWER_BOUND": " 2024-10-15T21:16:25Z"
         "UPPER_BOUND": " 2024-10-20T21:25:50Z"
         "NUM_PARTITIONS": "10"
     }
```

# Freshsales-Verbindungsoptionen
<a name="freshsales-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Freshsales aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Freshsales.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der Freshsales-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.
+ `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) – Zum Lesen verwendet. Eine gültige Freshsales-Instance-URL.

# Freshsales-Einschränkungen
<a name="freshsales-connection-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für Freshsales:
+ In Freshsales liegt das API-Ratenlimit bei 1000 API-Anforderungen pro Stunde und Konto (siehe [Fehler](https://developer.freshsales.io/api/#error)). Dieses Limit kann jedoch mit dem Enterprise-Abonnement erweitert werden (siehe [Tarifvergleich](https://www.freshworks.com/crm/pricing-compare/)).

# Herstellen einer Verbindung mit Google Ads
<a name="connecting-to-googleads"></a>

 Die Google-Ads-API ist die programmgesteuerte Schnittstelle zu Google Ads, die zur Verwaltung großer oder komplexer Google-Ads-Konten und -Kampagnen verwendet wird. Wenn Sie ein Google Ads-Nutzer sind, können Sie eine Verbindung AWS Glue zu Ihrem Google Ads-Konto herstellen. Anschließend können Sie Google Ads als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Google Ads und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen. 

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

# AWS Glue Unterstützung für Google Ads
<a name="googleads-support"></a>

AWS Glue unterstützt Google Ads wie folgt:

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

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

**Unterstützte Versionen der Google-Ads-API**  
v18

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

Bevor Sie die Übertragung von Google Ads verwenden AWS Glue können, müssen Sie die folgenden Anforderungen erfüllen:

## Mindestanforderungen
<a name="googleads-configuring-min-requirements"></a>
+  Sie haben ein Google-Ads-Konto mit E-Mail und Passwort. Weitere Informationen zum Erstellen eines Kontos finden Sie unter [Erstellen eines Google-Ads-Kontos](googleads-create-account.md). 
+  Ihr Google-Ads-Konto ist für den API-Zugriff aktiviert. Die Nutzung der Google-Ads-API ist ohne zusätzliche Kosten möglich. 
+  Mit Ihrem Google-Ads-Konto können Sie verbundene Apps installieren. Wenn Sie keinen Zugriff auf diese Funktion haben, wenden Sie sich an Ihren Google-Ads-Administrator. 

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

# Konfigurieren von Google-Ads-Verbindungen
<a name="googleads-configuring-connections"></a>

 Google Ads unterstützt den `AUTHORIZATION_CODE` Zuschusstyp für OAuth2. 

 Diese Art der Gewährung gilt als „dreibeiniges“, OAuth da sie darauf angewiesen ist, 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 Die AWS Glue Konsole leitet den Nutzer zu Google Ads weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Google Ads-Instanz gewähren muss. 

 Nutzer können sich dafür entscheiden, ihre eigene verbundene App in Google Ads zu erstellen und beim Herstellen von Verbindungen über die AWS Glue Konsole ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben. In diesem Szenario werden sie weiterhin zu Google Ads weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 

 Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden. 

 Weitere Informationen finden Sie in der [öffentlichen Google Ads-Dokumentation zum Erstellen einer verbundenen App für den OAuth Autorisierungscodefluss](https://developers.google.com/workspace/guides/create-credentials). 

So konfigurieren Sie eine Google-Ads-Verbindung:

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

   1.  Für den AuthorizationCode Zuschusstyp: 
      +  Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 

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

   1. Wählen Sie für den **Verbindungstyp** Google Ads aus.

   1. Geben Sie die `developer token` von Google Ads an, zu der eine Verbindung hergestellt werden soll.

   1. Geben Sie die `MANAGER ID` von Google Ads an, wenn Sie sich als Manager anmelden möchten.

   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.  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 Google-Ads-Entitäten
<a name="googleads-reading-from-entities"></a>

 **Voraussetzungen** 
+  Ein Google-Ads-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 | 
| --- | --- | --- | --- | --- | --- | 
| Anzeige der Anzeigengruppe | Ja | Ja | Ja | Nein | Ja | 
| Anzeigengruppe | Ja | Ja | Ja | Nein | Ja | 
| Kampagnebudget | Ja | Ja | Ja | Ja | Ja | 
| Kontobudget | Ja | Nein | Ja | Ja | Nein | 
| Kampagne | Ja | Ja | Ja | Ja | Ja | 
| Account | Ja | Nein | Ja | Nein | Nein | 

 **Beispiel** 

```
googleAds_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googleads",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "campaign-3467***",
        "API_VERSION": "v16"
    }
```

 **Google-Ads-Entitäts- und Felddetails** 


| Entität | Feld | Datentyp | Unterstützte Operatoren | 
| --- | --- | --- | --- | 
| Account | RessourcenNamen | Zeichenfolge | \$1=, = | 
| Account | callReportingEnabled | Boolesch | \$1=, = | 
| Account | callConversionReportingAktiviert | Boolesch | \$1=, = | 
| Account | callConversionAction | Zeichenfolge | \$1=, = | 
| Account | conversionTrackingId | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | crossAccountConversionTrackingId | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | payPerConversionEligibilityFailureReasons | Auflisten |  | 
| Account | id | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | currencyCode | Zeichenfolge | \$1=, =, LIKE | 
| Account | timeZone | Zeichenfolge | \$1=, =, LIKE | 
| Account | autoTaggingEnabled | Boolesch | \$1=, = | 
| Account | hasPartnersBadge | Boolesch | \$1=, = | 
| Account | manager | Boolesch | \$1=, = | 
| Account | testAccount | Boolesch | \$1=, = | 
| Account | date | Date | BETWEEN, =, <, >, <=, >= | 
| Account | costMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | acceptedCustomerDataBedingungen | Boolesch |  | 
| Account | conversionTrackingStatus | Zeichenfolge | \$1=, =, LIKE | 
| Account | enhancedConversionsForLeadsEnabled | Boolesch |  | 
| Account | googleAdsConversionKunde | Zeichenfolge |  | 
| Account | Status | Zeichenfolge | \$1=, = | 
| Account | allConversionsByConversionDate | Double | \$1=, =, <, > | 
| Account | allConversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Account | conversionsByConversionDatum | Double | \$1=, =, <, > | 
| Account | conversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Account | valuePerAllConversionsByConversionDate | Double | \$1=, =, <, > | 
| Account | videoViews | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | clicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | invalidClicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | costPerAllKonvertierungen | Double | \$1=, =, <, > | 
| Account | costPerConversion | Double | \$1=, =, <, > | 
| Account | conversions | Double | \$1=, =, <, > | 
| Account | absoluteTopImpressionProzentsatz | Double | \$1=, =, <, > | 
| Account | impressions | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | topImpressionPercentage | Double | \$1=, =, <, > | 
| Account | averageCpc | Double | \$1=, =, <, > | 
| Account | activeViewMeasurableCostMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | averageCost | Double | \$1=, =, <, > | 
| Account | ctr | Double | \$1=, =, <, > | 
| Account | activeViewCtr | Double | \$1=, =, <, > | 
| Account | searchImpressionShare | Double | \$1=, =, <, > | 
| Account | conversionAction | Zeichenfolge | \$1=, = | 
| Account | conversionActionCategory | Zeichenfolge | \$1=, = | 
| Account | conversionActionName | Zeichenfolge | \$1=, =, LIKE | 
| Kontobudget | RessourcenNamen | Zeichenfolge | \$1=, = | 
| Kontobudget | Status | Zeichenfolge | \$1=, = | 
| Kontobudget | proposedEndTimeTyp | Zeichenfolge | \$1=, = | 
| Kontobudget | approvedEndTimeTyp | Zeichenfolge | \$1=, = | 
| Kontobudget | id | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kontobudget | billingSetup | Zeichenfolge | \$1=, = | 
| Kontobudget | Name | Zeichenfolge | \$1=, =, LIKE | 
| Kontobudget | approvedStartDateZeit |  DateTime | BETWEEN, =, <, >, <=, >= | 
| Kontobudget | proposedSpendingLimitMikros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kontobudget | approvedSpendingLimitMikros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kontobudget | adjustedSpendingLimitMikros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kontobudget | amountServedMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | RessourcenNamen | Zeichenfolge | \$1=, =, LIKE | 
| Anzeigengruppe | Status | Zeichenfolge | \$1=, =, LIKE | 
| Anzeigengruppe | type | Zeichenfolge | \$1=, =, LIKE | 
| Anzeigengruppe | id | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | Name | Zeichenfolge | \$1=, =, LIKE | 
| Anzeigengruppe | campaign | Zeichenfolge | \$1=, = | 
| Anzeigengruppe | cpcBidMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | targetCpaMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | cpmBidMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | cpvBidMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | targetCpmMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | effectiveTargetCpaMikros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | date | Date | BETWEEN, =, <, >, <=, >= | 
| Anzeigengruppe | costMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | useAudienceGrouped | Boolesch | \$1=, = | 
| Anzeigengruppe | effectiveCpcBidMikros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | allConversionsByConversionDate | Double | \$1=, =, <, > | 
| Anzeigengruppe | allConversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Anzeigengruppe | conversionsByConversionDatum | Double | \$1=, =, <, > | 
| Anzeigengruppe | conversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Anzeigengruppe | valuePerAllConversionsByConversionDate | Double | \$1=, =, <, > | 
| Anzeigengruppe | valuePerConversionsByConversionDate | Double | \$1=, =, <, > | 
| Anzeigengruppe | averageCost | Double | \$1=, =, <, > | 
| Anzeigengruppe | costPerAllKonvertierungen | Double | \$1=, =, <, > | 
| Anzeigengruppe | costPerConversion | Double | \$1=, =, <, > | 
| Anzeigengruppe | averagePageViews | Double | \$1=, =, <, > | 
| Anzeigengruppe | videoViews | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | clicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | allConversions | Double | \$1=, =, <, > | 
| Anzeigengruppe | averageCpc | Double | \$1=, =, <, > | 
| Anzeigengruppe | absoluteTopImpressionProzentsatz | Double | \$1=, =, <, > | 
| Anzeigengruppe | impressions | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeigengruppe | topImpressionPercentage | Double | \$1=, =, <, > | 
| Anzeigengruppe | activeViewCtr | Double | \$1=, =, <, > | 
| Anzeigengruppe | ctr | Double | \$1=, =, <, > | 
| Anzeigengruppe | searchTopImpressionTeilen | Double | \$1=, =, <, > | 
| Anzeigengruppe | searchImpressionShare | Double | \$1=, =, <, > | 
| Anzeigengruppe | searchAbsoluteTopImpressionShare | Double | \$1=, =, <, > | 
| Anzeigengruppe | relativeCtr | Double | \$1=, =, <, > | 
| Anzeigengruppe | conversionAction | Zeichenfolge | \$1=, = | 
| Anzeigengruppe | conversionActionCategory | Zeichenfolge | \$1=, = | 
| Anzeigengruppe | conversionActionName | Zeichenfolge | \$1=, =, LIKE | 
| Anzeigengruppe | updateMask | Zeichenfolge |  | 
| Anzeigengruppe | Erstellen | Struct |  | 
| Anzeigengruppe | update | Struct |  | 
| Anzeigengruppe | primaryStatus | Zeichenfolge | \$1=, = | 
| Anzeigengruppe | primaryStatusReasons | Auflisten |  | 
| Anzeige der Anzeigengruppe | RessourcenNamen | Zeichenfolge | \$1=, = | 
| Anzeige der Anzeigengruppe | id | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeige der Anzeigengruppe | Status | Zeichenfolge | \$1=, = | 
| Anzeige der Anzeigengruppe | labels | Auflisten |  | 
| Anzeige der Anzeigengruppe | adGroup | Zeichenfolge | \$1=, = | 
| Anzeige der Anzeigengruppe | costMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeige der Anzeigengruppe | approvalStatus | Zeichenfolge | \$1=, = | 
| Anzeige der Anzeigengruppe | reviewStatus | Zeichenfolge | \$1=, = | 
| Anzeige der Anzeigengruppe | adStrength | Zeichenfolge | \$1=, = | 
| Anzeige der Anzeigengruppe | type | Zeichenfolge | \$1=, = | 
| Anzeige der Anzeigengruppe | businessName | Zeichenfolge | \$1=, =, LIKE | 
| Anzeige der Anzeigengruppe | date | Date | BETWEEN, =, <, >, <=, >= | 
| Anzeige der Anzeigengruppe | allConversionsByConversionDate | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | allConversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | conversionsByConversionDatum | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | conversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | valuePerAllConversionsByConversionDate | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | valuePerConversionsByConversionDate | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | activeViewMeasurableCostMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeige der Anzeigengruppe | averageCost | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | costPerAllKonvertierungen | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | costPerConversion | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | clicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeige der Anzeigengruppe | averagePageViews | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | videoViews | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeige der Anzeigengruppe | allConversions | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | averageCpc | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | topImpressionPercentage | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | impressions | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Anzeige der Anzeigengruppe | absoluteTopImpressionProzentsatz | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | activeViewCtr | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | ctr | Double | \$1=, =, <, > | 
| Anzeige der Anzeigengruppe | conversionAction | Zeichenfolge | \$1=, = | 
| Anzeige der Anzeigengruppe | conversionActionCategory | Zeichenfolge | \$1=, = | 
| Anzeige der Anzeigengruppe | conversionActionName | Zeichenfolge | \$1=, =, LIKE | 
| Anzeige der Anzeigengruppe | updateMask | Zeichenfolge |  | 
| Anzeige der Anzeigengruppe | Erstellen | Struct |  | 
| Anzeige der Anzeigengruppe | update | Struct |  | 
| Anzeige der Anzeigengruppe | policyValidationParameter | Struct |  | 
| Anzeige der Anzeigengruppe | primaryStatus | Zeichenfolge | \$1=, = | 
| Anzeige der Anzeigengruppe | primaryStatusReasons | Auflisten |  | 
| Kampagne | RessourcenNamen | Zeichenfolge | \$1=, = | 
| Kampagne | Status | Zeichenfolge | \$1=, = | 
| Kampagne | baseCampaign | Zeichenfolge | \$1=, = | 
| Kampagne | Name | Zeichenfolge | \$1=, =, LIKE | 
| Kampagne | id | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagne | campaignBudget | Zeichenfolge | \$1=, =, LIKE | 
| Kampagne | startDate | Date | BETWEEN, =, <, >, <=, >= | 
| Kampagne | endDate | Date | BETWEEN, =, <, >, <=, >= | 
| Kampagne | adServingOptimizationStatus | Zeichenfolge | \$1=, = | 
| Kampagne | advertisingChannelType | Zeichenfolge | \$1=, = | 
| Kampagne | advertisingChannelSubTyp | Zeichenfolge | \$1=, = | 
| Kampagne | experimentType | Zeichenfolge | \$1=, = | 
| Kampagne | servingStatus | Zeichenfolge | \$1=, = | 
| Kampagne | biddingStrategyType | Zeichenfolge | \$1=, = | 
| Kampagne | domainName | Zeichenfolge | \$1=, =, LIKE | 
| Kampagne | languageCode | Zeichenfolge | \$1=, =, LIKE | 
| Kampagne | useSuppliedUrlsNur | Boolesch | \$1=, = | 
| Kampagne | positiveGeoTargetTyp | Zeichenfolge | \$1=, = | 
| Kampagne | negativeGeoTargetTyp | Zeichenfolge | \$1=, = | 
| Kampagne | paymentMode | Zeichenfolge | \$1=, = | 
| Kampagne | optimizationGoalTypes | Auflisten |  | 
| Kampagne | date | Date | BETWEEN, =, <, >, <=, >= | 
| Kampagne | averageCost | Double |  | 
| Kampagne | clicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagne | costMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagne | impressions | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagne | useAudienceGrouped | Boolesch | \$1=, = | 
| Kampagne | activeViewMeasurableCostMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagne | costPerAllKonvertierungen | Double | \$1=, =, <, > | 
| Kampagne | costPerConversion | Double | \$1=, =, <, > | 
| Kampagne | invalidClicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagne | publisherPurchasedClicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagne | averagePageViews | Double | \$1=, =, <, > | 
| Kampagne | videoViews | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagne | allConversionsByConversionDate | Double | \$1=, =, <, > | 
| Kampagne | allConversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Kampagne | conversionsByConversionDatum | Double | \$1=, =, <, > | 
| Kampagne | conversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Kampagne | valuePerAllConversionsByConversionDate | Double | \$1=, =, <, > | 
| Kampagne | valuePerConversionsByConversionDate | Double | \$1=, =, <, > | 
| Kampagne | allConversions | Double | \$1=, =, <, > | 
| Kampagne | absoluteTopImpressionProzentsatz | Double | \$1=, =, <, > | 
| Kampagne | searchAbsoluteTopImpressionShare | Double | \$1=, =, <, > | 
| Kampagne | averageCpc | Double | \$1=, =, <, > | 
| Kampagne | searchImpressionShare | Double | \$1=, =, <, > | 
| Kampagne | searchTopImpressionTeilen | Double | \$1=, =, <, > | 
| Kampagne | activeViewCtr | Double | \$1=, =, <, > | 
| Kampagne | ctr | Double | \$1=, =, <, > | 
| Kampagne | relativeCtr | Double | \$1=, =, <, > | 
| Kampagne | updateMask | Zeichenfolge |  | 
| Kampagne | Erstellen | Struct |  | 
| Kampagne | update | Struct |  | 
| Kampagnebudget | RessourcenNamen | Zeichenfolge | \$1=, = | 
| Kampagnebudget | id | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagnebudget | Status | Zeichenfolge | \$1=, = | 
| Kampagnebudget | deliveryMethod | Zeichenfolge | \$1=, = | 
| Kampagnebudget | Zeitraum | Zeichenfolge | \$1=, = | 
| Kampagnebudget | type | Zeichenfolge | \$1=, = | 
| Kampagnebudget | Name | Zeichenfolge | \$1=, =, LIKE | 
| Kampagnebudget | amountMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagnebudget | explicitlyShared | Boolesch | \$1=, = | 
| Kampagnebudget | referenceCount | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagnebudget | hasRecommendedBudget | Boolesch | \$1=, = | 
| Kampagnebudget | date | Date | BETWEEN, =, <, >, <=, >= | 
| Kampagnebudget | costMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagnebudget | startDate | Date | BETWEEN, =, <, >, <=, >= | 
| Kampagnebudget | endDate | Date | BETWEEN, =, <, >, <=, >= | 
| Kampagnebudget | maximizeConversionValueTargetRoas | Double | \$1=, =, <, > | 
| Kampagnebudget | maximizeConversionsTargetCpaMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagnebudget | selectiveOptimizationConversionAktionen | Zeichenfolge |  | 
| Kampagnebudget | averageCost | Double | \$1=, =, <, > | 
| Kampagnebudget | costPerAllKonvertierungen | Double | \$1=, =, <, > | 
| Kampagnebudget | costPerConversion | Double | \$1=, =, <, > | 
| Kampagnebudget | videoViews | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagnebudget | clicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagnebudget | allConversions | Double | \$1=, =, <, > | 
| Kampagnebudget | valuePerAllKonvertierungen | Double | \$1=, =, <, > | 
| Kampagnebudget | averageCpc | Double | \$1=, =, <, > | 
| Kampagnebudget | impressions | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Kampagnebudget | ctr | Double | \$1=, =, <, > | 
| Kampagnebudget | updateMask | Zeichenfolge |  | 
| Kampagnebudget | Erstellen | Struct |  | 
| Kampagnebudget | update | Struct |  | 

 **Partinionieren von Abfragen** 

 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. 

 Details zur Unterstützung von Feldern für die entitätsbezogene Partitionierung sind in der folgenden Tabelle aufgeführt. 


| Entity Name | Partitionierungsfeld | Datentyp | 
| --- | --- | --- | 
| Anzeige der Anzeigengruppe | date | Date | 
| Anzeigengruppe | date | Date | 
| Kampagne | date | Date | 
| Kampagnebudget | date | Date | 

 **Beispiel** 

```
googleads_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googleads",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "campaign-3467***",
        "API_VERSION": "v16",
        "PARTITION_FIELD": "date"
        "LOWER_BOUND": "2024-01-01"
        "UPPER_BOUND": "2024-06-05"
        "NUM_PARTITIONS": "10"
    }
)
```

# Verbindungsoptionen für Google Ads
<a name="googleads-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Google Ads aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Google Ads. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der REST-API von Google Ads, die Sie verwenden möchten. Beispiel: v16. 
+  `DEVELOPER_TOKEN` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Erforderlich, um den Entwickler oder die Anwendung zu authentifizieren, die Anforderungen an die API stellen. 
+  `MANAGER_ID` (Zeichenfolge) – Zum Lesen/Schreiben verwendet. Eine eindeutige Kennung, mit der Sie mehrere Google-Ads-Konten verwalten können. Dies ist die Kunden-ID des autorisierten Managers. Wenn Ihr Zugriff auf das Kundenkonto über ein Managerkonto erfolgt, ist die `MANAGER_ID` erforderlich. Weitere Informationen finden Sie unter [login-customer-id](https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid). 
+  `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. 

# Erstellen eines Google-Ads-Kontos
<a name="googleads-create-account"></a>

1.  Melden Sie sich mit Ihren Anmeldeinformationen beim [Google Ads Developer Account](https://console.cloud.google.com) an und gehen Sie zu \$1MyProject.   
![\[Der Screenshot zeigt den Begrüßungsbildschirm für die Anmeldung beim Google Ads-Entwicklerkonto.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/google-ads-log-in-developer-account.png)

1.  Wählen Sie **Neues Projekt** und geben Sie die erforderlichen Informationen für die Erstellung eines Google-Projekts ein, wenn Sie noch keine registrierte Anwendung darin haben.   
![\[Der Screenshot zeigt die Seite zum Auswählen eines Projekts. Wählen Sie oben rechts „Neues Projekt“ aus.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/google-ads-new-project.png)  
![\[Der Screenshot zeigt das Fenster mit dem neuen Projekt, in dem Sie einen Projektnamen eingeben und einen Speicherort auswählen können.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/google-ads-new-project-name-location.png)

1.  Wählen Sie die **Registerkarte „Navigation“**, dann „**API und Einstellungen**“ und dann „**Client-ID erstellen**“. Für diese Option ist eine weitere Konfiguration erforderlich, um eine Verbindung zwischen AWS Glue und herzustellen GoogleAds. **ClientSecret** Weitere Informationen finden Sie unter [API-Anmeldeinformationen](https://console.cloud.google.com/apis/credentials).   
![\[Der Screenshot zeigt die APIs Seite mit der Konfiguration der Dienste.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/google-ads-apis-and-services.png)

1.  Wählen Sie **CREATE CREDENTIALS** und wählen Sie **OAuth Client-ID**.   
![\[Der Screenshot zeigt die Seite mit der APIs Konfiguration der Dienste, auf der das Drop-down-Menü Credentials erstellen und die Option Oauth-Client-ID hervorgehoben ist.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/google-ads-create-credentials.png)

1.  Wählen Sie als **Anwendungstyp** die Option **Webanwendung** aus.   
![\[Der Screenshot zeigt die Seite „ OAuth Client-ID erstellen“ und den Anwendungstyp als Webanwendung.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/google-ads-oauth-client-id-application-type.png)

1.  Fügen Sie unter **Autorisierte Weiterleitung URIs** die OAuth Weiterleitung hinzu URIs und wählen Sie **Erstellen** aus. Sie können bei URIs Bedarf mehrere Weiterleitungen hinzufügen.   
![\[Der Screenshot zeigt die Seite „ OAuth Kunden-ID erstellen“ und den URIs Abschnitt „Autorisierte Weiterleitung“. Fügen Sie hier die hinzu URIs und wählen Sie bei Bedarf URI HINZUFÜGEN. Klicken Sie auf „ERSTELLEN“, wenn Sie fertig sind.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/google-ads-oauth-redirect-uris.png)

1.  Ihre **Kunden-ID** und Ihr **Kundengeheimnis** werden generiert, wenn Sie eine Verbindung zwischen AWS Glue und Google Ads herstellen.   
![\[Der Screenshot zeigt die Seite „ OAuth Kunden-ID erstellen“ und den URIs Abschnitt „Autorisierte Weiterleitung“. Fügen Sie hier die hinzu URIs und wählen Sie bei Bedarf URI HINZUFÜGEN. Klicken Sie auf „ERSTELLEN“, wenn Sie fertig sind.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/google-ads-oauth-client-created.png)

1.  Fügen Sie die Bereiche entsprechend den Anforderungen Ihrer Anwendung hinzu, wählen Sie den **OAuth Zustimmungsbildschirm** aus, geben Sie die erforderlichen Informationen ein und fügen Sie die Bereiche je nach Bedarf hinzu.   
![\[Der Screenshot zeigt die Seite „Ausgewählte Bereiche aktualisieren“. Wählen Sie Ihre Bereiche nach Bedarf aus.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/google-ads-selected-scopes.png)

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

Die folgenden Einschränkungen gelten für den Google-Ads-Connector:
+ `MANAGER_ID` ist eine optionale Eingabe beim Herstellen einer Verbindung. Wenn Sie jedoch auf die Kunden zugreifen möchten, die zu einem bestimmten Manager gehören, ist `MANAGER_ID` eine obligatorische Eingabe. In der folgenden Tabelle werden die Zugriffsbeschränkungen basierend darauf erläutert, ob `MANAGER_ID` in einer Verbindung enthalten ist oder nicht.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/googleads-connector-limitations.html)
+ Wenn ein Verwaltungskonto als Objekt ausgewählt wird, erscheint nur `Account` als Unterobjekt. Im Google-Ads-Connector werden Entitäten wie Kampagnen, Anzeigen usw. anhand einzelner Kundenkonten abgerufen, nicht anhand des Verwaltungskontos.
+ Sie können keine Metriken für das Verwaltungskonto abrufen. Sie können stattdessen Metriken für einzelne Kundenkonten abrufen.
+  Jedes Konto kann über bis zu 10.000 Kampagnen verfügen, darunter sowohl aktive als auch pausierte Kampagnen. Weitere Informationen finden Sie unter [Kampagne pro Konto](https://support.google.com/google-ads/answer/6372658). 
+  Wenn Sie bei der Erstellung eines Berichts bestimmte Metriken für die Anzeige auswählen, werden alle Zeilen, deren ausgewählte Metriken alle null sind, nicht zurückgegeben. Weitere Informationen finden Sie unter [Null-Metriken](https://developers.google.com/google-ads/api/docs/reporting/zero-metrics?hl=en#exclude_zero_metrics_by_segmenting). 
+  Mit den folgenden Feldern funktioniert der Ablauf „Vollständige Zuordnung“ nicht für die Anzeigenentitäten Account, Ad Group und Ad Group, insbesondere für ConversionAction,, conversionActionCategory. conversionActionName Weitere Informationen finden Sie unter [Segment und Metriken](https://developers.google.com/google-ads/api/docs/reporting/segmentation?hl=en#selectability_between_segments_and_metrics). 
+ Ein Datumsbereichsfilter ist erforderlich, wenn das Feld `segments.date` ausgewählt ist.

# Herstellen einer Verbindung mit Google Analytics 4
<a name="connecting-to-googleanalytics"></a>

 Google Analytics 4 ist ein Analysedienst, der Metriken über die Interaktionen von Besuchern mit Ihren Apps und Websites erfasst und auswertet. Zu diesen Metriken gehören Seitenaufrufe, aktive Benutzer und Ereignisse. Wenn Sie ein Google Analytics 4-Nutzer sind, können Sie eine Verbindung AWS Glue zu Ihrem Google Analytics 4-Konto herstellen. Sie können Google Analytics 4 als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten von Google Analytics 4 an AWS Dienste oder andere unterstützte Anwendungen zu übertragen. 

**Topics**
+ [AWS Glue Unterstützung für Google Analytics 4](googleanalytics-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](googleanalytics-configuring-iam-permissions.md)
+ [Konfigurieren von Google Analytics 4](googleanalytics-configuring.md)
+ [Konfigurieren von Verbindungen mit Google Analytics 4](googleanalytics-configuring-connections.md)
+ [Lesen aus Entitäten von Google Analytics 4](googleanalytics-reading-from-entities.md)
+ [Verbindungsoptionen für Google Analytics 4](googleanalytics-connection-options.md)
+ [Erstellen eines Google Analytics 4-Kontos](googleanalytics-create-account.md)
+ [Schritte zum Erstellen einer Client-App und OAuth 2.0-Anmeldeinformationen](googleanalytics-client-app-oauth-credentials.md)
+ [Einschränkungen und Überlegungen](googleanalytics-connector-limitations.md)

# AWS Glue Unterstützung für Google Analytics 4
<a name="googleanalytics-support"></a>

AWS Glue unterstützt Google Analytics 4 wie folgt:

**Als Quelle unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten aus Google Analytics 4 abzufragen.

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

**Unterstützte Versionen der API von Google Analytics 4**  
 v1 Beta. 

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

Bevor Sie die Übertragung von Google Analytics 4 verwenden AWS Glue können, müssen Sie die folgenden Anforderungen erfüllen:

## Mindestanforderungen
<a name="googleanalytics-configuring-min-requirements"></a>
+  Sie haben ein Google-Analytics-Konto mit einem oder mehreren Datenströmen, welche die Daten sammeln, die Sie übertragen möchten. 
+  Sie haben ein Konto bei Google Cloud Platform und ein Google-Cloud-Projekt. 
+  In Ihrem Google Cloud-Projekt haben Sie Folgendes aktiviert APIs: 
  +  Google-Analytics-API 
  +  Google-Analytics-Admin-API 
  +  Google-Analytics-Daten-API 
+  In Ihrem Google Cloud-Projekt haben Sie einen OAuth Zustimmungsbildschirm für externe Nutzer konfiguriert. Informationen zum OAuth Einwilligungsbildschirm finden Sie in der Google Cloud Platform Console-Hilfe unter [Ihren OAuth Einwilligungsbildschirm einrichten](https://support.google.com/cloud/answer/10311615#). 
+  In Ihrem Google Cloud-Projekt haben Sie eine OAuth 2.0-Client-ID konfiguriert. Weitere Informationen finden Sie unter [Einrichtung von OAuth 2.0](https://support.google.com/cloud/answer/6158849?hl=en#zippy=). 

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

# Konfigurieren von Verbindungen mit Google Analytics 4
<a name="googleanalytics-configuring-connections"></a>

Konfigurieren einer Google-Sheet-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 den AuthorizationCode Zuschusstyp: 
      +  Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 

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** Google Analytics 4 aus.

   1. Geben Sie die `INSTANCE_URL` von Google Analytics 4 an, zu der eine Verbindung hergestellt werden soll.

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

 Gewährungstyp `AUTHORIZATION_CODE` 

 Diese Art der Gewährung wird als „dreibeiniges“ angesehen, OAuth da sie 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 Die AWS Glue Konsole leitet den Benutzer zu Google Analytics 4 weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Google Analytics 4-Instanz gewähren muss. 

 Nutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in Google Analytics 4 zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zu Google Analytics 4 weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 

 Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden. 

 Weitere Informationen finden Sie unter [Verwenden von Auth 2.0 für den Zugriff auf Google](https://developers.google.com/identity/protocols/oauth2). APIs 

# Lesen aus Entitäten von Google Analytics 4
<a name="googleanalytics-reading-from-entities"></a>

 **Voraussetzungen** 
+  Ein Objekt in Google Analytics 4, 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 | 
| --- | --- | --- | --- | --- | --- | 
| Echtzeitbericht | Ja | Ja | Ja | Ja | Nein | 
| Grundlegender Bericht | Ja | Ja | Ja | Ja | Ja | 

 **Beispiel** 

```
googleAnalytics4_read = glueContext.create_dynamic_frame.from_options(
    connection_type="GoogleAnalytics4",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v1beta"
    }
```

 **Entitäts- und Felddetails von Google Analytics 4** 


| Entität | Feld | Datentyp | Unterstützte Operatoren | 
| --- | --- | --- | --- | 
| Grundlegender Bericht | Dynamische Felder |  |  | 
| Grundlegender Bericht | Dimensionsfelder | Zeichenfolge | LIKE, = | 
| Grundlegender Bericht | Dimensionsfelder | Date | LIKE, = | 
| Grundlegender Bericht | Metrikfelder | Zeichenfolge | >, <, >=, <=, = BETWEEN | 
| Grundlegender Bericht | Felder für benutzerdefinierte Dimensionen und benutzerdefinierte Metriken | Zeichenfolge | N/A | 
| Echtzeitbericht | appVersion | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | audienceId | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | audienceName | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | city | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | cityId | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | country | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | countryId | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | deviceCategory | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | eventName | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | minutesAgo | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | platform | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | streamId | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | streamName | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | unifiedScreenName | Zeichenfolge | LIKE, = | 
| Echtzeitbericht | activeUsers | Zeichenfolge | >, <, >=, <=, = BETWEEN | 
| Echtzeitbericht | Konversionen | Zeichenfolge | >, <, >=, <=, = BETWEEN | 
| Echtzeitbericht | eventCount | Zeichenfolge | >, <, >=, <=, = BETWEEN | 
| Echtzeitbericht | screenPageViews | Zeichenfolge | >, <, >=, <=, = BETWEEN | 

 **Partitionierung von Abfragen** 

1.  **Filterbasierte Partition** 

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

   ```
   googleAnalytics4_read = glueContext.create_dynamic_frame.from_options(
       connection_type="GoogleAnalytics4",
       connection_options={
           "connectionName": "connectionName",
           "ENTITY_NAME": "entityName",
           "API_VERSION": "v1beta",
           "PARTITION_FIELD": "date"
           "LOWER_BOUND": "2022-01-01"
           "UPPER_BOUND": "2024-01-02"
           "NUM_PARTITIONS": "10"
       }
   ```

1.  **Datensatzbasierte Partition**: 

    Die zusätzlichen Spark-Optionen `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. 
   +  `NUM_PARTITIONS`: Anzahl der Partitionen. 

    **Beispiel** 

   ```
   googleAnalytics4_read = glueContext.create_dynamic_frame.from_options(
       connection_type="GoogleAnalytics4",
       connection_options={
           "connectionName": "connectionName",
           "ENTITY_NAME": "entityName",
           "API_VERSION": "v1beta",
           "NUM_PARTITIONS": "10"
       }
   ```

# Verbindungsoptionen für Google Analytics 4
<a name="googleanalytics-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Google Analytics 4 aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Google Analytics 4. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der REST-API von Google Analytics 4, 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`(Ganzzahl) – Zum Lesen verwendet. (Optional) 

# Erstellen eines Google Analytics 4-Kontos
<a name="googleanalytics-create-account"></a>

 Folgen Sie den Schritten, um ein Google Analytics 4-Konto zu erstellen: [https://support.google.com/analytics/answer/9304153? hl=de](https://support.google.com/analytics/answer/9304153?hl=en) 

# Schritte zum Erstellen einer Client-App und OAuth 2.0-Anmeldeinformationen
<a name="googleanalytics-client-app-oauth-credentials"></a>

 Weitere Informationen finden Sie in der [Google-Analytics4-API-Dokumentation](https://developers.google.com/analytics/devguides/reporting/data/v1). 

1.  Erstellen Sie Ihr Konto und richten Sie es ein, indem Sie sich mit Ihren Anmeldeinformationen bei Ihrem [Google Analytics-Konto anmelden](https://analytics.google.com/). Navigieren Sie dann zu **Verwaltung** > **Konto erstellen**. 

1.  Erstellen Sie eine Property für das Konto, das Sie erstellt haben, indem Sie **Property erstellen** auswählen. Richten Sie die Property mit den erforderlichen Details ein. Sobald alle Angaben gemacht wurden, wird die entsprechende Property-ID generiert. 

1.  Fügen Sie einen Datenstream für die erstellte Property hinzu, indem Sie im Drop-down-Menü **Datenstreams** > **Stream hinzufügen** > **Web** auswählen. Geben Sie die Website-Details wie URL und andere Pflichtfelder an. Nach Angabe aller Details werden die entsprechende **Stream-ID** und die **Mess-ID** generiert. 

1.  Richten Sie Google Analytics auf Ihrer Website ein, indem Sie die Mess-ID kopieren und zur Konfiguration Ihrer Website hinzufügen. 

1.  Erstellen Sie einen Bericht aus Google Analytics, indem Sie zu **Berichte** navigieren und den erforderlichen Bericht generieren. 

1.  Autorisieren Sie Ihre App, indem Sie zu [console.cloud.google.com]( https://console.cloud.google.com) navigieren, nach der Google Analytics-Daten-API suchen und dann die API aktivieren. 

   1.  Navigieren Sie zur Seite „API und Dienste“ und wählen Sie „**Anmeldeinformationen**“ > „** OAuth 2.0-Client einrichten IDs**“. 

   1.  Geben Sie die Weiterleitungs-URL an, indem Sie die AWS Glue Weiterleitungs-URL hinzufügen. 

1.  Kopieren Sie die Client-ID und das Client-Geheimnis, die später für die Herstellung der Verbindung erforderlich sind. 

# Einschränkungen und Überlegungen
<a name="googleanalytics-connector-limitations"></a>

Die folgenden Einschränkungen gelten für den Google-Analytics-4-Connector:
+  Für die Entität für den grundlegenden Bericht dürfen nur 9 Dimensionsfelder und 10 Metrikfelder in einer Anfrage gesendet werden. Wenn die zulässige Anzahl von Feldern überschritten wird, scheitert die Anfrage und der Connector gibt eine Fehlermeldung aus. 
+  Für die Echtzeitbericht-Entität dürfen nur 4 Dimensionsfelder in einer Anfrage gesendet werden. Wenn die zulässige Anzahl von Feldern überschritten wird, scheitert die Anfrage und der Connector gibt eine Fehlermeldung aus. 
+  Google Analytics 4 ist ein kostenloses Tool in der Betaversion. Daher wird es regelmäßig Updates zu neuen Features, zur Verbesserung von Entitäten, zum Hinzufügen neuer Felder und zur Einstellung vorhandener Felder geben. 
+  Die Felder des grundlegenden Berichts werden dynamisch gefüllt, sodass Felder hinzugefügt, eingestellt und umbenannt werden können. Außerdem können jederzeit neue Beschränkungen für Felder festgelegt werden. 
+  Das Standardstartdatum ist 30 Tage und das Enddatum ist gestern (ein Tag vor dem aktuellen Datum). Diese Datumsangaben werden im Filterausdruckscode überschrieben, wenn der Benutzer den Wert festgelegt hat ODER wenn der Ablauf inkrementell ist. 
+  Gemäß der Dokumentation gibt die Echtzeitbericht-Entität 10.000 Datensätze zurück, wenn das Limit in der Anfrage nicht überschritten wird. Andernfalls gibt die API maximal 250.000 Zeilen pro Anfrage zurück, unabhängig davon, wie viele Sie abfragen. Weitere Informationen finden Sie unter [Methode: Eigenschaften. runRealtimeReport](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runRealtimeReport)in der Google Analytics-Dokumentation. 
+  Die Echtzeitbericht-Entität unterstützt keine datensatzbasierte Partition, da sie keine Paginierung unterstützt. Zudem unterstützt sie keine feldbasierte Partition, weil keines der Felder die definierten Kriterien erfüllt. 
+  Aufgrund der beschränkten Anzahl der Felder, die in einer Anfrage übergeben werden können, legen wir die Standardfelder für Dimensionen und Metriken innerhalb der festgelegten Grenzwerte fest. Wenn SELECT\$1ALL ausgewählt ist, werden nur die Daten aus diesen vordefinierten Feldern abgerufen. 
  +  Grundlegender Bericht 
    +  Gemäß der SAAS-Beschränkung sind nur Anfragen mit bis zu 9 Dimensionen und bis zu 10 Metriken zulässig (das heißt, eine Anfrage kann maximal 19 Felder enthalten (Metriken \$1 Dimension). 
    +  Gemäß der Implementierung: Wenn der Benutzer SELECT\$1ALL oder mehr als 25 Felder auswählt, werden Standardfelder in der Anfrage übergeben. 
    +  Die folgenden Felder werden als Standardfelder für Core Report betrachtet: „country“, „city“, „eventName“, „cityID“, „browser“, „date“, „currencyCode“, „deviceCategory“, „transactionId“, active1 „, „active28 „, „active7 DayUsers „, DayUsers „activeUsers“, "," User“, "DayUsers„, „EngagedSessions“, „EventCount“, averagePurchaseRevenue „Engagement-Rate“. averageRevenuePer averageSessionDuration 
  +  Echtzeitbericht 
    +  Gemäß den Einschränkungen von SAAS-Anfragen sind bis zu 4 Dimensionen zulässig. 
    +  Wenn der Benutzer SELECT\$1ALL oder mehr als 15 Felder auswählt, werden Standardfelder in der Anfrage übergeben. 
    +  Die folgenden Felder werden als Standardfelder für den RealTime Bericht betrachtet: „Land“, „Gerätekategorie“, „Stadt“, „CityID“, „ActiveUsers“, „Konversionen“, „EventCount“, "screenPageViews“. 
+  Wenn in der Entität für den grundlegenden Bericht gleichzeitig nach Datumsfeld partitioniert und nach dem Startdatum (StartDate) gefiltert wird: In diesem Fall wird der dateRange-Wert mit dem startDate-Filterwert überschrieben, aber weil die Partition immer Priorität haben muss, wird der startDate-Filter verworfen, wenn die Partitionierung nach dem Datumsfeld bereits vorhanden ist. 
+  Da cohortSpecs jetzt auch Teil der Anfrage für den grundlegenden Bericht ist, haben wir die dazugehörige aktuelle Entität für den grundlegenden Bericht erweitert, damit sie das cohortSpec-Attribut unterstützt. Im cohortSpecs-Anfragetext erfordern fast alle Felder Benutzereingaben. Um dieses Problem zu beheben, haben wir Standardwerte für diese festgelegt attributes/fields und den Benutzern die Möglichkeit gegeben, diese Werte bei Bedarf zu überschreiben.     
<a name="google-analytics-connector-limitations-table"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/googleanalytics-connector-limitations.html)
+  Sie können all diese Filter auch zusammen oder zusammen mit anderen Filtern verwenden. 
  +  Beispiel 1: filterPredicate: startDate between "2023-05-09" and "2023-05-10" AND startOffset=1 AND endOffset=2 AND granularity="WEEKLY" 
  +  Beispiel 2: filterPredicate: city=“xyz” AND startOffset=1 AND endOffset=2 AND granularity="WEEKLY" 
+  In einer Kohortenanfrage: 
  +  Wenn 'cohortNthMonth' in der Anfrage übergeben wird, wird der interne Granularitätswert auf „MONATLICH“ gesetzt 
  +  In ähnlicher Weise wird, wenn cohortNthWeek '' übergeben wird, der Granularitätswert auf „WÖCHENTLICH“ gesetzt 
  +  Und für 'cohortNthDay' wird der Granularitätswert auf „TÄGLICH“ gesetzt. Weitere Informationen finden Sie unter: 
    +  [ https://developers.google.com/analytics/devguides/reporting/data/v1/advanced ](https://developers.google.com/analytics/devguides/reporting/data/v1/advanced) 
    +  [ https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/CohortSpec ](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/CohortSpec) 
  +  Es ist vorgesehen, dass der Benutzer den Standardwert für "dateRange" und "granularity" überschreibt. Weitere Informationen finden Sie in der obigen Tabelle. 

# Verbindung zu Google herstellen BigQuery in AWS Glue Studio
<a name="connecting-to-data-bigquery"></a>

**Anmerkung**  
  Sie können AWS Glue for Spark verwenden, um in Google in AWS Glue 4.0 und späteren Versionen aus Tabellen zu lesen und BigQuery in Tabellen zu schreiben. Informationen zur programmgesteuerten Konfiguration von Google BigQuery mit AWS Glue Jobs finden Sie unter [BigQuery Verbindungen](aws-glue-programming-etl-connect-bigquery-home.md).  

 AWS Glue Studiobietet eine visuelle Oberfläche, mit der Sie eine Verbindung herstellen BigQuery, Datenintegrationsjobs erstellen und diese auf der AWS Glue Studio serverlosen Spark-Laufzeit ausführen können. 

 Beim Herstellen einer Verbindung zu Google BigQuery in AWS Glue Studio wird eine einheitliche Verbindung hergestellt. Weitere Informationen finden Sie unter [Überlegungen](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

 Anstatt ein Geheimnis mit den Anmeldeinformationen in einem bestimmten Format zu erstellen`{"credentials": "base64 encoded JSON"}`, können Sie jetzt mit einer einheitlichen Verbindung zu Google ein Geheimnis erstellen BigQuery, das direkt den JSON von Goolge BigQuery enthält:. `{"type": "service-account", ...}` 

**Topics**
+ [BigQuery Verbindung herstellen](creating-bigquery-connection.md)
+ [Einen BigQuery Quellknoten erstellen](creating-bigquery-source-node.md)
+ [Einen BigQuery Zielknoten erstellen](creating-bigquery-target-node.md)
+ [Erweiterte Optionen](#creating-bigquery-connection-advanced-options)

# BigQuery Verbindung herstellen
<a name="creating-bigquery-connection"></a>

Um BigQuery von aus eine Verbindung zu Google herzustellen AWS Glue, müssen Sie Ihre Anmeldeinformationen für die Google Cloud Platform erstellen und AWS Secrets Manager geheim speichern und dieses Geheimnis dann einer BigQuery AWS Glue Google-Verbindung zuordnen.

**So konfigurieren Sie eine Verbindung zu BigQuery:**

1. Erstellen und identifizieren Sie in der Google Cloud Platform relevante Ressourcen:
   + Erstellen oder identifizieren Sie ein GCP-Projekt mit BigQuery Tabellen, zu denen Sie eine Verbindung herstellen möchten.
   + Aktivieren Sie die BigQuery API. Weitere Informationen finden Sie unter [Verwenden der BigQuery Storage Read API zum Lesen von Tabellendaten](https://cloud.google.com/bigquery/docs/reference/storage/#enabling_the_api).

1. Erstellen und exportieren Sie in Google Cloud Platform Anmeldeinformationen für ein Dienstkonto:

   Sie können den Assistenten für BigQuery Anmeldeinformationen verwenden, um diesen Schritt zu beschleunigen: Anmeldeinformationen [erstellen](https://console.cloud.google.com/apis/credentials/wizard?api=bigquery.googleapis.com).

   Folgen Sie der Anleitung unter [Dienstkonten erstellen](https://cloud.google.com/iam/docs/service-accounts-create), um ein Dienstkonto in GCP zu erstellen.
   + Wählen Sie bei der **Projektauswahl** das Projekt aus, das Ihre BigQuery Tabelle enthält.
   + Wenn Sie GCP-IAM-Rollen für Ihr Dienstkonto auswählen, fügen Sie eine Rolle hinzu oder erstellen Sie eine Rolle, die entsprechende Berechtigungen zum Ausführen von BigQuery Jobs zum Lesen, Schreiben oder Erstellen BigQuery von Tabellen gewährt.

   Folgen Sie der Anleitung unter [Einen Dienstkontoschlüssel erstellen](https://cloud.google.com/iam/docs/keys-create-delete#creating), um Anmeldeinformationen für Ihr Dienstkonto zu erstellen.
   + Wählen Sie für den Schlüsseltyp **JSON** aus.

   Sie sollten jetzt eine JSON-Datei mit Anmeldeinformationen für Ihr Dienstkonto heruntergeladen haben. Das sollte bei Ihnen ähnlich wie im folgenden Bild aussehen:

   ```
   {
     "type": "service_account",
     "project_id": "*****",
     "private_key_id": "*****",
     "private_key": "*****",
     "client_email": "*****",
     "client_id": "*****",
     "auth_uri": "https://accounts.google.com/o/oauth2/auth",
     "token_uri": "https://oauth2.googleapis.com/token",
     "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
     "client_x509_cert_url": "*****",
     "universe_domain": "googleapis.com"
   }
   ```

1. Erstellen Sie AWS Secrets Manager unter mithilfe Ihrer heruntergeladenen Anmeldeinformationsdatei ein Geheimnis. Sie können die Registerkarte **Klartext** auswählen und den Inhalt der Datei im JSON-Format einfügen. Um ein Geheimnis in Secrets Manager zu erstellen, folgen Sie dem Tutorial, das in der AWS Secrets Manager Dokumentation unter [Create an AWS Secrets Manager Secret](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) verfügbar ist. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Geheimnamen *secretName* für den nächsten Schritt bei. 

1. Stellen Sie im AWS Glue Datenkatalog eine Verbindung her, indem Sie den Schritten unter folgen[https://docs.aws.amazon.com/glue/latest/dg/console-connections.html](https://docs.aws.amazon.com/glue/latest/dg/console-connections.html). Nachdem Sie die Verbindung hergestellt haben, behalten Sie den Verbindungsnamen für den nächsten Schritt bei. *connectionName* 
   + Wählen Sie bei der Auswahl eines **Verbindungstyps** Google aus BigQuery.
   + Geben Sie bei der Auswahl eines **AWS Geheimnisses** Folgendes an*secretName*.

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.

# Einen BigQuery Quellknoten erstellen
<a name="creating-bigquery-source-node"></a>

## Voraussetzungen
<a name="creating-bigquery-source-node-prerequisites"></a>
+ Eine Verbindung BigQuery vom Typ AWS Glue Datenkatalog
+ Ein AWS Secrets Manager Geheimnis für Ihre BigQuery Google-Anmeldeinformationen, das von der Verbindung verwendet wird.
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Der Name und der Datensatz der Tabelle und des entsprechenden Google Cloud-Projekts, das gelesen werden soll.

## Eine BigQuery Datenquelle hinzufügen
<a name="creating-bigquery-source-node-add"></a>

**Um einen **BigQueryDatenquellen-Node** hinzuzufügen:**

1.  Wählen Sie die Verbindung für Ihre BigQuery Datenquelle. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung herstellen müssen, wählen Sie ** BigQuery Verbindung erstellen**. Weitere Informationen finden Sie unter [Übersicht über die Verwendung von Konnektoren und Verbindungen](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#using-connectors-overview). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Identifizieren Sie, welche BigQuery Daten Sie lesen möchten, und wählen Sie dann eine **BigQuery Quelloption**
   + Einzelne Tabelle auswählen – ermöglicht es Ihnen, alle Daten aus einer Tabelle abzurufen.
   + Benutzerdefinierte Abfrage eingeben – ermöglicht Ihnen, durch Angabe einer Abfrage anzupassen, welche Daten abgerufen werden.

1.  Beschreiben Sie die Daten, die gelesen werden sollen

   **(Erforderlich) **Geben Sie als **Übergeordnetes Projekt** das Projekt, das Ihre Tabelle enthält, oder, falls relevant, ein übergeordnetes Fakturierungsprojekt an.

   Wenn du eine einzelne Tabelle ausgewählt hast, **setze Table** auf den Namen einer BigQuery Google-Tabelle im folgenden Format: `[dataset].[table]` 

   Wenn Sie eine Abfrage ausgewählt haben, tun Sie dies für **Abfrage**. Verweisen Sie in Ihrer Abfrage mit ihrem vollständig qualifizierten Tabellennamen im folgenden Format auf Tabellen: `[project].[dataset].[tableName]`.

1.  Geben Sie BigQuery Eigenschaften an 

   Wenn Sie eine einzelne Tabelle ausgewählt haben, müssen Sie keine zusätzlichen Eigenschaften angeben.

   Wenn Sie eine Abfrage ausgewählt haben, müssen Sie die folgenden **benutzerdefinierten BigQuery Google-Eigenschaften** angeben:
   + Setzen Sie `viewsEnabled` auf „true“.
   + Legen Sie `materializationDataset` auf einen Datensatz fest. Der GCP-Prinzipal, der anhand der über die AWS Glue Verbindung bereitgestellten Anmeldeinformationen authentifiziert wurde, muss in der Lage sein, Tabellen in diesem Datensatz zu erstellen.

# Einen BigQuery Zielknoten erstellen
<a name="creating-bigquery-target-node"></a>

## Voraussetzungen
<a name="creating-bigquery-target-node-prerequisites"></a>
+ Eine Verbindung BigQuery vom Typ AWS Glue Datenkatalog
+ Ein AWS Secrets Manager Geheimnis für Ihre BigQuery Google-Anmeldeinformationen, das von der Verbindung verwendet wird.
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Der Name und der Datensatz der Tabelle und des entsprechenden Google Cloud-Projekts, in die geschrieben werden soll.

## Ein BigQuery Datenziel hinzufügen
<a name="creating-bigquery-target-node-add"></a>

**Um einen **BigQueryDatenziel-Knoten** hinzuzufügen:**

1.  Wählen Sie die Verbindung für Ihr BigQuery Datenziel. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung herstellen müssen, wählen Sie ** BigQuery Verbindung erstellen**. Weitere Informationen finden Sie unter [Übersicht über die Verwendung von Konnektoren und Verbindungen](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#using-connectors-overview). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Identifizieren Sie, BigQuery in welche Tabelle Sie schreiben möchten, und wählen Sie dann eine **Schreibmethode** aus.
   + Direkt — schreibt BigQuery direkt über die BigQuery Storage Write-API in.
   + Indirekt — schreibt in Google Cloud Storage und kopiert dann nach BigQuery.

   Wenn Sie indirekt schreiben möchten, geben Sie einen GCS-Zielort mit einem **temporären GCS-Bucket** an. Sie müssen zusätzliche Konfigurationen für Ihre AWS Glue Verbindung angeben. Weitere Informationen finden Sie unter [Indirektes Schreiben mit Google verwenden BigQuery](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect-bigquery-home.html#aws-glue-programming-etl-connect-bigquery-indirect-write).

1.  Beschreiben Sie die Daten, die gelesen werden sollen

   **(Erforderlich) **Geben Sie als **Übergeordnetes Projekt** das Projekt, das Ihre Tabelle enthält, oder, falls relevant, ein übergeordnetes Fakturierungsprojekt an.

   Wenn Sie eine einzelne Tabelle ausgewählt haben, setzen Sie **Table** auf den Namen einer BigQuery Google-Tabelle im folgenden Format: `[dataset].[table]` 

## Erweiterte Optionen
<a name="creating-bigquery-connection-advanced-options"></a>

Sie können erweiterte Optionen angeben, wenn Sie einen BigQuery Knoten erstellen. Diese Optionen sind dieselben wie bei der Programmierung AWS Glue für Spark-Skripte.

Weitere Informationen finden Sie in der [Referenz zu den BigQuery Verbindungsoptionen](https://docs.aws.amazon.com//glue/latest/dg/aws-glue-programming-etl-connect-bigquery-home.html) im AWS Glue Entwicklerhandbuch. 

# Herstellen einer Verbindung mit Google Search Console
<a name="connecting-to-data-google-search-console"></a>

Die Google Search Console ist eine kostenlose Plattform, die Websitebetreibern zur Verfügung steht, um zu überwachen, wie Google die Website sieht, und um deren organische Präsenz zu optimieren. Dazu gehören die Anzeige von verweisenden Domains, die Leistung der mobilen Website, umfangreiche Suchergebnisse sowie die Suchanfragen und Seiten mit dem höchsten Traffic. Wenn Sie ein Nutzer der Google Search Console sind, können Sie eine Verbindung AWS Glue zu Ihrem Google Search Console-Konto herstellen. Sie können Google Search Console als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten von der Google Search Console an AWS Dienste oder andere unterstützte Anwendungen zu übertragen.

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

# AWS Glue Unterstützung für die Google Search Console
<a name="google-search-console-support"></a>

AWS Glue unterstützt die Google Search Console wie folgt:

**Als Quelle unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten aus der Google Search Console abzufragen.

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

**Unterstützte Versionen der API von Google Search Console**  
Die folgenden Versionen der API von Google Search Console werden unterstützt:
+ v3

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="google-search-console-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 Google Search Console
<a name="google-search-console-configuring"></a>

Bevor Sie Daten aus der Google Search Console übertragen können, müssen Sie die folgenden Anforderungen erfüllen: AWS Glue 

## Mindestanforderungen
<a name="google-search-console-configuring-min-requirements"></a>

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Konto bei Google Search Console.
+ Sie haben ein Konto bei Google Cloud Platform und ein Google-Cloud-Projekt.
+ In Ihrem Google-Cloud-Projekt haben Sie die API der Google Search Console aktiviert.
+ In Ihrem Google Cloud-Projekt haben Sie einen OAuth Zustimmungsbildschirm für externe Nutzer konfiguriert. Weitere Informationen finden Sie in der Google Cloud Platform Console-Hilfe unter [Ihren OAuth Einwilligungsbildschirm einrichten](https://support.google.com/cloud/answer/10311615).
+ In Ihrem Google Cloud-Projekt haben Sie eine OAuth 2.0-Client-ID konfiguriert. Informationen [zu den Kundenanmeldedaten, die für den sicheren Zugriff auf Ihre Daten AWS Glue verwendet werden, wenn authentifizierte Anrufe an Ihr Konto getätigt werden, finden Sie unter Einrichtung von OAuth 2.0](https://support.google.com/cloud/answer/6158849).

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Google Search Console-Konto herstellen. Für typische Verbindungen müssen Sie in Google Search Console nichts weiter tun.

# Konfigurieren von Verbindungen mit Google Search Console
<a name="google-search-console-configuring-connections"></a>

Die Google Search Console unterstützt den Zuschusstyp AUTHORIZATION\$1CODE für. OAuth2 Die Art der Gewährung bestimmt, wie mit der Google Search Console AWS Glue kommuniziert wird, um Zugriff auf Ihre Daten anzufordern.
+ Diese Art der Gewährung gilt als „dreibeiniges“, OAuth da sie darauf beruht, dass Nutzer zur Authentifizierung des Benutzers an einen Autorisierungsserver eines Drittanbieters weitergeleitet werden. Er wird verwendet, wenn Verbindungen über die Konsole hergestellt werden. AWS Glue 
+ Nutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in der Google Search Console zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zur Google Search Console weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.
+ Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.
+ Die öffentliche Dokumentation der Google Search Console zum Erstellen einer verbundenen App für den OAuth Autorisierungscodefluss finden Sie unter [Verwenden von OAuth 2.0 für den Zugriff auf Google APIs](https://developers.google.com/identity/protocols/oauth2).

Konfigurieren einer Verbindung mit Google Search Console:

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

   1. Für die kundenseitig verwaltete verbundene App muss das Geheimnis das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` 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 als **Verbindungstyp** Google Search Console 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 Google-Search-Console-Entitäten
<a name="google-search-console-reading-from-entities"></a>

**Voraussetzung**

Ein Google-Search-Console-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 | 
| --- | --- | --- | --- | --- | --- | 
| Suchanalysen | Ja | Ja | Nein | Ja | Nein | 
| Sites | Nein | Nein | Nein | Ja | Nein | 
| Sitemaps | Nein | Nein | Nein | Ja | Nein | 

**Beispiel:**

```
googleSearchConsole_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googlesearchconsole",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v3"
    }
```

**Google-Search-Console-Entitäts- und Felddetails**:

Google Search Console bietet Endpunkte zum dynamischen Abrufen von Metadaten für unterstützte Entitäten. Dementsprechend 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/google-search-console-reading-from-entities.html)

**Anmerkung**  
Eine aktualisierte Liste gültiger Werte für Filter finden Sie der Dokumentation zur [Google Search Console](https://developers.google.com/webmaster-tools/v1/searchanalytics/query) API.  
Das Feld `start_end_date` ist eine Kombination aus `start_date` und `end_date`.

## Partitionierung von Abfragen
<a name="google-search-console-reading-partitioning-queries"></a>

Filterbasierte Partitionierung und datensatzbasierte Partitionierung werden nicht unterstützt.

# Verbindungsoptionen für Google Search Console
<a name="google-search-console-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Google Search Console aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Google Search Console.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der REST-API von Google Search Console, 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: "start\$1end\$1date between <30 days ago from current date> AND <yesterday: that is, 1 day ago from the current date>". Zum Lesen verwendet. Muss das Spark-SQL-Format aufweisen.
+ `QUERY`(Zeichenfolge) – Standard: "start\$1end\$1date between <30 days ago from current date> AND <yesterday: that is, 1 day ago from the current date>" Zum Lesen verwendet. Vollständige Spark-SQL-Abfrage.
+ `INSTANCE_URL`(Zeichenfolge) – Zum Lesen verwendet. Eine gültige Instance-URL für Google Search Console.

# Einschränkungen der Google Search Console
<a name="google-search-console-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für Google Search Console:
+ Google Search Console erzwingt Nutzungsbeschränkungen für die API. Weitere Informationen finden Sie unter [Nutzungslimits](https://developers.google.com/webmaster-tools/limits).
+ Wenn kein Filter für die `Search Analytics`-Entität übergeben wurde, summiert die API alle Klicks, Impressionen, Klickraten (CTR) und andere Daten für Ihre gesamte Website innerhalb des angegebenen Standarddatumsbereichs und präsentiert sie als einen einzigen Datensatz.
+ Um die Daten in kleinere Segmente aufzuteilen, müssen Sie der Abfrage Dimensionen hinzufügen. Mit Dimensionen wird der API mitgeteilt, wie Sie Ihre Daten segmentieren möchten.
  + Wenn Sie beispielsweise `filterPredicate: dimensions="country"` hinzufügen, erhalten Sie einen Datensatz für jedes Land, in dem Ihre Website im angegebenen Zeitraum Traffic erhalten hat.
  + Beispiel für die Übergabe mehrerer Dimensionen: `filterPredicate: dimensions="country" AND dimensions="device" AND dimensions="page"`. In diesem Fall erhalten Sie für jede eindeutige Kombination dieser drei Dimensionen eine Zeile in der Antwort.
+ Für die Felder `start_end_date` und `dataState` sind Standardwerte festgelegt.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/google-search-console-limitations.html)

# Herstellen einer Verbindung mit Google Sheets
<a name="connecting-to-googlesheets"></a>

 Google Sheets ist eine Online-Tabellenkalkulationssoftware, mit der Sie große Datenmengen organisieren, benutzerdefinierte Berichte erstellen, Berechnungen automatisieren und mit anderen zusammenarbeiten können. Wenn Sie ein Google Sheets-Nutzer sind, können Sie eine Verbindung AWS Glue zu Ihrem Google Sheets-Konto herstellen. Anschließend können Sie Google Sheets als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Google Sheets und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen. 

**Topics**
+ [AWS Glue Unterstützung für Google Sheets](googlesheets-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](googlesheets-configuring-iam-permissions.md)
+ [Konfigurieren von Google Sheets](googlesheets-configuring.md)
+ [Konfigurieren von Google-Sheets-Verbindungen](googlesheets-configuring-connections.md)
+ [Aus Google-Sheets-Entitäten lesen](googlesheets-reading-from-entities.md)
+ [Verbindungsoptionen für Google Sheets](googlesheets-connection-options.md)
+ [OAuth Autorisierungscodefluss für Google Sheets einrichten](googlesheets-oauth-authorization.md)
+ [Einschränkungen für den Google-Tabellen-Connector](googlesheets-connector-limitations.md)

# AWS Glue Unterstützung für Google Sheets
<a name="googlesheets-support"></a>

AWS Glue unterstützt Google Sheets wie folgt:

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

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

**Unterstützte Versionen der Google-Sheets-API**  
 Google Sheets API v4 und Google Drive API v3 

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

Bevor Sie die Übertragung von Google Sheets verwenden AWS Glue können, müssen Sie die folgenden Anforderungen erfüllen:

## Mindestanforderungen
<a name="googlesheets-configuring-min-requirements"></a>
+ Sie haben ein Google-Sheets-Konto mit E-Mail und Passwort.
+  Ihr Google-Sheets-Konto ist für den API-Zugriff aktiviert. Die Nutzung der Google-Sheets-API ist ohne zusätzliche Kosten möglich. 
+  Mit Ihrem Google-Sheets-Konto können Sie verbundene Apps installieren. Wenn Sie keinen Zugriff auf diese Funktion haben, wenden Sie sich an Ihren Google-Sheets-Administrator. 

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

# Konfigurieren von Google-Sheets-Verbindungen
<a name="googlesheets-configuring-connections"></a>

Konfigurieren einer Google-Sheet-Verbindung:

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

   1.  Für den AuthorizationCode Zuschusstyp: 
      +  Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 

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** Google Sheets aus.

   1. Stellen Sie die Google-Sheets-Umgebung bereit.

      1.  Wählen Sie `secretName` die aus, in AWS Glue die Sie für diese Verbindung die Token einfügen 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. 

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

****  

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

------

 **Gewährungstyp AUTHORIZATION\$1CODE** 

 Diese Art der Gewährung wird als „dreibeiniges“ angesehen, OAuth da sie 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 Die AWS Glue Konsole leitet den Nutzer zu Google Sheets weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Google Sheets-Instanz gewähren muss. 

 Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Google Sheets zu erstellen und beim Herstellen von Verbindungen über die AWS Glue Konsole ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben. In diesem Szenario werden sie weiterhin zu Google Sheets weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 

 Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden. 

 Weitere Informationen finden Sie in der [öffentlichen Google Sheets-Dokumentation zum Erstellen einer verbundenen App für den OAuth Autorisierungscodefluss](https://developers.google.com/workspace/guides/create-credentials). 

# Aus Google-Sheets-Entitäten lesen
<a name="googlesheets-reading-from-entities"></a>

 **Voraussetzungen** 
+  Ein Google SpreadSheet , von dem Sie gerne lesen würden. Sie benötigen die SpreadSheet ID und den TabNamen der Tabelle. 

 **Google-Sheets-Entitäts- und Felddetails** 


| Entität | Datentyp | Unterstützte Operatoren | 
| --- | --- | --- | 
| Tabellenkalkulation | Zeichenfolge | n. v. (Filter wird nicht unterstützt) | 

 **Beispiel** 

```
googleSheets_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googlesheets",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "{SpreadSheetID}#{SheetTabName}",
        "API_VERSION": "v4"
    }
```

 **Partitionierung von Abfragen** 

 Nur für die Partitionierung auf Datensatzbasis kann `NUM_PARTITIONS` als zusätzliche Spark-Optionen bereitgestellt werden, wenn Sie Parallelität in Spark nutzen möchten. Mit diesem Parameter würde die ursprüngliche Abfrage in `NUM_PARTITIONS` Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können. 

 **Beispiel mit `NUM_PARTITIONS`** 

```
googlesheets_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googlesheets",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "{SpreadSheetID}#{SheetTabName}",
        "API_VERSION": "v4",
        "NUM_PARTITIONS": "10"
    }
```

# Verbindungsoptionen für Google Sheets
<a name="googlesheets-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Google Sheets aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. `SpreadSheet ID` und `sheetTabName` in Google Sheets. Beispiel: `{SpreadSheetID}#{SheetTabName}`. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der Google-Sheets-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. 
+  `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen. 

# OAuth Autorisierungscodefluss für Google Sheets einrichten
<a name="googlesheets-oauth-authorization"></a>

 **Voraussetzungen** 
+  Ein Google-Konto, in dem Sie sich anmelden können, um die Google-Sheets-App zu verwenden. In Ihrem Google-Konto enthält Google Sheets die Daten, die Sie übertragen möchten. 
+  Ein Google-Cloud-Platform-Konto und ein Google-Cloud-Projekt. Weitere Informationen finden Sie unter [Create Google Cloud Project](https://developers.google.com/workspace/guides/create-project). 

**So richten Sie Ihr Google-Konto ein und erhalten OAuth 2.0-Anmeldeinformationen:**

1.  Sobald das Google Cloud-Projekt eingerichtet ist, aktivieren Sie die Google Sheets API und Google Drive APIs im Projekt. Die Schritte zu ihrer Aktivierung finden Sie unter [Aktivieren und Deaktivieren APIs](https://support.google.com/googleapi/answer/6158841) in der API-Konsolen-Hilfe für die Google Cloud Platform. 

1.  Als Nächstes konfigurieren Sie einen OAuth Zustimmungsbildschirm für externe Nutzer. Weitere Informationen zum OAuth Einwilligungsbildschirm finden Sie in der Google Cloud Platform Console-Hilfe unter [Ihren OAuth Einwilligungsbildschirm einrichten](https://support.google.com/cloud/answer/10311615#). 

1.  Fügen Sie im OAuth Zustimmungsbildschirm die folgenden Bereiche hinzu: 
   +  [Der schreibgeschützte Bereich der Google-Sheets-API](https://www.googleapis.com/auth/spreadsheets.readonly) 
   +  [Der schreibgeschützte Bereich der Google-Drive-API](ttps://www.googleapis.com/auth/drive.readonly) 

    Weitere Informationen zu diesen Bereichen finden Sie unter [OAuth 2.0 Scopes for Google APIs in der Google Identity-Dokumentation](https://developers.google.com/identity/protocols/oauth2/scopes). 

1.  Generieren Sie OAuth 2.0-Client-ID und Secret. Die Schritte zum Erstellen dieser Client-ID finden Sie unter [Einrichtung von OAuth 2.0](https://support.google.com/cloud/answer/6158849?hl=en#zippy=) in der Google Cloud Platform Console-Hilfe. 

    Die OAuth 2.0-Client-ID muss über eine oder mehrere autorisierte Weiterleitungen verfügen URLs. 

    Weiterleitungen URLs haben das folgende Format: 
   + <aws-region>https://.console.aws.amazon. com/gluestudio/oauth 

1.  Notieren Sie sich die Client-ID und das Client-Geheimnis aus den Einstellungen für Ihre OAuth 2.0-Client-ID. 

# Einschränkungen für den Google-Tabellen-Connector
<a name="googlesheets-connector-limitations"></a>

Die folgenden Einschränkungen gelten für den Google-Tabellen-Connector:
+  Der Google-Tabellen-Connector unterstützt keine Filter. Daher kann eine filterbasierte Partitionierung nicht unterstützt werden. 
+  Bei der Partitionierung auf Datensatzbasis gibt es keine Möglichkeit, die genaue Anzahl von Datensätzen per SAAS zurückzugeben. Daher kann es Szenarien geben, in denen Dateien mit leeren Datensätzen erstellt werden.
+  Da der Google-Tabellen-Connector keine filterbasierte Partitionierung unterstützt, sind `partitionField`, `lowerbound` und `upperbound` keine gültigen Verbindungsoptionen. Wenn diese Optionen bereitgestellt werden, ist davon auszugehen, dass der AWS Glue Job fehlschlägt. 
+  Es ist wichtig, die erste Zeile der Tabelle als Kopfzeile festzulegen, um Probleme mit der Datenverarbeitung zu vermeiden. 
  +  Falls nicht angegeben, wird die Kopfzeile durch `Unnamed:1`, `Unnamed:2`, `Unnamed:3`... ersetzt, wenn die Tabelle Daten enthält, bei denen die erste Zeile leer ist. 
  +  Wenn die Kopfzeile angegeben wird, werden leere Spaltennamen durch `Unnamed:<number of column>` ersetzt. Wenn die Kopfzeile z. B. `['ColumnName1', 'ColumnName2', '', '', 'ColumnName5', 'ColumnName6']` ist, dann wird sie `['ColumnName1', 'ColumnName2', 'Unnamed:3', 'Unnamed:4', 'ColumnName5', 'ColumnName6'].`. 
+  Der Google-Tabellen-Connector unterstützt keine inkrementelle Übertragung. 
+  Der Google-Tabellen-Connector unterstützt nur den Datentyp „Zeichenfolge“. 
+  Doppelte Überschriften in einer Tabelle werden iterativ mit einem numerischen Suffix umbenannt. Die vom Benutzer angegebenen Kopfzeilennamen haben Vorrang beim Umbenennen der doppelten Kopfzeilen. Wenn die Kopfzeile beispielweise ["Name", "", "Name", null, "Unnamed:6", ""] ist, wird sie in diese Kopfzeile geändert: ["Name", "Unnamed:2", "Name1", "Unnamed:4", "Unnamed:6", "Unnamed:61"]. 
+  Der Google-Tabellen-Connector unterstützt keine Leerzeichen für einen Tabellennamen. 
+  Ein Ordnername darf die folgenden Sonderzeichen nicht enthalten: 
  + \$1
  + /

# Verbindung herstellen zu HubSpot
<a name="connecting-to-data-hubspot"></a>

HubSpotDie CRM-Plattform bietet alle Tools und Integrationen, die Sie für Marketing, Vertrieb, Inhaltsmanagement und Kundenservice benötigen.
+ Marketing Hub – Marketing-Software, mit der Sie Ihren Traffic steigern, mehr Besucher konvertieren und umfassende Inbound-Marketing-Kampagnen in großem Maßstab durchführen können.
+ Sales Hub – Vertriebs-CRM-Software, mit der Sie tiefere Einblicke in potenzielle Kunden gewinnen, Ihre Aufgaben automatisieren und mehr Geschäfte schneller abschließen können.
+ Service Hub – Kundenservice-Software, mit der Sie mit Kunden in Kontakt treten, deren Erwartungen übertreffen und sie zu Fürsprechern machen können, die Ihr Geschäft voranbringen.
+ Operations Hub – Betriebssoftware, die Ihre Anwendungen synchronisiert, Kundendaten bereinigt und erstellt sowie Prozesse automatisiert – damit alle Ihre Systeme und Teams besser zusammenarbeiten.

**Topics**
+ [AWS Glue Unterstützung für HubSpot](hubspot-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](hubspot-configuring-iam-permissions.md)
+ [Konfiguration HubSpot](hubspot-configuring.md)
+ [HubSpot Verbindungen konfigurieren](hubspot-configuring-connections.md)
+ [Aus HubSpot Entitäten lesen](hubspot-reading-from-entities.md)
+ [An HubSpot Entitäten schreiben](hubspot-writing-to-entities.md)
+ [HubSpot Verbindungsoptionen](hubspot-connection-options.md)
+ [Einschränkungen und Hinweise für HubSpot Connector](hubspot-connector-limitations.md)

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

AWS Glue unterstützt HubSpot wie folgt:

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

**Als Ziel unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten zu schreiben HubSpot.

**Unterstützte HubSpot API-Versionen**  
Die folgenden HubSpot API-Versionen werden unterstützt:
+ v1
+   v2
+ v3
+ v4

Informationen zur versionsspezifischen Unterstützung von Entitäten finden Sie unter [Unterstützte Entitäten für synchrone Quelle](hubspot-reading-from-entities.md#sync-table) und [Unterstützte Entitäten für asynchrone Quelle](hubspot-reading-from-entities.md#async-table).

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="hubspot-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.

# Konfiguration HubSpot
<a name="hubspot-configuring"></a>

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein HubSpot Konto. Weitere Informationen finden Sie unter [Ein HubSpot Konto erstellen](#hubspot-configuring-creating-hubspot-account).
+ Ihr HubSpot Konto ist für den API-Zugriff aktiviert.
+ Ihr HubSpot Entwicklerkonto sollte über eine App verfügen, die die Kundenanmeldedaten bereitstellt, die für den sicheren Zugriff auf Ihre Daten AWS Glue verwendet werden, wenn authentifizierte Aufrufe an Ihr Konto getätigt werden. Weitere Informationen finden Sie unter [Eine HubSpot Entwickler-App erstellen](#hubspot-configuring-creating-hubspot-developer-app).

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem HubSpot Konto herstellen. Für typische Verbindungen müssen Sie nichts weiter tun HubSpot.

## Ein HubSpot Konto erstellen
<a name="hubspot-configuring-creating-hubspot-account"></a>

Um ein HubSpot Konto zu erstellen:

1. Gehen Sie zur [HubSpot SignUp CRM-URL](https://app.hubspot.com/login).

1. Geben Sie Ihre E-Mail-Adresse ein, und wählen Sie **E-Mail verifizieren** aus (alternativ können Sie sich mit einem Google-, Microsoft- oder Apple-Konto anmelden).

1. Suchen Sie in Ihrem Posteingang nach dem Bestätigungscode von HubSpot.

1. Geben Sie den sechsstelligen Bestätigungscode ein, und klicken Sie auf **Weiter**.

1. Geben Sie ein Kennwort ein, und klicken Sie auf **Weiter**.

1. Geben Sie Ihren Vor- und Nachnamen ein, und klicken Sie auf **Weiter**, oder registrieren Sie sich über den Link **Mit Google anmelden**.

1. Geben Sie Ihre Branche ein, und klicken Sie auf **Weiter**.

1. Geben Sie Ihre berufliche Rolle ein, und klicken Sie auf **Weiter**.

1. Geben Sie Ihren Unternehmensnamen ein, und klicken Sie auf **Weiter**.

1. Wählen Sie die Größe Ihres Unternehmens (Anzahl der in Ihrem Unternehmen beschäftigten Mitarbeiter) aus, und klicken Sie auf **Weiter**.

1. Geben Sie die Website Ihres Unternehmens ein, und klicken Sie auf **Weiter**.

1. Wählen Sie aus, wo Ihre Daten gehostet werden sollen (Vereinigte Staaten oder Europa), und klicken Sie auf **Konto erstellen**.

1. Wählen Sie den Zweck der Kontoerstellung aus, und klicken Sie auf **Weiter**.

1. Wählen Sie **Google-Konto Connect** oder fügen Sie selbst Kontakte hinzu, um Ihre Kontakte mit Ihrem HubSpot Konto zu verknüpfen.

1. Melden Sie sich in Ihrem Google-Konto an, wenn Sie die Option **Google-Konto Connect** ausgewählt haben, um Ihre Kontakte zu verknüpfen und Ihr HubSpot Konto zu verwenden.

## Eine HubSpot Entwickler-App erstellen
<a name="hubspot-configuring-creating-hubspot-developer-app"></a>

App-Entwicklerkonten sind für das Erstellen und Verwalten von Apps, Integrationen und Entwickler-Testkonten vorgesehen. Sie sind auch der Ort, an dem Sie AWS-Marketplace-Angebote erstellen und verwalten können. App-Entwicklerkonten und die zugehörigen Testkonten sind jedoch nicht mit einem HubSpot Standardkonto verbunden. Sie können keine Daten oder Assets mit oder von einem anderen HubSpot Konto synchronisieren. Um die Client-ID und das Client-Geheimnis zu erhalten, erstellen Sie ein Entwicklerkonto.

1. Gehe zu https://developers.hubspot.com/

1. Wählen Sie **Create developer account**, und scrollen Sie nach unten.

1. Sie werden gefragt, ob Sie ein App-Entwicklerkonto, ein privates App-Konto oder ein CMS-Entwickler-Sandbox-Konto erstellen möchten. Wählen Sie die Option **Create App developers account**.

1. Da Sie bereits ein Konto bei erstellt haben HubSpot, können Sie **Weiter mit diesem Benutzer** wählen.

1. Klicken Sie auf **Start signup**.

1. Geben Sie Ihre berufliche Rolle ein, und klicken Sie auf **Weiter**.

1. Geben Sie Ihrem Entwicklerkonto einen Namen, und klicken Sie auf **Next** und dann auf **Skip**.

1. Wählen Sie **Create app (App erstellen)**.

1. Sobald Ihre App erstellt ist, wählen Sie **Auth**.

1. Notieren Sie unter „Auth“ die Client-ID und das Client-Geheimnis.

1. Fügen Sie Ihre regionsspezifische **Weiterleitungs-URL** als https: *//<aws-region>* .console.aws.amazon hinzu. com/gluestudio/oauth. For example, add https://us-east-1.console.aws.amazon.com/gluestudio/oauthfür die Region US-East-1.

1. Scrollen Sie nach unten und suchen Sie nach Bereichen. Es gibt zwei Arten von Bereichen, die Sie unter den Überschriften „CRM“ und „Standard“ auswählen müssen.

1. Fügen Sie folgende Bereiche hinzu:

   ```
   content
   automation
   oauth
   crm.objects.owners.read
   forms
   tickets
   crm.objects.contacts.write
   e-commerce
   crm.schemas.custom.read
   crm.objects.custom.read
   sales-email-read
   crm.objects.custom.write
   crm.objects.companies.write
   crm.lists.write
   crm.objects.companies.read
   crm.lists.read
   crm.objects.deals.read
   crm.objects.deals.write
   crm.objects.contacts.read
   ```

1. Klicken Sie auf **Save**. Danach ist Ihr Entwicklerkonto einsatzbereit.

1. Scrollen Sie nach oben, um die **Client-ID** zu finden.

1. Klicken Sie auf derselben Seite auf **Show**, um das **Client-Geheimnis** abzurufen.

## Erstellen eines HubSpot Entwickler-Testkontos
<a name="hubspot-configuring-creating-hubspot-developer-test-account"></a>

In App-Entwicklerkonten können Sie Entwickler-Testkonten erstellen, um Apps und Integrationen zu testen, ohne dass sich dies auf reale HubSpot Daten auswirkt. Testkonten für Entwickler entsprechen nicht den Produktionskonten, sondern haben Zugriff auf eine 90-Tage-Testversion der Enterprise-Versionen von Marketing, Vertrieb, Service, CMS und Operations Hub, sodass Sie die meisten HubSpot Tools testen können und. APIs

1. Klicken Sie auf **Home**.

1. Klicken Sie auf **Create test account**.

1. Klicken Sie auf **Create App Test Account**.

1. Ein neues Fenster wird angezeigt. Geben Sie den Namen des App-Testkontos ein, und klicken Sie auf **Create**.

   Ihr App-Testkonto ist jetzt erstellt.

**Anmerkung**  
Das Entwicklerkonto bezieht sich auf Entwicklungsaktivitäten wie die API-Integration. Das App-Testkonto wird verwendet, um die Daten anzuzeigen, die vom Entwicklerkonto erstellt oder abgerufen werden.

# HubSpot Verbindungen konfigurieren
<a name="hubspot-configuring-connections"></a>

HubSpot unterstützt den Grant-Typ AUTHORIZATION\$1CODE für. OAuth2
+ Dieser Gewährungstyp wird als „dreibeiniges“ angesehen, OAuth da er darauf angewiesen ist, dass Benutzer zur Authentifizierung des Benutzers an einen Autorisierungsserver eines Drittanbieters umgeleitet werden. Er wird verwendet, wenn Verbindungen über die Konsole hergestellt werden. AWS Glue Der Benutzer, der eine Verbindung herstellt, muss die OAuth zugehörigen Informationen wie Client-ID und Client Secret für seine HubSpot Client-Anwendung angeben. Die AWS Glue Konsole leitet den Benutzer HubSpot dorthin weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine HubSpot Instanz gewähren muss.
+ Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in zu erstellen HubSpot und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin weitergeleitet, HubSpot um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.
+ Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.
+ Öffentliche HubSpot Dokumentation zum Erstellen einer verbundenen App für den OAuth Autorisierungscodefluss finden Sie unter [Öffentliche Apps](https://developers.hubspot.com/docs/api/creating-an-app).

So konfigurieren Sie eine HubSpot 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 das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten.

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

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 eines **Verbindungstyps** HubSpot.

   1. Stellen Sie die HubSpot Umgebung bereit.

   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 HubSpot Entitäten lesen
<a name="hubspot-reading-from-entities"></a>

**Voraussetzung**

Ein HubSpot Objekt, aus dem Sie lesen möchten. Sie benötigen den Objektnamen wie Kontakt oder Aufgabe. Die folgenden Tabellen zeigen die unterstützten Entitäten für die synchrone Quelle.

## Unterstützte Entitäten für synchrone Quelle
<a name="sync-table"></a>


| Entität | API-Version | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | --- | 
| Kampagnen | v1 | Nein | Ja | Nein | Ja | Nein | 
| Unternehmen | v3 | Ja | Ja | Ja | Ja | Ja | 
| Kontakte | v3 | Ja | Ja | Ja | Ja | Ja | 
| Kontaktlisten | v1 | Nein | Ja | Nein | Ja | Nein | 
| Angebote | v3 | Ja | Ja | Ja | Ja | Ja | 
| CRM-Pipeline (Angebots-Pipelines) | v1 | Nein | Nein | Nein | Ja | Nein | 
| E-Mail-Ereignisse | v1 | Nein | Ja | Nein | Ja | Nein | 
| Calls | v3 | Ja | Ja | Ja | Ja | Ja | 
| Hinweise | v3 | Ja | Ja | Ja | Ja | Ja | 
| E-Mails | v3 | Ja | Ja | Ja | Ja | Ja | 
| Meetings | v3 | Ja | Ja | Ja | Ja | Ja | 
| Aufgaben | v3 | Ja | Ja | Ja | Ja | Ja | 
| Briefe | v3 | Ja | Ja | Ja | Ja | Ja | 
| Benutzerdefinierte Objekte | v3 | Ja | Ja | Ja | Ja | Ja | 
| Formulare |   v2 | Nein | Nein | Nein | Ja | Nein | 
| Eigentümer | v3 | Nein | Ja | Nein | Ja | Nein | 
| Produkte | v3 | Ja | Ja | Ja | Ja | Ja | 
| Tickets | v3 | Ja | Ja | Ja | Ja | Ja | 
| Arbeitsabläufe | v3 | Nein | Nein | Nein | Ja | Nein | 
| Zuordnungen | v4 | Ja | Nein | Nein | Ja | Nein | 
| Bezeichnung für Zuordnungen | v4 | Nein | Nein | Nein | Ja | Nein | 

**Beispiel:**

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3"
    }
```

## Unterstützte Entitäten für asynchrone Quelle
<a name="async-table"></a>


| Entität | API-Version | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | --- | 
| Unternehmen | v3 | Ja | Nein | Ja | Ja | Nein | 
| Kontakte | v3 | Ja | Nein | Ja | Ja | Nein | 
| Angebote | v3 | Ja | Nein | Ja | Ja | Nein | 
| Calls | v3 | Ja | Nein | Ja | Ja | Nein | 
| Hinweise | v3 | Ja | Nein | Ja | Ja | Nein | 
| E-Mails | v3 | Ja | Nein | Ja | Ja | Nein | 
| Meetings | v3 | Ja | Nein | Ja | Ja | Nein | 
| Aufgaben | v3 | Ja | Nein | Ja | Ja | Nein | 
| Briefe | v3 | Ja | Nein | Ja | Ja | Nein | 
| Benutzerdefinierte Objekte | v3 | Ja | Nein | Ja | Ja | Nein | 
| Produkte | v3 | Ja | Nein | Ja | Ja | Nein | 
| Tickets | v3 | Ja | Nein | Ja | Ja | Nein | 

**Beispiel:**

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3",
        "TRANSFER_MODE": "ASYNC"
    }
```

**HubSpot Entitäts- und Felddetails**:

**HubSpot API v4**: 

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

**Anmerkung**  
Um Assoziationen zwischen zwei Objekten für das `Associations` Objekt abzurufen, müssen Sie beim Erstellen eines Jobs die Absender-ID (die ID des ersten Objekts) über einen obligatorischen Filter angeben. AWS Glue Wenn Sie in diesem Fall Assoziationen für mehrere abrufen möchten, müssen Sie IDs in der Klausel mehrere IDs angeben. `where` Beispiel: Zum Abrufen `Associations` der Kontakte IDs '1' und '151' müssen Sie einen Filter als angeben. `where id=1 AND id=151`

**HubSpot API v3**:

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

 HubSpot Stellt für die folgenden Entitäten Endpunkte zum dynamischen Abrufen von Metadaten bereit, sodass die Operatorunterstützung für jede Entität auf Datentypebene erfasst wird.

**Anmerkung**  
`DML_STATUS` ist ein virtuelles Feld, das jedem Datensatz zur Laufzeit hinzugefügt wird, um den Status (ERSTELLT/AKTUALISIERT) im synchronen Modus zu bestimmen. Der `CONTAINS/LIKE`-Operator wird im asynchronen Modus nicht unterstützt.

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

**HubSpot API v2:**

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

**HubSpot API v1**:

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

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

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 den Wert im ISO-Format.

  Beispiele für gültigen Wert:

  ```
  “2024-01-01T10:00:00.115Z" 
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: die Anzahl der Partitionen.

In der folgenden Tabelle sind Details zur Unterstützung der Partitionierung von Entitäten beschrieben:

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

Beispiel:

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "company",
        "API_VERSION": "v3",
        "PARTITION_FIELD": "hs_object_id"
        "LOWER_BOUND": "50"
        "UPPER_BOUND": "16726619290"
        "NUM_PARTITIONS": "10"
    }
```

# An HubSpot Entitäten schreiben
<a name="hubspot-writing-to-entities"></a>

## Voraussetzungen
<a name="hubspot-writing-prerequisites"></a>
+ Ein HubSpot Objekt, in das Sie schreiben möchten. Sie benötigen den Objektnamen wie Kontakt oder Ticket.
+ Der HubSpot Konnektor unterstützt die folgenden Schreiboperationen:
  + INSERT
  + AKTUALISIERUNG
+ Wenn Sie den `UPDATE`-Schreibvorgang verwenden, muss die Option `ID_FIELD_NAMES` bereitgestellt werden, um das ID-Feld für die Datensätze anzugeben.

## Unterstützte Entitäten für das Sync-Ziel
<a name="hubspot-supported-entities"></a>


| Entität | API-Version | Wird als Ziel-Connector unterstützt | Kann eingefügt werden | Kann aktualisiert werden. | 
| --- | --- | --- | --- | --- | 
| Unternehmen | v3 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 
| Kontakte | v3 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 
| Geschäfte | v3 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 
| Produkte | v3 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 
| Calls | v3 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 
| Meetings | v3 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 
| Hinweise | v3 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 
| E-Mails | v3 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 
| Aufgaben | v3 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 
| Briefe | v3 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 
| Benutzerdefinierte Objekte | v3 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 
| Tickets | v3 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 
| Zuordnungen | v4 | Ja | Ja (Einzeln, Bulk) | Nein | 
| Bezeichnung für Zuordnungen | v4 | Ja | Ja (Einzeln, Bulk) | Ja (Einzeln, Bulk) | 

**Beispiele:**

**INSERT-Vorgang**

```
hubspot_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3",
        "WRITE_OPERATION": "INSERT"
    }
)
```

**UPDATE-Vorgang**

```
hubspot_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "deal",
        "API_VERSION": "v3",
        "WRITE_OPERATION": "UPDATE",
        "ID_FIELD_NAMES": "hs_object_id"
    }
)
```

# HubSpot Verbindungsoptionen
<a name="hubspot-connection-options"></a>

Im Folgenden finden Sie Verbindungsoptionen für HubSpot:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in HubSpot.
+ `API_VERSION`(Zeichenfolge) — (Erforderlich) Wird zum Lesen verwendet. HubSpot Rest-API-Version, die Sie verwenden möchten. Beispiel: v1, v2, v3, v4.
+ `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.
+ `TRANSFER_MODE`(Zeichenfolge) – Wird verwendet, um anzugeben, ob die Abfrage im Async-Modus ausgeführt werden soll.
+ `WRITE_OPERATION`(Zeichenfolge) – Standard: INSERT. Zum Schreiben verwendet. Wert muss INSERT oder UPDATE sein.
+ `ID_FIELD_NAMES`(Zeichenfolge) – Standard: null. Für UPDATE erforderlich.

# Einschränkungen und Hinweise für HubSpot Connector
<a name="hubspot-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den HubSpot Konnektor:
+ Die Suchendpunkte sind auf insgesamt 10.000 Ergebnisse für eine bestimmte Abfrage begrenzt. Jede Partition mit mehr als 10.000 Datensätzen führt zu einem 400-Fehler.
+ Weitere wichtige Einschränkungen für den Connector werden unter [Einschränkungen](https://developers.hubspot.com/docs/api/crm/search#limitations) beschrieben.
+ Maximal drei Filteranweisungen werden von akzeptiert HubSpot.
+  HubSpot Unterstützt derzeit Verknüpfungen zwischen HubSpot Standardobjekten (z. B. Kontakt, Firma, Geschäft oder Ticket) und benutzerdefinierten Objekten.
  + Für ein kostenloses Konto: Sie können nur bis zu 10 Zuordnungstypen zwischen jeder Objektpaarung (z. B. Kontakte und Unternehmen) erstellen.
  + Für ein Super-Admininistratorkonto: Sie können nur bis zu 50 Zuordnungstypen zwischen jeder Objektpaarung erstellen.
  + Weitere Informationen finden Sie unter [Associations v4](https://developers.hubspot.com/docs/api/crm/) und [Create and use association labels](https://knowledge.hubspot.com/object-settings/create-and-use-association-labels).
+ Die Objekte „Quote“ und „Communications“ sind für Associations nicht vorhanden, da sie derzeit im Connector nicht unterstützt werden.
+ Im asynchronen Modus sortiert SaaS die Werte nur in aufsteigender Reihenfolge.
+ Für die Entität `Ticket` gibt SaaS das Feld `hs_object_id` nicht im asynchronen Modus zurück.

# Herstellen einer Verbindung mit Instagram Ads
<a name="connecting-to-data-instagram-ads"></a>

Instagram ist eine beliebte Foto-Sharing-App, mit der Sie mit Marken, Prominenten, Vordenkern, Freunden, Familie und mehr in Kontakt treten können. Es handelt sich um einen Foto-Sharing- und Social-Networking-Dienst. Nutzer können Fotos oder kurze Videos aufnehmen und diese mit ihren Followern teilen. Instagram-Anzeigen sind Beiträge, für deren Schaltung Unternehmen bezahlen können, um sie Instagram-Nutzern anzuzeigen.

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

# AWS Glue Unterstützung für Instagram-Anzeigen
<a name="instagram-ads-support"></a>

AWS Glue unterstützt Instagram-Anzeigen wie folgt:

**Als Quelle unterstützt?**  
Ja. Du kannst AWS Glue ETL-Jobs verwenden, um Daten aus Instagram Ads abzufragen.

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

**Unterstützte Versionen der Instagram-Ads-API**  
Die folgenden Versionen der Instagram-Ads-API werden unterstützt:
+ v17.0
+ v18.0
+ v19.0
+ v20.0

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

Bevor du Daten von Instagram Ads übertragen kannst, musst du die folgenden Anforderungen erfüllen: AWS Glue 

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Auf Instagram-Standardkonten wird indirekt über Facebook zugegriffen.
+ Zur Generierung des Zugriffstokens ist eine Benutzerauthentifizierung erforderlich.
+ Der Instagram Ads SDK-Connector wird den *User Access OAuth Token-Flow* implementieren.
+ Wir verwenden OAuth2 2.0, um unsere API-Anfragen für Instagram-Anzeigen zu authentifizieren. Diese webbasierte Authentifizierung fällt unter die Multi-Faktor-Authentifizierung (MFA)-Architektur, die eine Obergruppe von 2FA darstellt.
+ Der Benutzer muss Berechtigungen für den Zugriff auf die Endpunkte gewähren. Für den Zugriff auf die Benutzerdaten erfolgt die Autorisierung des Endpunkts über [Berechtigungen](https://developers.facebook.com/docs/permissions) und [Features](https://developers.facebook.com/docs/features-reference).

## 2.0-Anmeldeinformationen erhalten OAuth
<a name="instagram-ads-configuring-creating-instagram-ads-oauth2-credentials"></a>

Informationen zum Beziehen von API-Anmeldeinformationen für authentifizierte Aufrufe Ihrer Instance finden Sie unter [Graph-API](https://developers.facebook.com/docs/graph-api/).

# Konfigurieren von Instagram Ads-Verbindungen
<a name="instagram-ads-configuring-connections"></a>

Instagram Ads unterstützt den Zuschusstyp AUTHORIZATION\$1CODE für. OAuth2
+ Dieser Zuschusstyp wird als dreibeiniges eingestuft, 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 
+ Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Instagram Ads zu erstellen und beim Herstellen von Verbindungen über die AWS Glue Konsole ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben. In diesem Szenario werden sie weiterhin zu Instagram Ads weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.
+ Dieser Gewährungstyp führt zu einem Zugriffstoken. Ein Systembenutzer-Token mit Ablauf ist ab dem Datum der Generierung oder Aktualisierung 60 Tage lang gültig. Um Kontinuität zu gewährleisten, muss der Entwickler das Zugriffstoken innerhalb von 60 Tagen aktualisieren. Andernfalls verfällt das Zugriffstoken und der Entwickler muss ein neues beziehen, um den API-Zugriff wiederherzustellen. Siehe [Aktualisieren des Zugriffstokens](https://developers.facebook.com/docs/marketing-api/system-users/install-apps-and-generate-tokens/).

Konfigurieren einer Instagram Ads-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** Instagram Ads 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. Geben Sie die Client-ID der benutzerseitig verwalteten Client-Anwendung an.

   1. Wählen Sie `secretName` die aus, die Sie für diese Verbindung verwenden möchten AWS Glue , um die Token einzufügen. Das ausgewählte Geheimnis muss über den Schlüssel `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` verfügen, dessen Wert dem Client-Geheimnis der verbundenen App entspricht.

   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 Instagram Ads-Entitäten
<a name="instagram-ads-reading-from-entities"></a>

**Voraussetzung**

Ein Instagram Ads-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen. Die folgenden Tabellen zeigen die unterstützten Entitäten.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Kampagne | Ja | Ja | Nein | Ja | Ja | 
| Ad Set | Ja | Ja | Nein | Ja | Ja | 
| Ads | Ja | Ja | Nein | Ja | Ja | 
| Ad Creative | Nein | Ja | Nein | Ja | Nein | 
| Insights – Account | Nein | Ja | Nein | Ja | Nein | 
| Ad Image | Ja | Ja | Nein | Ja | Nein | 
| Insights – Ad | Ja | Ja | Nein | Ja | Ja | 
| Einblicke - AdSet | Ja | Ja | Nein | Ja | Ja | 
| Insights – Campaign | Ja | Ja | Nein | Ja | Ja | 

**Beispiel:**

```
instagramAds_read = glueContext.create_dynamic_frame.from_options(
    connection_type="instagramads",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v20.0"
    }
```

## Entitäts- und Felddetails für Instagram Ads
<a name="instagram-ads-reading-entity-and-field-details"></a>

Weitere Informationen zu den Entitäten und Felddetails finden Sie unter:
+ [Kampagne](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)
+ [Ad Set](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign)
+ [Ad](https://developers.facebook.com/docs/marketing-api/reference/adgroup)
+ [Ad Creative](https://developers.facebook.com/docs/marketing-api/reference/ad-creative)
+ [Ad Account Insight](https://developers.facebook.com/docs/marketing-api/reference/ad-account/insights)
+ [Ad Image](https://developers.facebook.com/docs/marketing-api/reference/ad-image)
+ [Ad Insights](https://developers.facebook.com/docs/marketing-api/reference/adgroup/insights/)
+ [AdSets Einblicke](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign/insights)
+ [Campaigns Insights](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group/insights)

Weitere Informationen finden Sie unter [Marketing-API](https://developers.facebook.com/docs/marketing-api/reference/v21.0).

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

## Partitionierung von Abfragen
<a name="instagram-ads-reading-partitioning-queries"></a>

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 dieses DateTime Feld akzeptieren wir das Spark-Zeitstempelformat, das in Spark-SQL-Abfragen verwendet wird.

  Beispiel für gültigen Wert:

  ```
  "2022-01-01T00:00:00.000Z"
  ```
+ `UPPER_BOUND`: ein **exklusiver Obergrenzwert** des ausgewählten Partitionsfelds.

  Beispiele für gültigen Wert:

  ```
  "2024-01-02T00:00:00.000Z"
  ```
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
instagramADs_read = glueContext.create_dynamic_frame.from_options(
    connection_type="instagramads",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v20.0",
        "PARTITION_FIELD": "created_time"
        "LOWER_BOUND": "2022-01-01T00:00:00.000Z"
        "UPPER_BOUND": "2024-01-02T00:00:00.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Verbindungsoptionen für Instagram Ads
<a name="instagram-ads-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Instagram Ads aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Instagram Ads.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der Graph-API von Instagram Ads, die Sie verwenden möchten. Beispiel: v21.
+ `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 und Hinweise für den Instagram-Ads-Connector
<a name="instagram-ads-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den Instagram-Ads-Connector:
+ Die Anzahl der Anrufe einer App ist die Anzahl der Anrufe, die ein Benutzer innerhalb eines fortlaufenden einstündigen Zeitfensters tätigen kann, 200 multipliziert mit der Anzahl der Benutzer. Einzelheiten zu den Ratenlimits finden Sie unter [Ratenlimits](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/) und [Ratenlimits für geschäftliche Anwendungsfälle](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/#buc-rate-limits).

# Herstellen einer Verbindung mit Intercom in AWS Glue Studio
<a name="connecting-to-data-intercom"></a>

 Intercom ist das Engagement OS, ein offener Kanal zwischen Ihrem Unternehmen und Ihren Kunden – im Produkt, im Moment und zu deren Bedingungen –, der einen kontinuierlichen Dialog schafft, mit dem Sie jede Interaktion während der Customer Journey optimal nutzen können. 

**Topics**
+ [AWS Glue Unterstützung für Intercom](intercom-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](intercom-configuring-iam-permissions.md)
+ [Konfigurieren von Intercom](intercom-configuring.md)
+ [Konfiguration von Intercom-Verbindungen](intercom-configuring-connections.md)
+ [Lesen aus Intercom-Entitäten](intercom-reading-from-entities.md)
+ [Intercom-Verbindungsoptionen](intercom-connection-options.md)
+ [Einschränkungen](intercom-limitations.md)
+ [Erstellen eines neuen Intercom-Kontos und Konfigurieren der Client-App](intercom-new-account-creation.md)

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

AWS Glue unterstützt Intercom wie folgt:

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

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

**Unterstützte Intercom-API-Versionen**  
 v2.5. Informationen zur versionsspezifischen Unterstützung von Entitäten finden Sie unter [Lesen aus Intercom-Entitäten](intercom-reading-from-entities.md). 

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

 Die folgende Beispielrichtlinie beschreibt die erforderlichen -IAM-Berechtigungen für die Erstellung und Verwendung 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 und Amazon EC2. Amazon CloudWatch Logs 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 Intercom
<a name="intercom-configuring"></a>

Bevor Sie die Übertragung von Intercom verwenden AWS Glue können, müssen Sie die folgenden Anforderungen erfüllen:

## Mindestanforderungen
<a name="intercom-configuring-min-requirements"></a>
+  Sie haben ein Intercom-Konto. Weitere Informationen finden Sie unter [Erstellen eines neuen Intercom-Kontos und Konfigurieren der Client-App](intercom-new-account-creation.md). 
+  Ihr Intercom-Konto ist für den API-Zugriff aktiviert. 
+  Unter dem Intercom-Entwicklerkonto sollten Sie über eine App verfügen, die die Kundenanmeldedaten bereitstellt, mit AWS Glue denen Sie sicher auf Ihre Daten zugreifen können, wenn authentifizierte Anrufe an Ihr Konto getätigt werden. Weitere Informationen finden Sie unter „Intercom – Schritte zur Erstellung eines neuen Kontos einer Client-App“. 

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

# Konfiguration von Intercom-Verbindungen
<a name="intercom-configuring-connections"></a>

 Intercom unterstützt den `AUTHORIZATION_CODE` Zuschusstyp für OAuth 2. 

 Dieser Zuweisungstyp wird als „dreibeiniges“ angesehen, OAuth da er darauf angewiesen ist, 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 Die AWS Glue Konsole leitet den Nutzer zu Google Ads weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Intercom-Instanz gewähren muss. 

 Benutzer sollten beim Herstellen von Verbindungen über die AWS Glue Konsole ihre eigene Client-ID und ihr eigenes Client-Geheimnis angeben. In diesem Szenario werden sie weiterhin zu Intercom weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 

 Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden. 

 Weitere Informationen zum Erstellen einer verbundenen App für den Authorization Code OAuth Flow findest du unter [Ads](https://developers.intercom.com/building-apps/docs/setting-up-oauth) API. 

Konfigurieren einer Intercom-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 App-Zugriffstoken, das Aktualisierungstoken, client\$1id und client\$1secret enthalten. 

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** Intercom aus.

   1. Stellen Sie die Intercom-Umgebung bereit.

   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.  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 Intercom-Entitäten
<a name="intercom-reading-from-entities"></a>

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

 **Unterstützte Entitäten** 


| Entität | API\$1VVersion | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | --- | 
| Administratoren | v2.5 | Nein | Nein | Nein | Ja | Nein | 
| Unternehmen | v2.5 | Nein | Ja | Nein | Ja | Nein | 
| Konversationen | v2.5 | Ja | Ja | Ja | Ja | Ja | 
| Datenattribute | v2.5 | Nein | Nein | Nein | Ja | Nein | 
| Kontakte | v2.5 | Ja | Ja | Ja | Ja | Ja | 
| Segmente | v2.5 | Nein | Nein | Nein | Ja | Nein | 
| Tags (Markierungen) | v2.5 | Nein | Nein | Nein | Ja | Nein | 
| Teams | v2.5 | Nein | Nein | Nein | Ja | Nein | 

 **Beispiel** 

```
Intercom_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Intercom",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "company",
        "API_VERSION": "V2.5"
    }
)
```

 **Intercom-Entitäts- und Felddetails** 


| Entität | Feld | Datentyp | Unterstützte Operatoren | 
| --- | --- | --- | --- | 
| Administratoren | type | Zeichenfolge | N/A | 
| Administratoren | id | Zeichenfolge | N/A | 
| Administratoren | avatar | Struct | N/A | 
| Administratoren | Name | Zeichenfolge | N/A | 
| Administratoren | E-Mail | Zeichenfolge | N/A | 
| Administratoren | away\$1mode\$1enabled | Boolesch | N/A | 
| Administratoren | away\$1mode\$1reassign | Boolesch | N/A | 
| Administratoren | has\$1inbox\$1seat | Boolesch | N/A | 
| Administratoren | teams\$1ids | Auflisten | N/A | 
| Administratoren | job\$1title | Zeichenfolge | N/A | 
| Unternehmen | type | Zeichenfolge | N/A | 
| Unternehmen | id | Zeichenfolge | N/A | 
| Unternehmen | app\$1id | Zeichenfolge | N/A | 
| Unternehmen | created\$1at | DateTime | N/A | 
| Unternehmen | remote\$1created\$1at | DateTime | N/A | 
| Unternehmen | updated\$1at | DateTime | N/A | 
| Unternehmen | last\$1request\$1at | DateTime | N/A | 
| Unternehmen | plan | Struct | N/A | 
| Unternehmen | company\$1id | Zeichenfolge | N/A | 
| Unternehmen | Name | Zeichenfolge | N/A | 
| Unternehmen | custom\$1attributes | Struct | N/A | 
| Unternehmen | session\$1count | Ganzzahl | N/A | 
| Unternehmen | monthly\$1spend | Ganzzahl | N/A | 
| Unternehmen | user\$1count | Ganzzahl | N/A | 
| Unternehmen | industry | Zeichenfolge | N/A | 
| Unternehmen | size | Ganzzahl | N/A | 
| Unternehmen | website | Zeichenfolge | N/A | 
| Unternehmen | tags | Struct | N/A | 
| Unternehmen | segments | Struct | N/A | 
| Kontakte | id | Zeichenfolge | EQUAL\$1TO.NOT\$1EQUAL\$1TO | 
| Kontakte | type | Zeichenfolge | N/A | 
| Kontakte | workspace\$1id | Zeichenfolge | N/A | 
| Kontakte | external\$1id | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | role | Zeichenfolge | EQUAL\$1TO.NOT\$1EQUAL\$1TO | 
| Kontakte | E-Mail | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | phone | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | Name | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | avatar | Zeichenfolge | N/A | 
| Kontakte | owner\$1id | Ganzzahl | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Kontakte | social\$1profiles | Struct | N/A | 
| Kontakte | has\$1hard\$1bounced | Boolesch | EQUAL\$1TO | 
| Kontakte | marked\$1email\$1as\$1spam | Boolesch | EQUAL\$1TO | 
| Kontakte | unsubscribed\$1from\$1emails | Boolesch | EQUAL\$1TO | 
| Kontakte | created\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Kontakte | updated\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Kontakte | signed\$1up\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Kontakte | last\$1seen\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Kontakte | last\$1replied\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Kontakte | last\$1contacted\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Kontakte | last\$1email\$1opened\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Kontakte | last\$1email\$1clicked\$1at | DateTime | EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Kontakte | language\$1override | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | Browser | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | browser\$1version | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | browser\$1language | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | os | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | location | Struct | N/A | 
| Kontakte | location\$1country | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | location\$1region | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | location\$1city | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | android\$1app\$1name | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | android\$1app\$1version | Zeichenfolge | N/A | 
| Kontakte | android\$1device | Zeichenfolge | N/A | 
| Kontakte | android\$1os\$1version | Zeichenfolge | N/A | 
| Kontakte | android\$1sdk\$1version | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | android\$1last\$1seen\$1at | Date | N/A | 
| Kontakte | ios\$1app\$1name | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | ios\$1app\$1version | Zeichenfolge | N/A | 
| Kontakte | ios\$1device | Zeichenfolge | N/A | 
| Kontakte | ios\$1os\$1version | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | ios\$1sdk\$1version | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontakte | ios\$1last\$1seen\$1at | DateTime | N/A | 
| Kontakte | custom\$1attributes | Struct | N/A | 
| Kontakte | tags | Struct | N/A | 
| Kontakte | notes | Struct | N/A | 
| Kontakte | companies | Struct | N/A | 
| Kontakte | unsubscribed\$1from\$1sms | Boolesch | N/A | 
| Kontakte | sms\$1consent | Boolesch | N/A | 
| Kontakte | opted\$1out\$1subscription\$1types | Struct | N/A | 
| Kontakte | referrer | Zeichenfolge | N/A | 
| Kontakte | utm\$1campaign | Zeichenfolge | N/A | 
| Kontakte | utm\$1content | Zeichenfolge | N/A | 
| Kontakte | utm\$1medium | Zeichenfolge | N/A | 
| Kontakte | utm\$1source | Zeichenfolge | N/A | 
| Kontakte | utm\$1term | Zeichenfolge | N/A | 
| Konversationen | type | Zeichenfolge | N/A | 
| Konversationen | id | Ganzzahl | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | created\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | updated\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | Quelle | Struct | N/A | 
| Konversationen | source\$1id | Zeichenfolge | EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | source\$1type | Zeichenfolge | EQUAL\$1TO, NOT\$1EQUAL\$1TO, | 
| Konversationen | source\$1delivered\$1as | Zeichenfolge | EQUAL\$1TO, NOT\$1EQUAL\$1TO, | 
| Konversationen | source\$1subject | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | source\$1body | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | source\$1author\$1id | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | source\$1author\$1type | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | source\$1author\$1name | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | source\$1author\$1email | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | source\$1url | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | Kontakte | Struct | N/A | 
| Konversationen | teammates | Struct | N/A | 
| Konversationen | Titel | Zeichenfolge | N/A | 
| Konversationen | admin\$1assignee\$1id | Ganzzahl | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | team\$1assignee\$1id | Ganzzahl | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | custom\$1attributes | Struct | N/A | 
| Konversationen | geöffnet | Boolesch | EQUAL\$1TO | 
| Konversationen | state | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | read | Boolesch | EQUAL\$1TO | 
| Konversationen | waiting\$1since | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | snoozed\$1until | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | tags | Struct | N/A | 
| Konversationen | first\$1contact\$1reply | Struct | N/A | 
| Konversationen | priority | Zeichenfolge | EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | topics | Struct | N/A | 
| Konversationen | sla\$1applied | Struct | N/A | 
| Konversationen | conversation\$1rating | Struct | N/A | 
| Konversationen | conversation\$1rating\$1requested\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | conversation\$1rating\$1replied\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | conversation\$1rating\$1score | Ganzzahl | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | conversation\$1rating\$1remark | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | conversation\$1rating\$1contact\$1id | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | conversation\$1rating\$1admin\$1id | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | statistics | Struct | N/A | 
| Konversationen | statistics\$1time\$1to\$1assignment | Ganzzahl | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1time\$1to\$1admin\$1reply | Ganzzahl | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1time\$1to\$1first\$1close | Ganzzahl | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1time\$1to\$1last\$1close | Ganzzahl | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1median\$1time\$1to\$1reply | Ganzzahl | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1first\$1contact\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1first\$1assignment\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1first\$1admin\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1first\$1close\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1last\$1assignment\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1last\$1assignment\$1admin\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1last\$1contact\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1last\$1admin\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1last\$1close\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1last\$1closed\$1by\$1id | Zeichenfolge | CONTAINS, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Konversationen | statistics\$1count\$1reopens | Ganzzahl | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1count\$1assignments | Ganzzahl | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | statistics\$1count\$1conversation\$1parts | Ganzzahl | EQUAL\$1TO, NOT\$1EQUAL\$1TO, GREATER\$1THAN, LESS\$1THAN | 
| Konversationen | conversation\$1parts | Auflisten | N/A | 
| Datenattribute | id | Ganzzahl | N/A | 
| Datenattribute | type | Zeichenfolge | N/A | 
| Datenattribute | model | Zeichenfolge | N/A | 
| Datenattribute | Name | Zeichenfolge | N/A | 
| Datenattribute | full\$1name | Zeichenfolge | N/A | 
| Datenattribute | Bezeichnung | Zeichenfolge | N/A | 
| Datenattribute | description | Zeichenfolge | N/A | 
| Datenattribute | data\$1type | Zeichenfolge | N/A | 
| Datenattribute | options | Auflisten | N/A | 
| Datenattribute | api\$1writable | Boolesch | N/A | 
| Datenattribute | ui\$1writable | Boolesch | N/A | 
| Datenattribute | benutzerdefiniert | Boolesch | N/A | 
| Datenattribute | archived | Boolesch | N/A | 
| Datenattribute | created\$1at | Boolesch | N/A | 
| Datenattribute | updated\$1at | DateTime | N/A | 
| Datenattribute | admin\$1id | Zeichenfolge | N/A | 
| Segmente | type | Zeichenfolge | N/A | 
| Segmente | id | Zeichenfolge | N/A | 
| Segmente | Name | Zeichenfolge | N/A | 
| Segmente | created\$1at | DateTime | N/A | 
| Segmente | updated\$1at | DateTime | N/A | 
| Segmente | person\$1type | Zeichenfolge | N/A | 
| Segmente | count | Ganzzahl | N/A | 
| Tags (Markierungen) | type | Zeichenfolge | N/A | 
| Tags (Markierungen) | id | Zeichenfolge | N/A | 
| Tags (Markierungen) | Name | Zeichenfolge | N/A | 
| Teams | type | Zeichenfolge | N/A | 
| Teams | id | Zeichenfolge | N/A | 
| Teams | Name | Zeichenfolge | N/A | 
| Teams | admin\$1ids | Auflisten | N/A | 

 **Partitionierung von Abfragen** 

 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. 

 Details zur Unterstützung von Feldern für die entitätsbezogene Partitionierung sind in der folgenden Tabelle aufgeführt. 


| Entity Name | Partitionierungsfeld | Datentyp | 
| --- | --- | --- | 
| Kontakte | created\$1at, updated\$1at, last\$1seen\$1at | DateTime | 
| Konversationen | id | Ganzzahl | 
| Konversationen | created\$1at, updated\$1at | DateTime | 

 **Beispiel** 

```
Intercom_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Intercom",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "conversation",
        "API_VERSION": "V2.5",
        "PARTITION_FIELD": "created_at"
        "LOWER_BOUND": "2022-07-13T07:55:27.065Z"
        "UPPER_BOUND": "2022-08-12T07:55:27.065Z"
        "NUM_PARTITIONS": "2"
    }
)
```

# Intercom-Verbindungsoptionen
<a name="intercom-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Intercom aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Intercom. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der Intercom-REST-API, die Sie verwenden möchten. Beispiel: v2.5. 
+  `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) – URL der Instance, in der der Benutzer die Vorgänge ausführen möchte. Zum Beispiel: [https://api.intercom.io](https://api.intercom.io). 

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

Die folgenden Einschränkungen gelten für den Intercom-Connector:
+  Wenn Sie die Entität „Unternehmen“ verwenden, können höchstens 10 000 Unternehmen zurückgegeben werden. Weitere Informationen finden Sie unter [API zum Auflisten aller Unternehmen](https://developers.intercom.com/docs/references/2.5/rest-api/companies/list-companies). 
+  Bei der Anwendung von „Sortieren nach“ ist der Filter sowohl für die Entitäten **Kontakt** als auch für **Konversation** obligatorisch. 
+  MCA wird vom SaaS-Anbieter unterstützt. Aufgrund der in der Dokumentation genannten API-Ratenbegrenzungen werden wir MCA jedoch nicht hosten, AWS Glue da dies andere Workloads beeinträchtigen und aufgrund von Ressourcenengpässen möglicherweise zu Leistungsproblemen führen kann. 

# Erstellen eines neuen Intercom-Kontos und Konfigurieren der Client-App
<a name="intercom-new-account-creation"></a>

**Erstellen eines Intercom-Kontos**

1. Wählen Sie die [Intercom-URL](https://app.intercom.com/) und dann rechts oben auf der Seite die Option **Meine kostenlose Testversion starten** aus.

1. Wählen Sie in der rechten oberen Ecke der Seite die Schaltfläche **Kostenlos testen**.

1. Wählen Sie den Unternehmenstyp, den Sie benötigen. 

1. Geben Sie auf der Seite alle angeforderten Informationen ein.

1. Nachdem Sie alle Informationen eingegeben haben, wählen Sie **Registrieren** aus.



**Erstellen einer Intercom-Entwickler-App**

Um die **Client-ID** und das **Client-Geheimnis** zu erhalten, erstellen Sie ein Entwicklerkonto.

1. Navigiere zu [https://app.intercom.com/](https://app.intercom.com/).

1. Geben Sie die E-Mail-ID und das Passwort ein oder melden Sie sich mit Ihrem Google-Konto an und melden Sie sich an.

1. Wählen Sie unten links **Benutzerprofil** und dann „Einstellungen“ aus.

1. Wählen Sie **Apps & Integration** aus.

1. Wählen Sie unter **Apps & Integration** die Registerkarte **Developer Hub** aus.

1. Wählen Sie **Neue App** aus und erstellen Sie die App hier.

1. Geben Sie den Namen der App ein und wählen Sie **App erstellen** aus.

1. Navigieren Sie in der App zum Abschnitt **Authentifizierung**.

1. Wähle „**Bearbeiten“ und „**Weiterleitung URIs hinzufügen“. Fügen Sie Ihre regionsspezifische Weiterleitungs-URL als `https://<aws-region>.console.aws.amazon.com/gluestudio/oauth` hinzu. Fügen Sie zum Beispiel `https://us-east-1.console.aws.amazon.com/gluestudio/oauth for the us-east-1 region` hinzu.

1. Rufen Sie die generierte **Client-ID** und das **Client-Geheimnis** im Abschnitt mit den grundlegenden Informationen ab.

# Herstellen einer Verbindung mit Jira Cloud
<a name="connecting-to-data-jira-cloud"></a>

Jira Cloud ist eine von Atlassian entwickelte Plattform. Die Plattform umfasst Produkte zur Problemverfolgung, mit denen Teams ihre Agile-Projekte planen und verfolgen können. Als Jira-Cloud-Benutzer enthält Ihr Konto Daten zu Ihren Projekten, wie z. B. Probleme, Workflows und Ereignisse. Sie können AWS Glue es verwenden, um Ihre Jira Cloud-Daten an bestimmte AWS Dienste oder andere unterstützte Anwendungen zu übertragen.

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

# AWS Glue Unterstützung für Jira Cloud
<a name="jira-cloud-support"></a>

AWS Glue unterstützt Jira Cloud wie folgt:

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

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

**Unterstützte Versionen der Jira-Cloud-API**  
Die folgenden Versionen der Jira-Cloud-API werden unterstützt:
+ v3

Informationen zur versionsspezifischen Unterstützung von Entitäten finden Sie unter [Lesen aus Jira-Cloud-Entitäten](jira-cloud-reading-from-entities.md). 

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

Bevor du Daten von Jira Cloud AWS Glue an unterstützte Ziele übertragen kannst, musst du die folgenden Anforderungen erfüllen:

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Atlassian-Konto, mit dem Sie das Jira-Softwareprodukt in Jira Cloud verwenden. Weitere Informationen finden Sie unter [Erstellen eines Jira-Cloud-Kontos](#jira-cloud-configuring-creating-jira-cloud-account).
+ Sie müssen ein AWS Konto mit dem Servicezugriff auf AWS Glue erstellt haben.
+ Diese App stellt die Kundenanmeldedaten bereit, die für den sicheren Zugriff auf Ihre Daten AWS Glue verwendet werden, wenn authentifizierte Anrufe an Ihr Konto getätigt werden. Weitere Informationen findest du unter [Enabling OAuth 2.0 (3LO)](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/#enabling-oauth-2-0--3lo-) in der Atlassian Developer-Dokumentation.

Wenn du diese Anforderungen erfüllst, bist du bereit, dich mit deinem Jira AWS Glue Cloud-Konto zu verbinden.

## Erstellen eines Jira-Cloud-Kontos
<a name="jira-cloud-configuring-creating-jira-cloud-account"></a>

So erstellen Sie ein Jira-Cloud-Konto:

1. Rufen Sie die [Registrierungsseite von Atlassian](https://id.atlassian.com/signup) auf.

1. Geben Sie Ihre geschäftliche E-Mail-Adresse und Ihren Namen ein und wählen Sie **Zustimmen** aus. Sie erhalten eine Bestätigungs-E-Mail.

1. Nachdem Sie Ihre E-Mail-Adresse bestätigt haben, können Sie ein Passwort erstellen und sich **registrieren**.

1. Geben Sie Ihren Namen und Ihr Passwort ein und wählen Sie **Registrieren**.

1. Sie werden auf eine Seite umgeleitet, auf der Sie Ihre Site eingeben müssen. Geben Sie einen Site-Namen ein und wählen Sie **Zustimmen**.

Sobald Ihre Atlassian-Cloud-Site gestartet ist, können Sie Jira einrichten, indem Sie einige Fragen zu Ihren Projektpräferenzen beantworten.

Anmelden bei einem bestehenden Konto:

1. Rufen Sie die [Anmeldeseite von Atlassian](https://id.atlassian.com/login) auf und geben Sie Ihre Anmeldeinformationen ein.

1. Geben Sie E-Mail-Adresse und Passwort ein und klicken Sie auf **Anmelden**. Sie werden zum Jira-Dashboard umgeleitet.

## Erstellen einer App in Ihrer Jira Cloud
<a name="jira-cloud-configuring-creating-jira-cloud-app"></a>

So erstellen Sie eine App in Jira Cloud und erhalten die Client-ID und den geheimen Client-Schlüssel aus der verwalteten Client-App:

1. Rufen Sie [Jira Cloud](https://id.atlassian.com/login) auf und geben Sie Ihre Anmeldeinformationen ein.

1. Wählen Sie **Erstellen** und wählen Sie die **OAuth 2.0-Integrationsoption**.

1. Geben Sie den Namen der App ein, akzeptieren Sie die **AGB** und wählen Sie **Erstellen**.

1. Navigieren Sie zum Abschnitt **Verteilung** im linken Menü und wählen Sie **Bearbeiten**.

1. Im Abschnitt **Verteilungseinstellungen bearbeiten**:

   1. Legen Sie als **VERTEILUNGSSTATUS** die Option **Teilen** aus.

   1. Geben Sie den Namen des Anbieters ein.

   1. Geben Sie die URL für Ihre **Datenschutzrichtlinie** ein. Zum Beispiel https://docs.aws.amazon.com/glue/ latest/dg/security -iam-awsmanpol.html

   1. Geben Sie die URL für Ihre **Nutzungsbedingungen** ein (optional).

   1. Geben Sie die URL für Ihren **Kundensupport-Kontakt** ein (optional).

   1. Wählen Sie Yes/No aus der **ERKLÄRUNG ZU PERSÖNLICHEN DATEN** aus und wählen Sie **Änderungen speichern**.

1. Navigiere im linken Menü für die jeweilige App zu **Berechtigungen**.

1. Wählen Sie für **Jira API** die Option **Hinzufügen** aus. Wählen Sie nach dem Hinzufügen die Option **Konfiguration**.

1. Wählen Sie im Abschnitt **Klassische Bereiche** > **Jira-Plattform-REST-API** die Option **Bereiche bearbeiten** aus und markieren Sie alle Bereiche. Klicken Sie auf **Speichern**.

1. Wählen Sie unter **Detaillierte Bereiche** die Option **Bereiche bearbeiten** und dann die folgenden Bereiche aus:

1. Scrollen Sie nach unten und suchen Sie nach Bereichen. Es gibt zwei Arten von Bereichen, die Sie unter den Überschriften „CRM“ und „Standard“ auswählen müssen.

1. Fügen Sie die folgenden Bereiche hinzu:

   ```
   read:application-role:jira
   read:audit-log:jira
   read:avatar:jira
   read:field:jira
   read:group:jira
   read:instance-configuration:jira
   read:issue-details:jira
   read:issue-event:jira
   read:issue-link-type:jira
   read:issue-meta:jira
   read:issue-security-level:jira
   read:issue-security-scheme:jira
   read:issue-type-scheme:jira
   read:issue-type-screen-scheme:jira
   read:issue-type:jira
   read:issue.time-tracking:jira
   read:label:jira
   read:notification-scheme:jira
   read:permission:jira
   read:priority:jira
   read:project:jira
   read:project-category:jira
   read:project-role:jira
   read:project-type:jira
   read:project-version:jira
   read:project.component:jir
   read:project.property:jira
   read:resolution:jira
   read:screen:jira
   read:status:jira
   read:user:jira
   read:workflow-scheme:jira
   read:workflow:jira
   read:field-configuration:jira
   read:issue-type-hierarchy:jira
   read:webhook:jira
   ```

1. Navigieren Sie im linken Menü zu **Authentifizierung** und wählen Sie **Hinzufügen**.

1. Geben Sie eine **Callback-URL wie https://us-east-1.console.aws.amazon.com/gluestudio/ oauth** ein

1. Navigieren Sie im linken Menü zu **Einstellungen** und scrollen Sie nach unten zu den **Authentifizierungsdetails**. Notieren Sie die Client-ID und den geheimen Schlüssel.

# Konfigurieren von Jira-Cloud-Verbindungen
<a name="jira-cloud-configuring-connections"></a>

Jira Cloud unterstützt den Grant-Typ AUTHORIZATION\$1CODE für. OAuth2
+ Dieser Zuschusstyp 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 Jira Cloud weiter, wo er sich anmelden und die angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Jira Cloud-Instanz gewähren muss.
+ Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in Jira Cloud 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 Jira Cloud weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.
+ Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.
+ Eine öffentliche Jira Cloud-Dokumentation zur Erstellung einer verbundenen App für den Authorization Code OAuth Flow findest du unter [Enabling OAuth 2.0 (](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/#enabling-oauth-2-0--3lo-)3LO).

Konfigurieren einer Jira-Cloud-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 das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten.

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

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** Jira Cloud aus.

   1. Stellen Sie die Jira-Cloud-Umgebung bereit.

   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 Jira-Cloud-Entitäten
<a name="jira-cloud-reading-from-entities"></a>

**Voraussetzung**

Ein Jira-Cloud-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen wie Prüfungsunterlagen oder Problem. Die folgende Tabelle zeigt die unterstützten Entitäten.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Prüfungsaufzeichnung | Ja | Ja | Nein | Ja | Ja | 
| Problem | Ja | Ja | Nein | Ja | Ja | 
| Problem-Feld | Nein | Nein | Nein | Ja | Nein | 
| Problem-Feldkonfiguration | Ja | Ja | Nein | Ja | Ja | 
| Problem-Linktyp | Nein | Nein | Nein | Ja | Nein | 
| Problem-Benachrichtigungsschema | Ja | Ja | Nein | Ja | Ja | 
| Problem-Sicherheitsschema | Nein | Nein | Nein | Ja | Nein | 
| Problemtyp-Schema | Ja | Ja | Ja | Ja | Ja | 
| Problemtyp-Bildschirmschema | Ja | Ja | Ja | Ja | Ja | 
| Problemtyp | Nein | Nein | Nein | Ja | Nein | 
| Jira-Einstellung | Ja | Nein | Nein | Ja | Nein | 
| Jira-Einstellung Erweitert | Nein | Nein | Nein | Ja | Nein | 
| Jira-Einstellung Global | Nein | Nein | Nein | Ja | Nein | 
| Label (Bezeichnung) | Nein | Nein | Nein | Ja | Ja | 
| Ich selbst | Ja | Nein | Nein | Ja | Nein | 
| Berechtigung | Nein | Nein | Nein | Ja | Nein. | 
| Projekt | Ja | Ja | Ja | Ja | Ja | 
| Projektkategorie | Nein | Nein | Nein | Ja | Nein | 
| Projekttyp | Nein | Nein | Nein | Ja | Nein | 
| Server-Info | Nein | Nein | Nein | Ja | Nein | 
| Benutzer | Nein | Nein | Nein. | Ja | Nein | 
| Workflow | Ja | Ja | Ja | Ja | Ja | 
| Workflow-Schema | Nein | Ja | Nein | Ja | Ja | 
| Workflow-Schema Projektzuordnung | Ja | Nein | Nein | Ja | Nein | 
| Workflow-Status | Nein | Nein | Nein | Ja | Nein | 
| Workflow-Status-Kategorie | Nein | Nein | Nein | Ja | Nein | 

**Beispiel:**

```
jiracloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="JiraCloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "audit-record",
        "API_VERSION": "v3"
    }
```

**Jira-Cloud-Entität und Felddetails**:

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

## Partitionieren von Abfragen
<a name="jira-cloud-reading-partitioning-queries"></a>

Sie können die zusätzliche Spark-Option `NUM_PARTITIONS` angeben, wenn Sie Parallelität in Spark nutzen möchten. Mit diesem Parameter würde die ursprüngliche Abfrage in `NUM_PARTITIONS` Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
jiraCloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="JiraCloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "issue",
        "API_VERSION": "v3",
        "NUM_PARTITIONS": "10"
    }
```

# Verbindungsoptionen für Jira Cloud
<a name="jira-cloud-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Jira Cloud aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Jira Cloud.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der REST-API von Jira Cloud, die Sie verwenden möchten. Zum Beispiel: v3.
+ `DOMAIN_URL`(Zeichenfolge) – (Erforderlich) Die Jira-Cloud-ID, 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.
+ `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen.

# Einschränkungen und Hinweise für den Jira-Cloud-Connector
<a name="jira-cloud-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den Jira-Cloud-Connector:
+  Der `Contains` Operator funktioniert nicht mit dem `resourceName` Feld, das vom `String` Datentyp ist. 
+  Wenn kein expliziter Filter angewendet wird, werden standardmäßig nur Probleme der letzten 30 Tage gecrawlt. Benutzer haben die Möglichkeit, diesen Standardfilter zu überschreiben, indem sie einen benutzerdefinierten Filter angeben. 

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

Kustomer ist eine leistungsstarke Plattform für Kundenerlebnisse, die alles, was Sie benötigen, um Ihre Kunden besser bedienen zu können, in einem easy-to-use Tool vereint.

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

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

AWS Glue unterstützt Kustomer wie folgt:

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

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

**Unterstützte Kustomer-API-Versionen**  
Die folgenden Kustomer-API-Versionen werden unterstützt:
+ v1

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

Bevor Sie Daten von Kustomer AWS Glue an unterstützte Ziele übertragen können, müssen Sie die folgenden Anforderungen erfüllen:

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Konto bei Kustomer, das die Daten enthält, die Sie übertragen möchten. 
+ In den Einstellungen für Ihr Konto haben Sie einen API-Schlüssel erstellt. Weitere Informationen finden Sie unter [Erstellen eines API-Schlüssels](#kustomer-configuring-creating-an-api-key).
+ Sie geben den API-Schlüssel für an, AWS Glue während Sie die Verbindung herstellen.

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

## Erstellen eines API-Schlüssels
<a name="kustomer-configuring-creating-an-api-key"></a>

Um einen API-Schlüssel zu erstellen, mit dem Sie eine Verbindung für den Kustomer-Connector in AWS Glue Studio herstellen, gehen Sie wie folgt vor:

1. Melden Sie sich mit [Ihren Anmeldeinformationen beim Kustomer-Dashboard](https://amazon-appflow.kustomerapp.com/login) an.

1. Wählen Sie auf der linken Seite das Symbol **Einstellungen** aus.

1. Erweitern Sie das Drop-down-Menü **Sicherheit** und wählen Sie **API-Schlüssel** aus.

1. Wählen Sie auf der Seite zur Erstellung des API-Schlüssels oben rechts die Option **API-Schlüssel hinzufügen** aus.

1. Machen Sie die obligatorischen Eingaben für den API-Schlüssel, der erstellt wird.
   + Name: Ein beliebiger Name für Ihren API-Schlüssel.
   + Rollen: 'org' muss ausgewählt werden, damit der Kustomer funktioniert APIs .
   + Läuft ab (in Tagen): Die Anzahl der Tage, für die der API-Schlüssel gültig sein soll. Sie können den Wert **Läuft nie ab** beibehalten, wenn er für Ihren Anwendungsfall geeignet ist.

1. Wählen Sie **Erstellen** aus.

1. Speichern Sie den Wert des API-Schlüssels (Token) zur weiteren Verwendung, um eine Verbindung für den Kustomer-Connector in AWS Glue Studio herzustellen.

# Konfiguration von Kustomer-Verbindungen
<a name="kustomer-configuring-connections"></a>

Konfigurieren einer Kustomer-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 das Verbrauchergeheimnis der verbundenen App mit `apiKey` 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 unter **Verbindungen** die Option **Verbindung erstellen** aus.

   1. Wählen Sie bei der Auswahl einer **Datenquelle** Kustomer 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 Kustomer-Entitäten
<a name="kustomer-reading-from-entities"></a>

**Voraussetzung**

Ein Kustomer-Objekt, aus dem Sie lesen möchten. Sie benötigen den Objektnamen wie Marken oder Karten. Die folgende Tabelle zeigt die unterstützten Entitäten.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Marken | Nein | Ja | Nein | Ja | Nein | 
| Karten | Nein | Ja | Nein | Ja | Nein | 
| Chat-Einstellungen | Nein | Nein | Nein | Ja | Nein | 
| Unternehmen | Ja | Ja | Ja | Ja | Ja | 
| Konversationen | Ja | Ja | Ja | Ja | Ja | 
| Kunden | Ja | Ja | Ja | Ja | Ja | 
| Kundensuchanfragen angeheftet | Nein | Ja | Nein | Ja | Nein | 
| Kundensuchanfragen Position | Nein | Nein | Nein | Ja | Nein | 
| E-Mail-Hooks | Nein | Ja | Nein | Ja | Nein | 
| Web-Hooks | Nein | Ja | Nein | Ja | Nein | 
| KB-Artikel | Nein | Ja | Nein | Ja | Nein | 
| KB-Kategorien | Nein | Ja | Nein | Ja | Nein | 
| KB-Formulare | Nein | Ja | Nein | Ja | Nein | 
| KB-Routen | Nein | Ja | Nein | Ja | Nein | 
| KB-Tags | Nein | Ja | Nein | Ja | Nein | 
| KB-Vorlagen | Nein | Ja | Nein | Ja | Nein | 
| KB-Themes | Nein | Ja | Nein | Ja | Nein | 
| Klassen | Nein | Ja | Nein | Ja | Nein | 
| KViews | Nein | Ja | Nein | Ja | Nein | 
| Nachrichten | Ja | Ja | Ja | Ja | Ja | 
| Hinweise | Ja | Ja | Ja | Ja | Ja | 
| Benachrichtigungen | Nein | Ja | Nein | Ja | Nein | 

**Beispiel:**

```
Kustomer_read = glueContext.create_dynamic_frame.from_options(
    connection_type="kustomer",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "brands",
        "API_VERSION": "v1"
    }
```

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

Weitere Informationen zu den Entitäten und Felddetails finden Sie unter:
+ [Marken](https://api.kustomerapp.com/v1/brands)
+ [Karten](https://api.kustomerapp.com/v1/cards)
+ [Chat-Einstellungen](https://api.kustomerapp.com/v1/chat/settings)
+ [Unternehmen](https://api.kustomerapp.com/v1/companies)
+ [Konversationen](https://api.kustomerapp.com/v1/conversations)
+ [Kunden](https://api.kustomerapp.com/v1/customers)
+ [Kundensuchanfragen angeheftet](https://api.kustomerapp.com/v1/customers/searches/pinned)
+ [Kundensuchanfragen Positionen](https://api.kustomerapp.com/v1/customers/searches/positions)
+ [Hooks E-Mail](https://api.kustomerapp.com/v1/hooks/email)
+ [Hooks Web](https://api.kustomerapp.com/v1/hooks/web)
+ [KB-Artikel](https://api.kustomerapp.com/v1/kb/articles)
+ [KB-Kategorien](https://api.kustomerapp.com/v1/kb/categories)
+ [KB-Formulare]( https://api.kustomerapp.com/v1/kb/forms)
+ [KB-Routen](https://api.kustomerapp.com/v1/kb/routes)
+ [KB-Tags](https://api.kustomerapp.com/v1/kb/tags)
+ [KB-Vorlagen](https://api.kustomerapp.com/v1/kb/templates)
+ [KB-Themes](https://api.kustomerapp.com/v1/kb/themes)
+ [Klassen](https://api.kustomerapp.com/v1/klasses)
+ [K-Ansichten](https://api.kustomerapp.com/v1/kviews)
+ [Nachrichten](https://api.kustomerapp.com/v1/messages)
+ [Hinweise](https://api.kustomerapp.com/v1/notes)
+ [Benachrichtigungen](https://api.kustomerapp.com/v1/notifications)

Kustomer-API v1

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

## Partitionieren von Abfragen
<a name="kustomer-reading-from-partitioning"></a>

**Feldbasierte Partitionierung**

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 den Wert im ISO-Format.

  Beispiel für gültigen Wert:

  ```
  "2023-01-15T11:18:39.205Z"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Details zur Unterstützung von Feldern für die entitätsbezogene Partitionierung sind in der folgenden Tabelle aufgeführt.

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

Beispiel:

```
Kustomer_read = glueContext.create_dynamic_frame.from_options(
    connection_type="kustomer",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "conversation",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "createdAt"
        "LOWER_BOUND": "2023-01-15T11:18:39.205Z"
        "UPPER_BOUND": "2023-02-15T11:18:39.205Z"
        "NUM_PARTITIONS": "2"
    }
```

# Kustomer-Verbindungsoptionen
<a name="kustomer-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Kustomer aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Kustomer.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der Kustomer-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.
+ `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. URL der Kustomer-Instance.

# Einschränkungen von Kustomer
<a name="kustomer-connection-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für Kustomer:
+ Die Entität `Customer Searches` wird nicht unterstützt, da in der Kustomer-API-Dokumentation kein Endpunkt für sie deklariert wurde.
+ Die Filterung und inkrementelle Übertragung auf der Entität `Klasses` wird nicht unterstützt.
+ „Sortieren nach“ kann für mehrere zutreffende Felder in einer einzigen Anfrage unterstützt werden.

  Jedoch wurde beobachtet, dass sich die „Sortieren nach“-Funktion für mehrere Felder bei einigen Kombinationen auf der SaaS-Seite inkonsistent verhält. Das Verhalten ist unvorhersehbar, da es „n“ Kombinationen geben könnte, die zu falschen Sortierergebnissen führen. Beispiel:

  Für die Entität `Customers` führt das Sortieren nach `progressiveStatus desc, name asc` nicht zum richtigen sortierten Ergebnis. Es wird nur anhand der `progressiveStatus`-Reihenfolge sortiert. Wenn ein solches Verhalten beobachtet wird, können Sie ein einzelnes Feld verwenden, nach dem sortiert werden soll.
+ „Sortieren nach“ im Feld „id“ wird nur von den Entitäten `Conversations` und `Messages` als Abfrageparameter unterstützt. Zum Beispiel: https://api.kustomerapp.com/v1/ Gespräche? sort=desc (Sortiert die Ergebnisse nach 'id' in absteigender Reihenfolge.)

  Darüber hinaus wird jeder andere Filter oder jede Bestellung in einem anderen Feld in einen POST-Anforderungstext übersetzt, dessen API-Endpunkt POST https://api.kustomerapp.com/v1/ customers/search lautet. Um die Unterstützung der Sortierung nach 'id' in `Conversations` und zu ermöglichen`Messages`, sollte entweder nur „Nach ID bestellen“ vorhanden sein oder ein beliebiger anderer Filter and/or „Sortieren nach“ in einem anderen zutreffenden Feld.
+ Kustomer ermöglicht das Abrufen von maximal 10 000 Datensätzen, unabhängig davon, ob es sich um eine gefilterte oder eine ungefilterte Anfrage handelt. Aufgrund dieser Einschränkung kommt es bei jeder Entität, die mehr als 10 000 Datensätze umfasst, zu Datenverlust. Es gibt zwei mögliche Workarounds, mit denen Sie dieses Problem teilweise beheben können:
  + Wenden Sie Filter an, um eine bestimmte Gruppe von Datensätzen abzurufen.
  + Wenn mehr als 10 000 Datensätze mit einem angewendeten Filter vorhanden sind, wenden Sie einen aufeinanderfolgenden Filterwert in einer neuen nachfolgenden Anfrage an oder wenden Sie Bereiche in Filtern an. Beispiel: 

    Der Filterausdruck der ersten Anfrage: `modifiedAt >= 2022-03-15T05:26:23.000Z and modifiedAt < 2023-03-15T05:26:23.000Z`.

    Gehen Sie davon aus, dass dadurch das Limit von 10 000 Datensätzen ausgeschöpft ist.

    Eine weitere Anfrage kann mit diesem Filterausdruck ausgelöst werden: `modifiedAt >= 2023-03-15T05:26:23.000Z`.
+ Als SaaS-Verhalten unterstützt der Operator `CONTAINS` in Kustomer nur die Übereinstimmung mit vollständigen Wörtern und keine Teilübereinstimmungen innerhalb eines Wortes. Beispiel: „body CONTAINS ‚test record‘“ findet einen Datensatz, der „test“ im Feld „body“ enthält. „body CONTAINS 'test'“ entspricht jedoch keinem Datensatz, der '' im testAnotherRecord Feld 'body' enthält.

# Verbindung herstellen zu LinkedIn
<a name="connecting-to-linkedin"></a>

LinkedIn ist ein kostenpflichtiges Marketinginstrument, das über verschiedene gesponserte Beiträge und andere Methoden Zugang zu LinkedIn sozialen Netzwerken bietet. LinkedIn ist ein leistungsstarkes Marketinginstrument für B2B-Unternehmen, um Leads zu generieren, Online-Bekanntheit zu erlangen, Inhalte zu teilen und vieles mehr.

**Topics**
+ [AWS Glue Unterstützung für LinkedIn](linkedin-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](linkedin-configuring-iam-permissions.md)
+ [Konfiguration LinkedIn](linkedin-configuring.md)
+ [LinkedIn Verbindungen konfigurieren](linkedin-configuring-connections.md)
+ [Aus LinkedIn Entitäten lesen](linkedin-reading-from-entities.md)
+ [LinkedIn Verbindungsoptionen](linkedin-connection-options.md)
+ [Ein LinkedIn Konto erstellen](linkedin-create-account.md)
+ [Einschränkungen](linkedin-connector-limitations.md)

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

AWS Glue unterstützt LinkedIn wie folgt:

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

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

**Unterstützte LinkedIn API-Versionen**  
** 202.406 (Juni 2024) **

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="linkedin-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": "*"
    }
  ]
}
```

------

Wenn Sie die vorstehende 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, 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. 

# Konfiguration LinkedIn
<a name="linkedin-configuring"></a>

Bevor Sie das Programm AWS Glue für die Übertragung von verwenden können LinkedIn, müssen Sie die folgenden Voraussetzungen erfüllen:

## Mindestanforderungen
<a name="linkedin-configuring-min-requirements"></a>
+ Sie haben ein LinkedIn Konto. Weitere Informationen zum Erstellen eines Kontos finden Sie unter [ LinkedInKonto erstellen](linkedin-create-account.md). 
+ Ihr LinkedIn Konto ist für den API-Zugriff aktiviert. 
+ Sie haben eine `OAuth2 API` Integration in Ihrem LinkedIn Konto erstellt. Diese Integration stellt die Kundenanmeldedaten bereit, die für den sicheren Zugriff auf Ihre Daten AWS Glue verwendet werden, wenn authentifizierte Anrufe an Ihr Konto getätigt werden. Weitere Informationen finden Sie unter [Ein LinkedIn Konto erstellen](linkedin-create-account.md).

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem LinkedIn Konto herstellen. Für typische Verbindungen müssen Sie nichts weiter tun LinkedIn.

# LinkedIn Verbindungen konfigurieren
<a name="linkedin-configuring-connections"></a>

 LinkedIn unterstützt den `AUTHORIZATION_CODE` Zuschusstyp für OAuth2. 

Dieser Gewährungstyp wird als „dreibeiniges“ `OAuth` betrachtet, da er darauf angewiesen ist, dass Benutzer zur Authentifizierung an den Autorisierungsserver eines Drittanbieters weitergeleitet werden. Benutzer können sich dafür entscheiden, ihre eigene verbundene App in zu erstellen LinkedIn und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin weitergeleitet, LinkedIn um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 

Dieser Gewährungstyp führt zu einem Aktualisierungstoken sowie einem Zugriffstoken. Das Zugriffstoken läuft 60 Tage nach seiner Erstellung ab. Ein neues Zugriffstoken kann mit dem Aktualisierungstoken bezogen werden.

Öffentliche LinkedIn Dokumentation zur Erstellung einer verbundenen App für `Authorization Code OAuth` Flow finden Sie unter [Authorization Code Flow ( OAuth3-beinig](https://learn.microsoft.com/en-us/linkedin/shared/authentication/authorization-code-flow?toc=%2Flinkedin%2Fmarketing%2Ftoc.json&bc=%2Flinkedin%2Fbreadcrumb%2Ftoc.json&view=li-lms-2024-07&tabs=HTTPS1)).

**Eine Verbindung konfigurieren LinkedIn**

1.  Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details: 
   + Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 
   + Für AWS verwaltete verbundene Apps — Leeres Geheimnis oder Geheimnis mit einem temporären Wert.
**Anmerkung**  
Sie müssen für jede Verbindung in AWS Glue ein Geheimnis erstellen.

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

   1. Wählen Sie bei der Auswahl eines **Verbindungstyps **LinkedIn****.

   1. Stellen Sie die LinkedIn Umgebung bereit.

   1. Wählen Sie die IAM-Rolle aus, für die AWS Glue Sie die folgenden Aktionen übernehmen können und über Berechtigungen verfügen: 

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

# Aus LinkedIn Entitäten lesen
<a name="linkedin-reading-from-entities"></a>

**Voraussetzungen** 

Ein LinkedIn Objekt, aus dem Sie lesen möchten. 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 | 
| --- | --- | --- | --- | --- | --- | 
| Anzeigenkonto | Ja | Ja | Ja | Ja | Nein | 
| Kampagnen | Ja | Ja | Ja | Ja | Nein | 
| Kampagnengruppen | Ja | Ja | Ja | Ja | Nein | 
| Creatives | Ja | Ja | Ja | Ja | Nein | 
| Anzeigenanalytik | Ja | Nein | Nein | Ja | Nein | 
| Ad Analytics Alle AdAcocunts | Ja | Nein | Nein | Ja | Nein | 
| Anzeigenanalytik Alle Kampagnen | Ja | Nein | Nein | Ja | Nein | 
| Ad Analytics Alle CampaignGroups | Ja | Nein | Nein | Ja | Nein | 
| Ad Analytics Alle AdCreatives | Ja | Nein | Nein | Ja | Nein | 
| Statistiken teilen | Ja | Nein | Nein | Ja | Nein | 
| Seitenstatistiken | Ja | Nein | Nein | Ja | Nein | 
| Follower-Statistiken | Ja | Nein | Nein | Ja | Nein | 

 **Beispiel** 

```
netsuiteerp_read = glueContext.create_dynamic_frame.from_options(
    connection_type="linkedin",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "adaccounts",
        "API_VERSION": "202406"
    }
)
```


**LinkedIn Entitäts- und Felddetails**  

|  **Felddatentyp**  |  **Unterstützte Filteroperatoren**  | 
| --- | --- | 
|  Zeichenfolge  |  =  | 
|  DateTime  |  BETWEEN, =  | 
|  Numerischer Wert  |  =  | 
|  Boolesch  |  =  | 

# LinkedIn Verbindungsoptionen
<a name="linkedin-connection-options"></a>

Im Folgenden finden Sie Verbindungsoptionen für LinkedIn:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in LinkedIn. Beispiel: adAccounts. 
+ `API_VERSION`(String) — (Erforderlich) Wird zum Lesen/Schreiben verwendet. LinkedIn Rest-API-Version, die Sie verwenden möchten. Der Wert wird 202406 sein, da LinkedIn derzeit nur Version 202406 unterstützt wird.
+ `SELECTED_FIELDS`(Liste<Zeichenfolge>) – Standard: leer(SELECT \$1). Zum Lesen verwendet. Spalten, die Sie für die ausgewählte Entität 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. 

# Ein LinkedIn Konto erstellen
<a name="linkedin-create-account"></a>

**Eine LinkedIn App und OAuth Anmeldeinformationen erstellen**

1. Navigieren Sie zu Ihrer **LinkedIn Developer Network-Seite** und melden Sie sich mit Ihren LinkedIn Kontoanmeldeinformationen an. 

1. Navigieren Sie zur Seite **„Meine Apps**“ und wählen Sie „**Anwendung erstellen**“, um eine neue LinkedIn App zu erstellen.

1. Geben Sie die folgenden Details in das App-Registrierungsformular ein:
   + **Firmenname**: Wählen Sie ein bestehendes Unternehmen aus oder erstellen Sie ein neues Unternehmen.
   + **Name**: Geben Sie den Namen der Anwendung ein.
   + **Beschreibung**: Geben Sie die Beschreibung der Anwendung ein.
   + **Anwendungslogo**: Wählen Sie eine Bilddatei als Ihr Anwendungslogo aus.
   + **Anwendungszweck**: Wählen Sie den Anwendungszweck aus.
   + **Website-URL**: Geben Sie die URL der Website ein, die detaillierte Informationen zur Anwendung enthält.
   + **Geschäftliche E-Mail-Adresse**: Geben Sie Ihre geschäftliche E-Mail-Adresse ein.
   + **Geschäftliche Telefonnummer**: Geben Sie Ihre geschäftliche Telefonnummer ein.
   + **LinkedIn API-Nutzungsbedingungen** — Lesen Sie und stimmen Sie zu.

1. Gehen Sie nach dem Ausfüllen des App-Registrierungsformulars auf **Senden**.

   Sie werden zur **Authentifizierungsseite** weitergeleitet, auf der die Authentifizierungsschlüssel (Client-ID und geheimer Client-Schlüssel) sowie andere relevante Details angezeigt werden.

1. Wenn Ihre Webanwendung Zugriff auf die E-Mail-Adresse des Benutzers von seinem LinkedIn Konto aus benötigt, wählen Sie die `r_emailaddress` entsprechende Berechtigung aus. Darüber hinaus können Sie eine autorisierte Weiterleitung URLs für Ihre LinkedIn Anwendung angeben. 

**Eine Seite im LinkedIn Konto erstellen**

1. Navigieren Sie zu [LinkedIn Developer Products](https://developer.linkedin.com/).

1. Wählen Sie in der oberen rechten Ecke der Seite mit den **LinkedIn Entwicklerprodukten** die Option **Meine** Apps aus.

1. Wählen oben rechts auf der Seite **Meine Apps** die Option **App erstellen** aus.

1. Geben Sie auf der Seite **App erstellen** im Feld **Name** einen Namen für Ihre Anwendung ein.

1. Geben Sie im Feld **LinkedIn Seite** den Namen oder die URL Ihrer Unternehmensseite ein.
**Anmerkung**  
Wenn Sie noch keine LinkedIn Seite haben, können Sie eine erstellen, indem Sie **Neue erstellen** auswählen LinkedIn. 

1. Geben Sie im Feld **Datenschutzrichtlinien-URL** die Datenschutzrichtlinie-URL ein.

1. Wählen Sie **Logo hochladen**, um ein Bild hochzuladen, das Benutzern angezeigt werden soll, wenn sie sich mit Ihrer App autorisieren.

1. Wählen Sie im Abschnitt **Rechtliche Vereinbarung** die Option **Ich habe diese Bedingungen gelesen und stimme ihnen zu**.

1. Wählen Sie **App erstellen**. 

   Ihre neue App wird erstellt und ist unter dem Tab **Meine Apps** verfügbar.

**Veröffentlichung von Kampagnenanzeigen in LinkedIn**

1. Melden Sie sich beim **Kampagnenmanager** an. 

1. Wählen Sie eine vorhandene **Kampagnengruppe** aus oder klicken Sie auf **Erstellen**.

1. Wählen Sie Ihr Ziel aus.

1. Wählen Sie Ihre Gruppe, Ihr Budget und Ihren Zeitplan aus.

1. Bauen Sie Ihre Zielgruppe auf.

1. Wählen Sie Ihr Anzeigenformat aus.

1. Wählen Sie Ihr Budget und Ihren Zeitplan aus.

1. Richten Sie Ihre Anzeige(n) ein.

1. Überprüfen Sie alles und starten Sie.

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

Für die Analytikfelder `ad_analytics_all_adAccounts`, `ad_analytics_all_campaigns`, `ad_analytics_all_campaign_groups`, und `ad_analytics_all_adCreatives` ist ein Filter erforderlich, um die Datensätze abzurufen.

# Herstellen einer Verbindung mit Mailchimp
<a name="connecting-to-mailchimp"></a>

Mailchimp ist eine all-in-one Marketingplattform, mit der Sie Ihre Kunden, Kunden und andere interessierte Parteien verwalten und mit ihnen sprechen können. Ihr Marketingansatz konzentriert sich auf bewährte Verfahren im Kontaktmanagement, ansprechend gestaltete E-Mails, einzigartige automatisierte Workflows und leistungsstarke Datenanalysen. Wenn du ein Mailchimp-Nutzer bist, kannst du dich mit deinem Mailchimp-Konto AWS Glue verbinden. Anschließend können Sie Mailchimp als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Mailchimp und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen.

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

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

AWS Glue unterstützt Mailchimp wie folgt:

**Als Quelle unterstützt?**  
Ja. Du kannst AWS Glue ETL-Jobs verwenden, um Daten von Mailchimp abzufragen.

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

**Unterstützte Mailchimp-API-Versionen**  
 3.0 

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="mailchimp-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": "*"
    }
  ]
}
```

------

Wenn Sie die vorstehende 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, 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 Mailchimp
<a name="mailchimp-configuring"></a>

Bevor du die Übertragung von Mailchimp verwenden AWS Glue kannst, musst du die folgenden Voraussetzungen erfüllen:

## Mindestanforderungen
<a name="mailchimp-configuring-min-requirements"></a>
+ Sie haben ein Mailchimp-Konto mit E-Mail-Adresse und Passwort. Weitere Informationen zum Erstellen eines Kontos finden Sie unter [Erstellen eines Mailchimp-Kontos](mailchimp-create-account.md). 
+  Sie müssen AWS ein Konto mit dem Servicezugriff auf erstellt haben. AWS Glue
+ Stellen Sie sicher, dass Sie eine der folgenden Ressourcen erstellt haben: Diese Ressourcen stellen Anmeldeinformationen bereit, mit AWS Glue denen Sie sicher auf Ihre Daten zugreifen können, wenn Sie authentifizierte Anrufe an Ihr Konto tätigen:
  + Eine Entwickler-App, die OAuth 2.0-Authentifizierung unterstützt. Weitere Informationen zum Erstellen einer Entwickler-App finden Sie unter [Erstellen eines Mailchimp-Kontos](mailchimp-create-account.md). 

Wenn du diese Anforderungen erfüllst, bist du bereit, dich mit deinem Mailchimp-Konto AWS Glue zu verbinden. Für typische Verbindungen müssen Sie in Mailchimp nichts weiter tun.

# Konfigurieren von Mailchimp-Verbindungen
<a name="mailchimp-configuring-connections"></a>

 Mailchimp unterstützt die folgenden zwei Arten von Authentifizierungsmechanismen: 
+ Mailchimp unterstützt den `AUTHORIZATION_CODE`-Gewährungstyp.
  + Dieser Gewährungstyp wird als „dreibeinige“ `OAuth` betrachtet, da er darauf angewiesen ist, dass Benutzer zur Authentifizierung an den Autorisierungsserver eines Drittanbieters weitergeleitet werden. Er wird verwendet, wenn Verbindungen über die AWS Glue -Konsole hergestellt werden. Der Benutzer, der eine Verbindung herstellt, kann sich standardmäßig auf eine verbundene App von AWS Glue verlassen, bei der er außer seiner Mailchimp-Client-ID und dem geheimen Client-Schlüssel keine weiteren Informationen zu `OAuth` angeben muss. Die AWS Glue Konsole leitet den Benutzer zu Mailchimp weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Mailchimp-Instanz gewähren muss.
  + Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in Mailchimp 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 Mailchimp weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen zu autorisieren AWS Glue .
  + Die öffentliche Mailchimp-Dokumentation zur Erstellung einer verbundenen App für `AUTHORIZATION_CODE OAuth` Flow findest du unter [Zugreifen auf Daten im Namen anderer Nutzer](https://mailchimp.com/developer/marketing/guides/access-user-data-oauth-2/?msockid=141ebf9ffb4d619525c3ad27fad660d6) mit 2. OAuth 
+ **Benutzerdefinierte Authentifizierung** – öffentliche Mailchimp-Dokumentation zum Generieren der erforderlichen API-Schlüssel zur benutzerdefinierten Autorisierung finden Sie unter [Über API-Schlüssel](https://mailchimp.com/en/help/about-api-keys/?msockid=310fd0fe09d16afe034fc5de08d76b01). 



So konfigurieren Sie eine Mailchimp-Verbindung

1. Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details: 
   + `OAuth`-Authentifizierung: für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 
   + Benutzerdefinierte Authentifizierung: für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit „api\$1key“ als Schlüssel enthalten. 
**Anmerkung**  
Sie müssen für jede Verbindung in AWS Glue ein Geheimnis erstellen.

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

   1. Wählen Sie unter **Verbindungen** die Option **Verbindung erstellen** aus. 

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

   1. Stellen Sie die Mailchimp-`instanceUrl` bereit.

   1. Wählen Sie die IAM-Rolle aus, für die AWS Glue Sie die folgenden Aktionen übernehmen können und über Berechtigungen verfügen: 

------
#### [ 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 den Authentifizierungstyp aus, um eine Verbindung zu Mailchimp herzustellen:
      + Für `OAuth` die Authentifizierung — Geben Sie die Token-URL und die benutzerverwaltete Client-Anwendung ClientId von Mailchimp an, zu der Sie eine Verbindung herstellen möchten.
      + Für die benutzerdefinierte Authentifizierung: Wählen Sie den Authentifizierungstyp CUSTOM aus, um eine Verbindung zu Mailchimp herzustellen.

   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.

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

 **Voraussetzungen** 

Ein Mailchimp-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** 
+ [Abuse-reports](https://mailchimp.com/developer/marketing/api/campaign-abuse/)
+ [Automation](https://mailchimp.com/developer/marketing/api/automation/list-automations/)
+ [Kampagnen](https://mailchimp.com/developer/marketing/api/campaigns/list-campaigns/)
+ [Click-details](https://mailchimp.com/developer/marketing/api/link-clickers/)
+ [Lists](https://mailchimp.com/developer/marketing/api/link-clickers/)
+ [Mitglieder](https://mailchimp.com/developer/marketing/api/list-segment-members/)
+ [Open-details](https://mailchimp.com/developer/marketing/api/list-members/)
+ [Segmente](https://mailchimp.com/developer/marketing/api/list-segments/)
+ [Stores](https://mailchimp.com/developer/marketing/api/ecommerce-stores/list-stores/)
+ [Unsubscribed](https://mailchimp.com/developer/marketing/api/unsub-reports/)


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Automatisierung | Ja | Ja | Ja | Ja | Ja | 
| Kampagnen | Nein | Nein | Nein | Nein | Nein | 
| Listen | Ja | Ja | Nein | Ja | Ja | 
| Meldet Missbrauch | Nein | Ja | Nein | Ja | Ja | 
| Meldet Öffnung | Nein | Ja | Nein | Ja | Ja | 
| Meldet Klick | Ja | Ja | Nein | Ja | Ja | 
| Meldet Abmeldung | Nein | Ja | Nein | Ja | Ja | 
| Segment | Nein | Ja | Nein | Ja | Ja | 
| Segmentmitglieder | Ja | Ja | Nein | Ja | Nein | 
| Stores | Ja | Ja | Ja | Ja | Nein | 

 **Beispiel** 

```
mailchimp_read = glueContext.create_dynamic_frame.from_options(                    
            connection_type="mailchimp",                                           
            connection_options={                                                        
                  "connectionName": "connectionName",                                   
                  "ENTITY_NAME": "stores",  
"INSTANCE_URL": "https://us14.api.mailchimp.com",                     
                  "API_VERSION": "3.0"                                                
               })
```

 **Mailchimp-Entitäts- und Felddetails** 
+ [Abuse-reports](https://mailchimp.com/developer/marketing/api/campaign-abuse/)
+ [Automation](https://mailchimp.com/developer/marketing/api/automation/list-automations/)
+ [Kampagnen](https://mailchimp.com/developer/marketing/api/campaigns/list-campaigns/)
+ [Click-details](https://mailchimp.com/developer/marketing/api/link-clickers/)
+ [Lists](https://mailchimp.com/developer/marketing/api/link-clickers/)
+ [Mitglieder](https://mailchimp.com/developer/marketing/api/list-segment-members/)
+ [Open-details](https://mailchimp.com/developer/marketing/api/list-members/)
+ [Segmente](https://mailchimp.com/developer/marketing/api/list-segments/)
+ [Stores](https://mailchimp.com/developer/marketing/api/ecommerce-stores/list-stores/)
+ [Unsubscribed](https://mailchimp.com/developer/marketing/api/unsub-reports/)

## Partitionierung von Abfragen
<a name="mailchimp-engage-reading-partitioning-queries"></a>

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 den Wert im ISO-Format.

  Beispiel für gültigen Wert:

  ```
  "2024-07-01T00:00:00.000Z"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: die Anzahl der Partitionen.

In der folgenden Tabelle sind Details zur Unterstützung der Partitionierung von Entitäten beschrieben:

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

Beispiel:

```
read_read = glueContext.create_dynamic_frame.from_options(
    connection_type="mailchimp",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "automations",
        "API_VERSION": "3.0",
        "INSTANCE_URL": "https://us14.api.mailchimp.com",
        "PARTITION_FIELD": "create_time",
        "LOWER_BOUND": "2024-02-05T14:09:30.115Z",
        "UPPER_BOUND": "2024-06-07T13:30:00.134Z",
        "NUM_PARTITIONS": "3"
    }
```

# Verbindungsoptionen für Mailchimp
<a name="mailchimp-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Mailchimp aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Mailchimp. 
+ `INSTANCE_URL`(Zeichenfolge) – (Erforderlich) Eine gültige Mailchimp-Instance-URL.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der REST-API von Mailchimp Engage, die Sie verwenden möchten. Beispiel: 3.0.
+ `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.

# Erstellen eines Mailchimp-Kontos
<a name="mailchimp-create-account"></a>

1. Navigieren Sie zur [Mailchimp-Anmeldeseite](https://login.mailchimp.com/?locale=en), geben Sie Ihre E-Mail-ID und das Passwort ein und wählen Sie dann **Anmelden**.

1. Öffnen Sie die Bestätigungs-E-Mail von Mailchimp und klicken Sie auf den Bestätigungslink, um Ihr Konto zu verifizieren.
**Anmerkung**  
Es kann einige Zeit dauern, bis Sie die Aktivierungs-E-Mail erhalten. Wenn Sie die Aktivierungs-E-Mail nicht erhalten haben, überprüfen Sie Ihren Spam-Ordner und lesen Sie unsere Tipps zur Fehlerbehebung bei Aktivierungs-E-Mails. Mailchimp blockiert Anmeldungen von rollenbasierten E-Mail-Adressen wie [admin@pottedplanter.com](mailto:admin@pottedplanter.com) oder [security@example.com](mailto:security@example.com).  


   Wenn Sie sich zum ersten Mal bei Ihrem Konto anmelden, fragt Mailchimp nach erforderlichen Informationen. Mailchimp verwendet diese Informationen, um sicherzustellen, dass Ihr Konto den Nutzungsbedingungen entspricht, und um Ihnen Hinweise zu geben, die für Sie und die Anforderungen Ihres Unternehmens relevant sind.

1. Geben Sie Ihre Daten ein, folgen Sie den Anweisungen, um den Aktivierungsprozess abzuschließen, und legen unternehmen Sie erste Schritte mit Ihrem Mailchimp-Konto.

**Registrieren einer `OAuth2.0`-Anwendung**

1. Navigieren Sie zur [Mailchimp-Anmeldeseite](https://login.mailchimp.com/?locale=en), geben Sie Ihre E-Mail-ID und das Passwort ein und wählen Sie dann **Anmelden** aus. 

1. Wählen Sie das Symbol **Benutzer** oben rechts und dann im Dropdown-Menü **Konto und Abrechnung** aus.

1. Wählen Sie **Extras** und dann **Registrierte Apps** aus dem Dropdown-Menü aus.

1. Suchen Sie nach einer App und wählen Sie **App registrieren**.

1. Geben Sie folgende Details ein:
   + **App-Name**: Name der App. 
   + **Firma/Organisation**: Name Ihres Unternehmens oder Ihrer Organisation.
   + **App-Website**: Website der App.
   + **Umleitungs-URI**: Ein Umleitungs-URI-Muster ist ein URI-Pfad (oder eine durch Kommata getrennte Liste von Pfaden), zu dem Mailchimp (falls angefordert) weiterleiten kann, wenn der Anmeldevorgang abgeschlossen ist. Beispiel: `https://ap-southeast-2\\.console\\.aws\\.amazon\\.com`

1. Wählen Sie **Erstellen** aus. 

1. Die **Client-ID** und der **geheime Client-Schlüssel** werden jetzt angezeigt. Kopieren Sie diese und speichern Sie sie an einem sicheren Ort. Wählen Sie dann **Fertig** aus. 
**Anmerkung**  
Ihre Client-ID- und Client Secret-Zeichenfolgen sind Anmeldeinformationen, die verwendet werden, um eine Verbindung mit diesem Connector herzustellen, wenn Sie AppFlow oder verwenden AWS Glue.

**Generieren eines API-Schlüssels**

1. Navigieren Sie zur [Mailchimp-Anmeldeseite](https://login.mailchimp.com/?locale=en), geben Sie Ihre E-Mail-ID und das Passwort ein und wählen Sie dann **Anmelden** aus. 

1. Wählen Sie das Symbol **Benutzer** oben rechts und dann im Dropdown-Menü **Konto und Abrechnung** aus.

1. Wählen Sie **Extras** und dann **API-Schlüssel** aus dem Dropdown-Menü aus.

1. Klicken Sie auf **Schlüssel erstellen**.

1. Geben Sie einen Namen ein und wählen Sie **Schlüssel generieren**.

   Auf der nächsten Seite wird der generierte API-Schlüssel angezeigt. 

1. Kopieren Sie den Schlüssel, speichern Sie ihn an einem sicheren Ort und wählen Sie **Fertig** aus.

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

Die folgenden Einschränkungen gelten für den Mailchimp-Connector:
+ Filtration wird nur von`Campaigns`-, `Automations`-, `Lists`-, `Open Details`-, `Members`-, und `Segments`-Entitäten unterstützt.
+ Wenn Sie einen Filter für ein `DateTime`-Datentypfeld verwenden, müssen Sie Werte in diesem Format übergeben: `yyyy-mm-ddThh:MM:ssZ`

# Herstellen einer Verbindung mit Microsoft Dynamics 365 CRM
<a name="connecting-to-microsoft-dynamics-365"></a>

 Microsoft Dynamics 365 ist eine Produktlinie intelligenter Geschäftsanwendungen für Enterprise Resource Planning und Customer Relationship Management. 

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

# AWS Glue Unterstützung für Microsoft Dynamics 365
<a name="microsoft-dynamics-365-support"></a>

AWS Glue unterstützt Microsoft Dynamics 365 wie folgt:

**Als Quelle unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten aus Microsoft Dynamics 365 abzufragen.

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

**Unterstützte Versionen der API von Microsoft Dynamics 365 CRM**  
 v9.2. 

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

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

## Mindestanforderungen
<a name="microsoft-dynamics-365-configuring-min-requirements"></a>
+  Sie haben ein Microsoft Dynamics 365 CRM-Entwicklerkonto bei ClientId und Secret. 
+  Ihr Konto bei Microsoft Dynamics 365 CRM hat API-Zugriff mit einer gültigen Lizenz. 

 Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Microsoft Dynamics 365 CRM-Konto herstellen. Für typische Verbindungen müssen Sie in Microsoft Dynamics 365 CRM nichts weiter tun. 

# Konfigurieren von Microsoft-Dynamics-365-CRM-Verbindungen
<a name="microsoft-dynamics-365-configuring-connections"></a>

 **Gewährungstyp AUTHORIZATION\$1CODE** 
+  Dieser Gewährungstyp 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 Die AWS Glue Konsole leitet den Benutzer zu Microsoft Dynamics 365 CRM weiter, wo der Benutzer sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Microsoft Dynamics 365 CRM-Instanz gewähren muss. 
+  Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Microsoft Dynamics 365 CRM zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zu Microsoft Dynamics 365 CRM weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 
+  Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden. 
+  Eine öffentliche Microsoft Dynamics 365 CRM-Dokumentation zum Erstellen einer verbundenen App für den OAuth Autorisierungscodefluss finden Sie unter \$1 Microsoft Learn. [Microsoft App Registration](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/authenticate-oauth#app-registration). 

Microsoft Dynamics 365 CRM unterstützt die OAuth2 2.0-Authentifizierung.

So konfigurieren Sie eine Microsoft-Dynamics-365-CRM-Verbindung:

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

      Für kundenseitig verwaltete verbundene App – Geheimnis muss das Client-Geheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 

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

   1. Wählen Sie als **Datenquelle** Microsoft Dynamics 365 CRM aus.

   1. Wählen Sie die **INSTANCE\$1URL** der Microsoft-Dynamics-365-CRM-Instance aus, mit der Sie eine Verbindung herstellen möchten.

   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.  Wählen Sie **Token-URL** und **Autorisierungscode-URL** aus, um auf Ihren Microsoft-Dynamics-365-CRM-Arbeitsbereich zuzugreifen. 

   1.  Stellen Sie die **benutzerverwaltete Client-Anwendung ClientId** Ihrer Microsoft Dynamics 365 CRM-App bereit. 

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

   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.  Stellen `connectionName` Sie in Ihrer AWS Glue Jobkonfiguration eine **zusätzliche Netzwerkverbindung** bereit. 

# Lesen aus Entitäten von Microsoft Dynamics 365 CRM
<a name="microsoft-dynamics-365-reading-from-entities"></a>

 **Voraussetzungen** 
+  Ein Objekt in Microsoft Dynamics 365 CRM, aus dem gelesen werden soll. Sie benötigen den Objektnamen wie Kontakte oder Konten. Die folgende Tabelle zeigt die unterstützten Entitäten. 

 **Unterstützte Entitäten** 


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Dynamische Entität | Ja | Ja | Ja | Ja | Ja | 

 **Beispiel** 

```
dynamics365_read = glueContext.create_dynamic_frame.from_options(
    connection_type="microsoftdynamics365crm",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dynamic_entity",
        "API_VERSION": "v9.2",
        "INSTANCE_URL": "https://{tenantID}.api.crm.dynamics.com"
    }
```

## Entitäts- und Felddetails für Microsoft Dynamics 365 CRM
<a name="microsoft-dynamics-365-entity-and-field-details"></a>

 **Entitäten mit dynamischen Metadaten:** 

Microsoft Dynamics 365 CRM bietet Endpunkte zum dynamischen Abrufen von Metadaten. Daher wird bei dynamischen Entitäten die Operatorunterstützung auf Datentypebene erfasst.

<a name="microsoft-dynamics-365-metadata-table"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/microsoft-dynamics-365-reading-from-entities.html)

 **Partinionieren von Abfragen** 

Microsoft Dynamics 365 CRM unterstützt nur feldbasierte Partitionierung.

 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. 

   Für DateTime-Feld akzeptieren wir das Spark-Zeitstempelformat, das in Spark-SQL-Abfragen verwendet wird. Beispiel für gültige Werte: `"2024-01-30T06:47:51.000Z"`. 
+  `UPPER_BOUND`: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds. 
+  `NUM_PARTITIONS`: Anzahl der Partitionen. 

 Details zur Unterstützung von Feldern für die entitätsbezogene Partitionierung sind in der folgenden Tabelle aufgeführt. 


| Entity Name | Partitionierung von Feldern | DataType | 
| --- | --- | --- | 
| Dynamische Entität (Standardentität) | Dynamische DateTime Felder, die abfragbar sind | createdon, modifiedon | 
| Dynamische Entität (benutzerdefinierte Entität) | createdon, modifiedon | createdon, modifiedon | 

 **Beispiel** 

```
dynamics365_read = glueContext.create_dynamic_frame.from_options(
    connection_type="microsoftdynamics365crm",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dynamic_entity",
        "API_VERSION": "v9.2",
        "instanceUrl": "https://{tenantID}.api.crm.dynamics.com"
        "PARTITION_FIELD": "createdon"
        "LOWER_BOUND": "2024-01-30T06:47:51.000Z"
        "UPPER_BOUND": "2024-06-30T06:47:51.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Referenz zu Verbindungsoptionen für Microsoft Dynamics 365 CRM
<a name="microsoft-dynamics-365-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Microsoft Dynamics 365 CRM aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Microsoft Dynamics 365 CRM. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Die Version der REST-API von Microsoft Dynamics 365 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. 
+  `INSTANCE_URL`(Zeichenfolge) – (Erforderlich) Eine gültige Instance-URL von Microsoft Dynamics 365 CRM mit dem Format: `https://{tenantID}.api.crm.dynamics.com` 
+  `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen. 
+  `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. Beispiel: `2024-01-30T06:47:51.000Z`. 
+  `UPPER_BOUND`(Zeichenfolge) – Zum Lesen verwendet. Ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds. Beispiel: `2024-06-30T06:47:51.000Z`. 

# Einschränkungen
<a name="microsoft-dynamics-365-connector-limitations"></a>

Die folgenden Einschränkungen gelten für den Microsoft-Dynamics-365-CRM-Connector:
+  In Microsoft Dynamics 365 CRM wird die datensatzbasierte Partitionierung nicht unterstützt, da sie keinen Versatzparameter unterstützt, sodass die datensatzbasierte Partitionierung nicht unterstützt werden kann. 
+  Die Paginierung ist auf maximal 500 Datensätze pro Seite festgelegt, um interne Serverausnahmen von SaaS aufgrund einer Kombination aus Datenumfang und Ratenbeschränkungen zu vermeiden. 
  + [SaaS-Dokumentation zur Paginierung](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/query/page-results?view=dataverse-latest)
  + [SaaS-Dokumentation zu Ratenbeschränkungen](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/api-limits?tabs=sdk)
+  Microsoft Dynamics 365 CRM unterstützt `order by` nur bei übergeordneten Felder für alle Entitäten. `order by` wird für Unterfelder nicht unterstützt. 
  + Sowohl ASC- als auch DESC-Richtungen werden unterstützt.
  + `order by` für mehrere Felder wird unterstützt.
+  Das Filtern nach dem Feld „createddatetime“ der `aadusers`-Standardentität hat einen Anforderungsfehler von SaaS zur Folge, obwohl die Filterung unterstützt wird. Aufgrund des dynamischen Charakters der Metadaten gibt es keine konkreten Hinweise auf andere Entitäten mit einem ähnlichen Problem und auch die Ursache ist nicht bekannt. Daher kann es nicht behoben werden. 
+  Komplexe Objekttypen wie Struct, List und Map unterstützen keine Filterung. 
+  Viele Felder, die aus einer Antwort abgerufen werden können, sind in der dynamischen Metadatenantwort mit `isRetrievable` als `false` gekennzeichnet. Um Datenverlust zu vermeiden, ist `isRetrievable` für alle Felder auf `true` gesetzt. 
+  Die feldbasierte Partitionierung wird für alle Entitäten unterstützt, wenn sie die folgenden Kriterien erfüllen 
  + DateTime Abfragbare Felder sollten in Standardentitäten oder `createdon` `modifiedon` Felder (vom System generiert) in benutzerdefinierten Entitäten vorhanden sein. 
  + Es gibt keine ausschließliche Identifizierung von systemgenerierten Feldern oder der NULL-Eigenschaft aus SaaS-Metadaten. Es ist jedoch eine allgemeine Praxis APIs, dass nur die standardmäßig verfügbaren Felder filterbar und nicht nullwertbar sind. Daher gilt das obige Kriterium der Feldauswahl als NULL-sicher, und wenn es filterbar ist, kommt es für die Partitionierung in Frage.

# Herstellen einer Verbindung zu Microsoft Teams
<a name="connecting-to-microsoft-teams"></a>

 Microsoft Teams ist ein gemeinschaftlicher Arbeitsbereich innerhalb von Microsoft 365, der als zentrale Anlaufstelle für Gespräche am Arbeitsplatz, gemeinschaftliche Teamarbeit, Videochats und die gemeinsame Nutzung von Dokumenten dient. All dies soll die Produktivität der Mitarbeiter in einer einheitlichen Tool-Suite steigern. 

**Topics**
+ [AWS Glue Unterstützung für Microsoft Teams](microsoft-teams-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](microsoft-teams-configuring-iam-permissions.md)
+ [Konfigurieren von Microsoft Teams](microsoft-teams-configuring.md)
+ [Konfigurieren von Microsoft-Teams-Verbindungen](microsoft-teams-configuring-connections.md)
+ [Lesen aus Microsoft-Teams-Entitäten](microsoft-teams-reading-from-entities.md)
+ [Referenz zur Microsoft Teams-Verbindungsoption](microsoft-teams-connection-options.md)
+ [Einschränkungen](microsoft-teams-connector-limitations.md)
+ [Erstellen Sie ein neues Microsoft-Teams-Konto:](#microsoft-teams-account-creation)

# AWS Glue Unterstützung für Microsoft Teams
<a name="microsoft-teams-support"></a>

AWS Glue unterstützt Microsoft Teams wie folgt:

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

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

**Unterstützte Versionen der Microsoft-Teams-API**  
 v1. Informationen zur Unterstützung von Entitäten pro Version finden Sie unter „Unterstützte Entitäten für Quelle“. 

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

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

## Mindestanforderungen
<a name="microsoft-teams-configuring-min-requirements"></a>
+  Sie haben ein Microsoft-Teams-Entwicklerkonto mit E-Mail und Passwort. Weitere Informationen finden Sie unter [Erstellen Sie ein neues Microsoft-Teams-Konto:](connecting-to-microsoft-teams.md#microsoft-teams-account-creation). 
+  Sie sollten in Ihrem Microsoft-Konto eine OAuth2 App eingerichtet haben, die die Client-ID und geheime Anmeldeinformationen bereitstellt, mit denen Sie AWS Glue sicher auf Ihre Daten zugreifen können, wenn authentifizierte Anrufe an Ihr Konto getätigt werden. Weitere Informationen finden Sie unter [Erstellen Sie ein neues Microsoft-Teams-Konto:](connecting-to-microsoft-teams.md#microsoft-teams-account-creation). 

 Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Microsoft Teams-Konto herstellen. Für typische Verbindungen müssen Sie in Microsoft Teams nichts weiter tun. 

# Konfigurieren von Microsoft-Teams-Verbindungen
<a name="microsoft-teams-configuring-connections"></a>

Microsoft Teams unterstützt die folgenden zwei Arten von Authentifizierungsmechanismen:

1.  OAuth Auth: Microsoft Teams unterstützt den Zuschusstyp AUTHORIZATION\$1CODE für. OAuth2 
   +  Dieser Gewährungstyp 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, für die er außer der Microsoft Teams-Instance-URL keine OAuth zugehörigen Informationen angeben muss. Die AWS Glue Konsole leitet den Benutzer zu Microsoft Teams weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Microsoft Teams-Instanz gewähren muss. 
   +  Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Microsoft Teams zu erstellen und beim Herstellen von Verbindungen über die AWS Glue Konsole ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben. In diesem Szenario werden sie weiterhin zu Microsoft Teams weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 
   +  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. 
   +  Eine öffentliche Microsoft Teams-Dokumentation zum Erstellen einer verbundenen App für den OAuth Autorisierungscodefluss finden Sie unter \$1 Microsoft Learn. [Register an application with the Microsoft identity platform - Microsoft Graph](https://learn.microsoft.com/en-us/graph/auth-register-app-v2). 

So konfigurieren Sie eine Microsoft-Teams-Verbindung:

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

   1.  Für die OAuth Authentifizierung: 
      +  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. Stellen Sie in AWS Glue Studio unter **Datenverbindungen** eine Verbindung her, indem Sie die folgenden Schritte ausführen: 

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

   1. Wählen Sie als **Datenquelle** Microsoft Teams aus.

   1. Geben Sie Ihre **Mandanten-ID** für Microsoft Teams 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 der Microsoft Teams-App bereit. 

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

   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.  Stellen `connectionName` Sie in Ihrer AWS Glue Jobkonfiguration eine **zusätzliche Netzwerkverbindung** bereit. 

# Lesen aus Microsoft-Teams-Entitäten
<a name="microsoft-teams-reading-from-entities"></a>

 **Voraussetzungen** 
+  Ein Microsoft-Teams-Objekt, aus dem Sie lesen möchten. Sie benötigen den Objektnamen wie „Team“ oder „Kanalnachricht“. Die folgende Tabelle zeigt die unterstützten Entitäten. 

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

 Alle Entitäten werden mit API-Version 1.0 unterstützt. 


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Teams | Nein | Nein | Nein | Ja | Nein | 
| Teammitglieder | Ja | Ja | Nein | Ja | Ja | 
| Gruppen | Ja | Ja | Ja | Ja | Ja | 
| Gruppenmitglieder | Ja | Ja | Nein | Ja | Nein | 
| Kanäle | Ja | Nein | Nein | Ja | Ja | 
| Kanalnachrichten | Nein | Ja | Nein | Ja | Nein | 
| Antworten auf Kanalnachrichten | Nein | Ja | Nein | Ja | Nein | 
| Kanal-Registerkarten | Ja | Nein | Nein | Ja | Nein | 
| Chats | Ja | Ja | Ja | Ja | Ja | 
| Kalenderereignisse | Ja | Ja | Ja | Ja | Ja | 

 **Beispiel** 

```
MicrosoftTeams_read = glueContext.create_dynamic_frame.from_options(
    connection_type="MicrosoftTeams",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "company",
        "API_VERSION": "v1.0"
    }
```

## Microsoft Teams-Entitäts- und -Felddetails
<a name="microsoft-teams-entity-and-field-details"></a>

 Liste der Entitäten: 
+  Team: [https://docs.microsoft.com/en-us/graph/api/user- Teams auflisten, denen wir beigetreten sind? ](https://docs.microsoft.com/en-us/graph/api/user-list-joinedteams?view=graph-rest-1.0)view=graph-rest-1.0 
+  [Teammitglied: -liste-Mitglieder? https://docs.microsoft.com/en-us/ graph/api/team view=graph-rest-1.0](https://docs.microsoft.com/en-us/graph/api/team-list-members?view=graph-rest-1.0) 
+  [Gruppe: -list? https://docs.microsoft.com/en-us/ graph/api/group view=graph-rest-1.0](https://docs.microsoft.com/en-us/graph/api/group-list?view=graph-rest-1.0) 
+  [Gruppenmitglied: -list-mitglieder? https://docs.microsoft.com/en-us/ graph/api/group view=graph-rest-1.0](https://docs.microsoft.com/en-us/graph/api/group-list-members?view=graph-rest-1.0) 
+  [Kanal: -list? https://docs.microsoft.com/en-us/ graph/api/channel view=graph-rest-1.0](https://docs.microsoft.com/en-us/graph/api/channel-list?view=graph-rest-1.0) 
+  [Kanalnachricht: -Meldungen auflisten? https://docs.microsoft.com/en-us/ graph/api/channel view=graph-rest-1.0](https://docs.microsoft.com/en-us/graph/api/channel-list-messages?view=graph-rest-1.0) 
+  [Kanalnachrichten-Antwort: -Antworten auflisten? https://docs.microsoft.com/en-us/ graph/api/chatmessage view=graph-rest-1.0](https://docs.microsoft.com/en-us/graph/api/chatmessage-list-replies?view=graph-rest-1.0) 
+  [Kanal-Tab: -Tabs auflisten? https://docs.microsoft.com/en-us/ graph/api/channel view=graph-rest-1.0](https://docs.microsoft.com/en-us/graph/api/channel-list-tabs?view=graph-rest-1.0) 
+  [Chat: -Liste? https://docs.microsoft.com/en-us/ graph/api/chat view=graph-rest-1.0]( https://docs.microsoft.com/en-us/graph/api/chat-list?view=graph-rest-1.0) 
+  [Kalenderereignis: Ereignisse auflisten? https://docs.microsoft.com/en-us/ graph/api/group view=graph-rest-1.0](https://docs.microsoft.com/en-us/graph/api/group-list-events?view=graph-rest-1.0) 

 **Partitionierung von Abfragen** 

 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. 

 Details zur Unterstützung von Feldern für die entitätsbezogene Partitionierung sind in der folgenden Tabelle aufgeführt. 


| Entity Name | Partitionierung von Feldern | Datentyp | 
| --- | --- | --- | 
| Teammitglieder | visibleHistoryStartDateTime | DateTime | 
| Gruppen | createdDateTime | DateTime | 
| Kanäle | createdDateTime | DateTime | 
| Chats | createdDateTime, Zeit lastModifiedDate | DateTime | 
| Kalenderereignisse | createdDateTime, lastModifiedDate Uhrzeit, ursprünglicher Start | DateTime | 

 **Beispiel** 

```
microsoftteams_read = glueContext.create_dynamic_frame.from_options(
    connection_type="MicrosoftTeams",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "group",
        "API_VERSION": "v1.0",
        "PARTITION_FIELD": "createdDateTime"
        "LOWER_BOUND": "2022-07-13T07:55:27.065Z"
        "UPPER_BOUND": "2022-08-12T07:55:27.065Z"
        "NUM_PARTITIONS": "2"
    }
```

# Referenz zur Microsoft Teams-Verbindungsoption
<a name="microsoft-teams-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Microsoft Teams aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Microsoft Teams. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Die Version der REST-API von Microsoft Teams, die Sie verwenden möchten. Beispiel: v1.0. 
+  `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="microsoft-teams-connector-limitations"></a>

Die folgenden Einschränkungen gelten für den Microsoft Teams-Connector:
+  Die Microsoft-Teams-API gibt weniger Datensätze zurück als für Chat- und Teammitglieder-Entitäten angegeben. Dieses Problem wurde dem Microsoft-Teams-Support gemeldet und wird derzeit untersucht. 

## Erstellen Sie ein neues Microsoft-Teams-Konto:
<a name="microsoft-teams-account-creation"></a>

1.  Navigieren Sie zur Startseite von Microsoft Teams [https://account.microsoft.com/account/](https://account.microsoft.com/account/)und wählen Sie **Anmelden** aus. 

1.  Wählen Sie **Erstellen Sie jetzt eins\$1** aus. 

1.  Geben Sie die erforderlichen Informationen für die Kontoerstellung ein und erstellen Sie ein neues Konto. 

1.  Rufen Sie die Microsoft Teams-Website unter [https://www.microsoft.com/en-in/microsoft-teams/log-in](https://www.microsoft.com/en-in/microsoft-teams/log-in) auf. 

1.  Melden Sie sich mit dem Microsoft-Konto an, das Sie gerade erstellt haben. 

1.  [Navigieren Sie nach erfolgreicher Registrierung bei Teams zu /services. https://account.microsft.com](https://account.microsft.com/services) 

1.  Wählen Sie **Microsoft 365 testen**. 

1.  Aktivieren Sie eines der folgenden Microsoft-365- oder Microsoft-Teams-Abonnements, um auf alle erforderlichen Features des Microsoft-Teams-Connectors zugreifen zu können: 
   + Microsoft Teams Essentials
   + Microsoft 365 Business
   + Microsoft 365 Business Basic
   + Microsoft 365 Business Standard
   + Microsoft 365 Business Premium

**Erstellen Sie eine verwaltete Client-App:**

1.  Um eine verwaltete Anwendung zu erstellen, müssen Sie eine neue OAuth App auf Microsoft Entra (früher Azure Active Directory) registrieren: 

1.  Melden Sie sich im [Microsoft Entra Admin Center](https://entra.microsoft.com) an. 

1.  Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie das Symbol „Einstellungen“ im oberen Menü, um im Menü „Verzeichnisse \$1 Abonnements“ zu dem Mandanten zu wechseln, in dem Sie die Anwendung registrieren möchten. 

1.  Navigieren Sie zu Identität > Anwendungen > App-Registrierungen und wählen Sie **Neue Registrierung** aus. 

1. Geben Sie einen Anzeigenamen für Ihre Anwendung ein.

1.  Geben Sie im Abschnitt „Unterstützte Kontotypen“ an, wer die Anwendung verwenden darf. Um diese App global verfügbar zu machen, wählen Sie „Konten in jedem Organisationsverzeichnis“ oder „Konten in jedem Organisationsverzeichnis und persönliche Microsoft-Konten“. 

1.  Geben Sie die Umleitungs-URI ein: `https://{region}.console.aws.amazon.com/appflow/oauth`. Fügen Sie beispielsweise für die Region `us-west-2 region` `https://us-west-2.console.aws.amazon.com/appflow/oauth` hinzu. Sie können mehrere URLs für verschiedene Regionen hinzufügen, die Sie verwenden möchten.

1.  Registrieren Sie die App. 

1.  Notieren Sie sich die Client-ID für die zukünftige Verwendung. 

1.  Wählen Sie im Abschnitt „Grundlagen“ die Option **Zertifikat oder geheimen Schlüssel hinzufügen**. 

1.  Wählen Sie **Neuer geheimer Client-Schlüssel** aus. 

1.  Geben Sie eine Beschreibung und einen Ablaufzeitpunkt ein. 

1.  Kopieren Sie den geheimen Client-Schlüssel und speichern Sie ihn für die zukünftige Verwendung. 

1.  Wählen Sie in der Menüliste auf der linken Seite **API-Berechtigungen** aus. 

1.  Wählen Sie **Berechtigung hinzufügen** aus. 

1.  Wählen Sie „Microsoft Graph“ aus. 

1.  Wählen Sie „Delegierte Berechtigungen“ aus. 

1.  Überprüfen Sie alle folgenden Berechtigungen: 
   + User.Read
   + Offline\$1access
   + User.Read.All
   + Benutzer. ReadWrite. Alle
   + TeamsTab.ReadWriteForTeam
   + TeamsTab.ReadWriteForChat
   + TeamsTab. ReadWrite. Alle
   + TeamsTab.Lesen.Alle
   + TeamSettings. ReadWrite. Alle
   + TeamSettings.Lesen.Alle
   + TeamMember. ReadWrite. Alle
   + TeamMember.Lesen.Alle
   + Mannschaft. ReadBasic. Alle
   + GroupMember. ReadWrite. Alle
   + GroupMember.Lesen.Alle
   + Gruppe. ReadWrite. Alle
   + Group.Read.All
   + Verzeichnis. ReadWrite. Alle
   + Directory.Read.All
   + Verzeichnis. AccessAsUser. Alle
   + Chatten. ReadWrite
   + Chatten. ReadBasic
   + Chat.Read
   + ChannelSettings. ReadWrite. Alle
   + ChannelSettings.Lesen.Alle
   + ChannelMessage.Lesen.Alles
   + Kanal. ReadBasic. Alle

1.  Wählen Sie **Add permissions** (Berechtigungen hinzufügen) aus. Ihre App ist jetzt eingerichtet. Sie können die Client-ID und den geheimen Client-Schlüssel verwenden, um eine neue Verbindung herzustellen. Weitere Informationen finden Sie in [https://learn.microsoft.com/en-us/Schaubild/ 2. auth-register-app-v](https://learn.microsoft.com/en-us/graph/auth-register-app-v2) 

# Herstellen einer Verbindung mit Mixpanel
<a name="connecting-to-mixpanel"></a>

Mixpanel ist eine leistungsstarke Echtzeit-Analyseplattform, die Unternehmen dabei hilft, die Nutzerinteraktion zu messen und zu optimieren. Mixpanel ist eine App zur Nachverfolgung des Kundenverhaltens. Sie ermöglicht es Ihnen, zu verfolgen, wie Benutzer mit Ihrem Produkt interagieren, und diese Daten mit interaktiven Berichten zu analysieren, mit denen Sie die Ergebnisse mit nur wenigen Klicks abfragen und visualisieren können. Als Mixpanel-Benutzer können Sie sich mit Ihrem Mixpanel-Konto verbinden AWS Glue . Anschließend können Sie Mixpanel als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Mixpanel und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen.

**Topics**
+ [AWS Glue Unterstützung für Mixpanel](Mixpanel-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](mixpanel-configuring-iam-permissions.md)
+ [Konfigurieren von Mixpanel](mixpanel-configuring.md)
+ [Konfiguration von Mixpanel-Verbindungen](mixpanel-configuring-connections.md)
+ [Lesen aus Mixpanel-Entitäten](mixpanel-reading-from-entities.md)
+ [Mixpanel-Verbindungsoptionen](mixpanel-connection-options.md)
+ [Erstellen eines Mixpanel-Kontos und Konfigurieren der Client-App](mixpanel-create-account.md)
+ [Einschränkungen](mixpanel-connector-limitations.md)

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

AWS Glue unterstützt Mixpanel wie folgt:

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

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

**Unterstützte Mixpanel-API-Versionen**  
 2.0 

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="mixpanel-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": "*"
    }
  ]
}
```

------

Wenn Sie die vorstehende 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, 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 Mixpanel
<a name="mixpanel-configuring"></a>

Bevor Sie die Übertragung von Mixpanel verwenden AWS Glue können, müssen Sie die folgenden Voraussetzungen erfüllen:

## Mindestanforderungen
<a name="mixpanel-configuring-min-requirements"></a>
+  Sie haben ein Mixpanel-Konto. Weitere Informationen zum Erstellen eines Kontos finden Sie unter [Erstellen eines Mixpanel-Kontos](mixpanel-create-account.md). 
+  Ihr Mixpanel-Konto ist für den API-Zugriff aktiviert. Der API-Zugriff ist standardmäßig für die Editionen „Enterprise“, „Unlimited“, „Developer“ und „Performance“ aktiviert. 

Wenn du diese Anforderungen erfüllst, bist du bereit, dich mit deinem Mixpanel-Konto AWS Glue zu verbinden. Für typische Verbindungen müssen Sie in Mixpanel nichts weiter tun.

# Konfiguration von Mixpanel-Verbindungen
<a name="mixpanel-configuring-connections"></a>

Mixpanel unterstützt Benutzername und Passwort für `BasicAuth`. Die Standardauthentifizierung ist eine einfache Authentifizierungsmethode, bei der Clients Anmeldeinformationen direkt eingeben, um auf geschützte Ressourcen zuzugreifen. AWS Glue ist in der Lage, den Benutzernamen und das Passwort zur Authentifizierung von APIs Mixpanel zu verwenden. 

Die öffentliche Mixpanel-Dokumentation zum `BasicAuth`-Flow finden Sie unter [Mixpanel-Servicekonten](https://developer.mixpanel.com/reference/service-accounts). 

Konfigurieren einer Mixpanel-Verbindung:

1. Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details: 
   +  Für die Standardauthentifizierung muss das Geheimnis das Verbrauchergeheimnis der verbundenen App mit `USERNAME` und `PASSWORD` als Schlüssel enthalten. 
**Anmerkung**  
Sie müssen für jede Verbindung in AWS Glue ein Geheimnis erstellen.

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

   1. Wählen Sie **Mixpanel** als **Verbindungstyp** aus.

   1. Geben Sie die `INSTANCE_URL` der Mixpanel-Instanz an, zu der eine Verbindung hergestellt werden soll.

   1. Wählen Sie die IAM-Rolle aus, für die AWS Glue Sie die folgenden Aktionen übernehmen können und über Berechtigungen verfügen: 

------
#### [ 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, die Sie für diese Verbindung verwenden möchten AWS Glue , um die Token einzufügen. 

   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 Mixpanel-Entitäten
<a name="mixpanel-reading-from-entities"></a>

 **Voraussetzungen** 

Sie benötigen ein Mixpanel-Objekt wie `Funnels`, `Retention` oder `Retention Funnels`, aus dem Sie Daten lesen möchten. Außerdem müssen Sie den Objektnamen kennen.

 **Unterstützte Entitäten** 


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Trichter | Ja | Nein | Nein | Ja | Nein | 
| Aufbewahrung | Ja | Nein | Nein | Ja | Nein | 
| Segmentierung | Ja | Nein | Nein | Ja | Nein | 
| Summe der Segmentierung | Ja | Nein | Nein | Ja | Nein | 
| Durchschnitt der Segmentierung | Ja | Nein | Nein | Ja | Nein | 
| Kohorten | Ja | Nein | Nein | Ja | Nein | 
| Engage | Nein | Ja | Nein | Ja | Nein | 
| Ereignisse | Ja | Nein | Nein | Ja | Nein | 
| Ereignisse Top | Ja | Nein | Nein | Ja | Nein | 
| Ereignisnamen | Ja | Nein | Nein | Ja | Nein | 
| Ereigniseigenschaften | Ja | Nein | Nein | Ja | Nein | 
| Ereigniseigenschaften Top | Ja | Nein | Nein | Ja | Nein | 
| Ereigniseigenschaften Werte | Ja | Nein | Nein | Ja | Nein | 
| Anmerkungen | Ja | Nein | Nein | Ja | Nein | 
| Aktivität eines Profilereignisses | Ja | Nein | Nein | Ja | Nein | 

 **Beispiel** 

```
mixpanel_read = glueContext.create_dynamic_frame.from_options(
    connection_type="mixpanel",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "/cohorts/list?project_id=2603353",
        "API_VERSION": "2.0",
        "INSTANCE_URL": "https://www.mixpanel.com/api/app/me"
    }
```

 **Mixpanel-Entitäts- und Felddetails** 

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

# Mixpanel-Verbindungsoptionen
<a name="mixpanel-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Mixpanel aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Mixpanel. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der Mixpanel-REST-API, die Sie verwenden möchten. Beispiel: v2.0. 
+  `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. 

# Erstellen eines Mixpanel-Kontos und Konfigurieren der Client-App
<a name="mixpanel-create-account"></a>

**Erstellen eines Mixpanel-Kontos**

1. Navigieren Sie zur [Mixpanel-Startseite](https://mixpanel.com/). 

1. Wählen Sie auf der **Mixpanel-Startseite** oben rechts die Option **Anmelden** aus. 

1. Führen Sie auf der Seite **Legen wir los** die folgenden Aktionen durch: 
   + Geben Sie Ihre E-Mail-Adresse in das dafür vorgesehene Feld ein.
   + Wählen Sie das erforderliche Kontrollkästchen aus, um den Bedingungen zuzustimmen.
   + Wählen Sie **Erste Schritte**, um fortzufahren.

     Nach erfolgreichem Abschluss erhalten Sie eine Bestätigungs-E-Mail. 

1. Suchen Sie in Ihrem E-Mail-Posteingang nach einer Bestätigungsnachricht, öffnen Sie die E-Mail und folgen Sie den Anweisungen zur Bestätigung Ihrer E-Mail-Adresse. 

1. Wählen Sie auf der Bestätigungsseite die Option **E-Mail verifizieren** aus, um die Bestätigung abzuschließen. 

1. Geben Sie auf der Seite **Name Ihres Unternehmens** den Namen Ihrer Organisation ein und wählen Sie **Weiter**. 

1. Geben Sie auf der Seite **Ihr erstes Projekt** Ihre Projektdetails ein und wählen Sie **Erstellen** aus.

1. Wählen Sie auf der nächsten Seite die Option **Legen wir los**, um die Erstellung Ihres Kontos abzuschließen. 

**Anmelden bei einem Mixpanel-Konto**

1. Navigieren Sie zur [Mixpanel-Anmeldeseite](https://mixpanel.com/login/). 

1. Geben Sie Ihre E-Mail-Adresse ein und wählen Sie **Weiter**. 

1. Suchen Sie in Ihrem E-Mail-Posteingang nach einer Bestätigungsnachricht, öffnen Sie die E-Mail und folgen Sie den Anweisungen zur Bestätigung Ihrer E-Mail-Adresse. 

1. Wählen Sie auf der nächsten Seite die **Schaltfläche Anmelden**, um sich bei Ihrem Konto anzumelden. 

**Kaufen eines Mixpanel-Pakets**

1. Wählen Sie auf der Mixpanel-Seite das Symbol **Einstellungen** oben rechts aus.

1. Wählen Sie in der Liste der Optionen **Preisdetails und Abrechnung** aus. 

1. Wählen Sie auf der Seite **Preisdetails und Abrechnung** die Option **Upgrade oder Ändern** aus.

1. Wählen Sie auf der nächsten Seite den Plan aus, den Sie erwerben möchten

   Damit sind die Kontoerstellung und der Kauf des Plans abgeschlossen.

**Erstellen eines Benutzernamens und eines Client-Geheimnisses (zum Registrieren der App)**

1. Wählen Sie auf der Mixpanel-Seite oben rechts das Symbol **Einstellungen** aus. 

1. Wählen Sie aus der Liste der Optionen die Option **Projekteinstellungen** aus. 

1. Wählen Sie auf der Seite mit den **Projekteinstellungen** die Option **Dienstkonten** und dann **Dienstkonto hinzufügen** aus.

1. Wählen Sie in der Dropdownliste **Dienstkonto** das **Dienstkonto** aus oder geben Sie zum Erstellen einen Namen an und fügen Sie die **Projektrolle** hinzu. Geben Sie dann die **Gültigkeitsdauer** an und wählen Sie **Hinzufügen** aus. 
**Wichtig**  
Nach Abschluss des vorherigen Schritts wird auf der folgenden Seite der geheime Schlüssel des Dienstkontos angezeigt. Sie müssen den geheimen Schlüssel des Dienstkontos speichern. Sie können danach nicht mehr darauf zugreifen.

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

Die folgenden Einschränkungen gelten für den Mixpanel-Connector:
+ Bei der `Segmentation Numeric`-Entität gibt die Mixpanel-API einen `400 (Bad Request)`-Fehler aus, wenn keine numerischen Daten für die obligatorischen Filter gefunden werden. Wir behandeln dies als `OK`-Antwort, um Flow-Ausfälle zu verhindern.
+ Das abfragbare Feld `limit` wurde aus folgenden Gründen aus den unterstützten Entitäten entfernt:
  + Es hat Fehler verursacht, weil es als Einschränkungs-Feature des SDK interpretiert wurde.
  + Der Filter hat keinen praktischen Zweck erfüllt.
  + Entsprechende Funktionen werden nun durch die Implementierung des Einschränkungs-Feature abgedeckt.
+ Die feldbasierte Partitionierung kann nicht unterstützt werden, da keine erforderlichen Operatoren (`>=`, `<=`, `<`, `>` und `between`) für die Partitionierung von der SaaS-Plattform aus erforderlich sind. Der `between`-Operator wird zwar unterstützt, aber die Felder, für die dieser Operator unterstützt wird, lassen sich nicht aufrufen. Daher sind die Kriterien für die feldbasierte Partitionierung nicht erfüllt.
+  Da es keine Möglichkeit gibt, einen Versatzwert für Entitäten abzurufen, die Paginierung unterstützen, kann die datensatzbasierte Partitionierung für Mixpanel nicht unterstützt werden.
+ Die `Cohorts`-Entität unterstützt nur `CreatedDate/Time`-Felder und es ist kein zur Identifizierung von `UpdatedDate/Time` vorhanden, sodass da das Ergebnis `DML_Status` nicht identifiziert werden kann. Außerdem ist kein Endpunkt zur Identifizierung gelöschter Datensätze vorhanden. Daher kann CDC nicht unterstützt werden.
+  Um einen AWS Glue Job für die unten genannten Entitäten auszuführen, sind obligatorische Filter erforderlich. In der folgenden Tabelle finden Sie die folgenden Filter.  
**Entitätsname und erforderliche Filter**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/mixpanel-connector-limitations.html)

# Herstellen einer Verbindung mit Monday
<a name="connecting-to-monday"></a>

 Monday.com ist ein vielseitiges Arbeitsbetriebssystem, das das Projektmanagement und die Zusammenarbeit im Team optimiert. Es bietet anpassbare Arbeitsabläufe, visuelle Dashboards und Automatisierungstools zur Steigerung der Produktivität. Benutzer können Aufgaben verfolgen, Ressourcen verwalten und auf einer integrierten Plattform effektiv kommunizieren. 

**Topics**
+ [AWS Glue Unterstützung für Montag](monday-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](monday-configuring-iam-permissions.md)
+ [Konfigurieren von Monday](monday-configuring.md)
+ [Konfigurieren von Monday-Verbindungen](monday-configuring-connections.md)
+ [Lesen aus Monday-Entitäten](monday-reading-from-entities.md)
+ [Referenz zur Monday-Verbindungsoption](monday-connection-options.md)
+ [Einschränkungen](monday-connector-limitations.md)
+ [Erstellen Sie ein neues Monday-Konto:](#monday-account-creation)

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

AWS Glue unterstützt Montag wie folgt:

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

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

**Unterstützte Monday-API-Versionen**  
 v2. 

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

Bevor Sie Daten ab Montag AWS Glue übertragen können, müssen Sie die folgenden Voraussetzungen erfüllen:

## Mindestanforderungen
<a name="monday-configuring-min-requirements"></a>
+  Sie haben ein Monday-Entwicklerkonto mit E-Mail und Passwort. Weitere Informationen finden Sie unter [Erstellen Sie ein neues Monday-Konto:](connecting-to-monday.md#monday-account-creation). 
+  Ihr Monday-Konto ist für den API-Zugriff aktiviert. Die gesamte Nutzung von Monday APIs ist innerhalb der Testphase ohne zusätzliche Kosten möglich. Nach Ablauf der Testphase müssen Sie ein Abonnement erwerben, um Daten zu erstellen und darauf zuzugreifen. Weitere Informationen finden Sie auf der [Lizenzierungsseite von Monday](https://developer.monday.com/api-reference/reference/about-the-api-reference). 

 Wenn du diese Voraussetzungen erfüllst, kannst du dich mit deinem Monday-Konto verbinden AWS Glue . Für typische Verbindungen müssen Sie in Monday nichts weiter tun. 

# Konfigurieren von Monday-Verbindungen
<a name="monday-configuring-connections"></a>

Monday unterstützt die folgenden zwei Arten von Authentifizierungsmechanismen:

1.  OAuth Auth: Monday unterstützt den Zuschusstyp AUTHORIZATION\$1CODE für. OAuth2 
   +  Dieser Gewährungstyp wird als „dreibeiniges“ angesehen, OAuth da er darauf angewiesen ist, 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 verbundene App verlassen, bei der er außer der Instanceurl am Montag keine OAuth weiteren Informationen angeben muss. Die AWS Glue Konsole leitet den Benutzer zu Monday weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Monday-Instanz gewähren muss. 
   +  Benutzer sollten sich dafür entscheiden, am Montag ihre eigene verbundene App zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zu Monday weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 
   +  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 zum Erstellen einer verbundenen App für den AUTHORIZATION\$1CODE-Flow OAuth ](https://developers.Monday.com/docs/api/v1/Oauth). 

1.  Benutzerdefinierte Autorisierung: 
   +  [Die am Montag veröffentlichte Dokumentation zur Generierung der erforderlichen API-Schlüssel für die benutzerdefinierte Autorisierung finden Sie unter docs/authentication\$1. https://developer.monday.com/api-reference/ api-token-permissions](https://developer.monday.com/api-reference/docs/authentication#api-token-permissions) 

So konfigurieren Sie eine Monday-Verbindung:

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

   1.  Für die OAuth Authentifizierung: 
      +  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.  Für benutzerdefinierte Autorisierung: 
      +  Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `personalAccessToken` als Schlüssel enthalten. 

1. Stellen Sie in AWS Glue Studio unter **Datenverbindungen** eine Verbindung her, 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** Monday aus.

   1. Geben Sie Ihre **Instance-URL** für Monday ein.

   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.  Wählen Sie den Authentifizierungstyp aus, um eine Verbindung zu Monday herzustellen: 
      +  Für OAuth die Authentifizierung: Geben Sie die **Token-URL** und die **benutzerverwaltete Client-Anwendung ClientId ** des Montags an, zu dem Sie eine Verbindung herstellen möchten. 
      +  Für die benutzerdefinierte Autorisierung: Wählen Sie den Authentifizierungstyp **CUSTOM** aus, um eine Verbindung zu Monday herzustellen. 

   1.  Wählen Sie den aus`secretName`, den Sie für diese Verbindung verwenden möchten AWS Glue , um die Token einzufügen. 

   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.  Stellen `connectionName` Sie in Ihrer AWS Glue Jobkonfiguration eine **zusätzliche Netzwerkverbindung** bereit. 

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

 **Voraussetzungen** 
+  Ein Monday-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 für Quelle** 

 Liste der Entitäten: 
+  Konto: [https://developer.monday.com/api-reference/docs/account](https://developer.monday.com/api-reference/docs/account#queries) \$1queries 
+  [Forum: docs/boards \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/boards#queries) 
+  [Spalte: Dokumente/Spalten \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/columns#queries) 
+  [Dokumente: Dokumente/Dokumente \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/docs#queries) 
+  [Dokumentenblock: https://developer.monday.com/api-reference/ Dokumente/Blöcke \$1queries](https://developer.monday.com/api-reference/docs/blocks#queries) 
+  [Dateien: Dokumente/Dateien \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/files#queries) 
+  [Ordner: Dokumente/Ordner \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/folders#queries) 
+  [Gruppen: Dokumente/Gruppen \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/groups#queries) 
+  [Artikel: Dokumente/Artikel \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/items#queries) 
+  [Unterelemente: Dokumente/Unterelemente \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/subitems#queries) 
+  [Schlagworte: docs/tags-queries \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/tags-queries#queries) 
+  [Teams: Dokumente/Teams \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/teams#queries) 
+  [Aktualisierungen: Dokumente/Updates \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/updates#queries) 
+  [Benutzer: Dokumente/Benutzer \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/users#queries) 
+  [Arbeitsbereiche: Dokumente/Arbeitsbereiche \$1queries https://developer.monday.com/api-reference/](https://developer.monday.com/api-reference/docs/workspaces#queries) 


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Account | Nein | Nein | Nein | Ja | Nein | 
| Boards | Ja | Ja | Nein | Ja | Nein | 
| Spalten | Nein | Nein | Nein | Ja | Nein | 
| Dokumente | Ja | Ja | Nein | Ja | Nein | 
| Dokumentblöcke | Nein | Ja | Nein | Ja | Nein | 
| Dateien | Ja | Nein | Nein | Ja | Nein | 
| Gruppen | Nein | Nein | Nein | Ja | Nein | 
| Item | Ja | Ja | Nein | Ja | Nein | 
| Unterelemente | Nein | Nein | Nein | Ja | Nein | 
| Tags (Markierungen) | Ja | Nein | Nein | Ja | Ja | 
| Teams | Ja | Nein | Nein | Ja | Nein | 
| Aktualisierungen | Nein | Ja | Nein | Ja | Nein | 
| Benutzer | Ja | Ja | Nein | Ja | Nein | 
| Arbeitsbereiche | Ja | Ja | Nein | Ja | Nein | 
| Ordner | Ja | Ja | Nein | Ja | Nein | 

 **Beispiel** 

```
monday_read = glueContext.create_dynamic_frame.from_options(
     connection_type="monday",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "account",
         "API_VERSION": "v2"
     }
```

# Referenz zur Monday-Verbindungsoption
<a name="monday-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Monday aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Monday. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der Monday-REST-API, die Sie verwenden möchten. Beispiel: v2. 
+  `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
<a name="monday-connector-limitations"></a>

Die folgenden Einschränkungen gelten für den Monday-Connector:
+  In der dynamischen Metadatenantwort gibt es einige Konflikte mit der Dokumentation, wie unten beschrieben: 
  +  Die Entität für Gruppe, Spalte unterstützt Filteroperationen, ist jedoch nicht im Endpunkt dynamischer Metadaten vorhanden und wird daher als nicht filterbare Entität beibehalten. 
  +  Der dynamische Endpunkt besteht aus mehr als 15.000 Zeilen und gibt Metadaten aller Entitäten in einer einzigen Antwort zurück. Aus diesem Grund dauert das Laden der Felder durchschnittlich 10 Sekunden, sodass dies bei der Ausführung eines Auftrags etwas mehr Zeit in Anspruch nehmen würde. 
  +  In der folgenden Tabelle finden Sie das Monday-Ratenlimit. Die erhebliche Größe der Antwortdaten der dynamischen Entität führt zu einer spürbaren Verzögerung. Das Laden von Feldern dauert durchschnittlich 10 Sekunden.     
<a name="monday-rate-limit-table"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/monday-connector-limitations.html)

## Erstellen Sie ein neues Monday-Konto:
<a name="monday-account-creation"></a>

1.  Navigiere zur Startseite von Monday, [https://monday.com/](https://monday.com/)und wähle **Anmelden**. 

1.  Sie werden zur Anmeldeseite weitergeleitet. Wählen Sie unten auf der Seite **Sign up** aus. 

1.  Geben Sie Ihre E-Mail-Adresse ein und wählen Sie **Continue**. Alternativ können Sie sich mit Google anmelden. 

1.  Geben Sie die erforderlichen Details ein und klicken Sie dann auf **Continue**. 

1.  Füllen Sie die Fragen aus und folgen Sie den Schritten, um die Kontoerstellung abzuschließen. 

**Registrieren Sie eine OAuth Anwendung:**

1.  Melden Sie sich bei Ihrem Konto bei monday.com an. Klicken Sie unten links auf dem Bildschirm auf Ihren Avatar (Bildsymbol). 

1.  Wählen Sie **Developer**. 

1.  Wählen Sie **App erstellen**. 

1.  Füllen Sie die Pflichtfelder für Name und Beschreibung aus. 

1. Navigieren Sie zum Abschnitt „OAuth“ auf der rechten Seite, fügen Sie die Bereiche hinzu und wählen Sie „Funktion speichern“.

1.  Navigieren Sie zur Registerkarte für Umleitungs-URLs neben dem Bereich, fügen Sie die Umleitungs-URL hinzu und speichern Sie das Feature. 

1.  Geben Sie auf der URLs Registerkarte „**Weiterleitung**“ die URL Ihrer App an. Das sollte https://\$1region-code\$1.console.aws.amazon.com/appflow/ OAuth sein. Wenn Sie beispielsweise `us-east-1 ` verwenden, können Sie `https://us-east-1.console.aws.amazon.com/appflow/oauth` hinzufügen. 

1.  Die Anwendung ist jetzt einsatzbereit. Sie finden Ihre Anmeldeinformationen im Abschnitt mit grundlegenden Informationen. Notieren Sie sich die Client-ID und den geheimen Client-Schlüssel. Diese Zeichenfolgen werden verwendet, um über einen Connector eine Verbindung mit dieser App herzustellen. AppFlow 

**Generieren Sie ein persönliches Zugriffstoken:**

 Derzeit bietet monday.com nur unsere V2-API-Token an, bei denen es sich ausschließlich um persönliche Token handelt. Um auf Ihre API-Token zuzugreifen, können Sie je nach Ihrer Benutzerstufe eine von zwei Methoden verwenden. Administratoren können beide Methoden nutzen, um ihre API-Token zu erhalten. Mitglieder können über die Registerkarte „Developer“ auf ihre API-Token zugreifen. 

 Administratoren: Wenn Sie Administrator Ihres monday.com-Kontos sind, können Sie über die Registerkarte „Admin“ mit den folgenden Schritten auf Ihre API-Token zugreifen: 

1.  Melden Sie sich bei Ihrem Konto bei monday.com an. Klicken Sie unten links auf dem Bildschirm auf Ihren Avatar (Bildsymbol). 

1.  Wählen Sie im daraufhin angezeigten Menü „Administration“ aus (dafür benötigen Sie Administratorrechte). 

1.  Navigieren Sie zum Abschnitt „API“ und generieren Sie ein „API V2 Token“. Sie können Ihr Token kopieren und verwenden. 

 Entwickler: Wenn Sie ein Mitglied Ihres monday.com-Kontos sind, können Sie über die Registerkarte „Developer“ mit den folgenden Schritten auf Ihre API-Token zugreifen: 

1.  Melden Sie sich bei Ihrem Konto bei monday.com an. Klicken Sie unten links auf dem Bildschirm auf Ihren Avatar (Bildsymbol). 

1.  Wählen Sie im daraufhin angezeigten Menü „Developer“ aus. 

1.  Wählen Sie im oberen Menü das Drop-down-Menü „Developer“. Wählen Sie im Drop-down-Menü die erste Option mit dem Titel „My Access Tokens“ aus. 

# Verbindung zu MongoDB in AWS Glue Studio herstellen
<a name="connecting-to-data-mongodb"></a>

 AWS Glue bietet integrierte Unterstützung für MongoDB. AWS Glue Studio stellt eine visuelle Benutzeroberfläche bereit, um eine Verbindung zu MongoDB herzustellen, Datenintegrationsaufträge zu verfassen und diese in der AWS Glue Studio-Serverless-Spark-Laufzeit auszuführen. 

**Topics**
+ [Erstellen einer MongoDB-Verbindung](creating-mongodb-connection.md)
+ [Erstellen eines MongoDB-Quellknotens](creating-mongodb-source-node.md)
+ [Erstellen eines MongoDB-Zielknotens](creating-mongodb-target-node.md)
+ [Erweiterte Optionen](#creating-mongodb-connection-advanced-options)

# Erstellen einer MongoDB-Verbindung
<a name="creating-mongodb-connection"></a>

**Voraussetzungen:**
+ Wenn sich Ihre MongoDB-Instance in einer Amazon VPC befindet, konfigurieren Sie Amazon VPC so, dass Ihr AWS Glue Job mit der MongoDB-Instance kommunizieren kann, ohne dass der Datenverkehr das öffentliche Internet durchquert. 

  Identifizieren oder erstellen Sie in Amazon VPC eine **VPC**, ein **Subnetz** und eine **Sicherheitsgruppe**, die bei der Ausführung des Jobs verwendet AWS Glue werden. Darüber hinaus muss Amazon VPC so konfiguriert sein, dass der Netzwerkdatenverkehr zwischen Ihrer MongoDB-Instance und diesem Standort zugelassen wird. Abhängig von Ihrem Netzwerklayout kann dies Änderungen an den Sicherheitsgruppenregeln, dem Netzwerk ACLs, den NAT-Gateways und den Peering-Verbindungen erfordern.

**Eine Verbindung zu MongoDB konfigurieren Sie wie folgt:**

1. Erstellen Sie optional ein Geheimnis mit Ihren MongoDB-Anmeldeinformationen. AWS Secrets Manager Um ein Geheimnis in Secrets Manager zu erstellen, folgen Sie dem Tutorial, das in der AWS Secrets Manager Dokumentation unter [Create an AWS Secrets Manager Secret](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) verfügbar ist. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Geheimnamen *secretName* für den nächsten Schritt bei. 
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `username` mit dem Wert. *mongodbUser*

     Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `password` mit dem Wert. *mongodbPass*

1. Stellen Sie in der AWS Glue Konsole eine Verbindung her, indem Sie den Schritten unter folgen. [AWS Glue Verbindung hinzufügen](console-connections.md) Nachdem Sie die Verbindung hergestellt haben, behalten Sie den Verbindungsnamen,*connectionName*, für die future Verwendung in AWS Glue. 
   + Wählen Sie als **Verbindungstyp** die Option **MongoDB** oder **MongoDB Atlas** aus.
   + Geben Sie als **MongoDB-URL** oder **MongoDB-Atlas-URL** den Hostnamen Ihrer MongoDB-Instance an.

     Eine MongoDB-URL wird im Format `mongodb://mongoHost:mongoPort/mongoDBname` bereitgestellt.

     Eine MongoDB-Atlas-URL wird im Format `mongodb+srv://mongoHost/mongoDBname` bereitgestellt.
   + Wenn Sie sich dafür entschieden haben, ein Secrets Manager Manager-Geheimnis zu erstellen, wählen Sie den **Typ AWS Secrets Manager Credential**.

     Geben Sie dann im Feld **AWS Secret Folgendes** ein*secretName*.
   + Wenn Sie sich dafür entscheiden, einen **Benutzernamen und ein Passwort** anzugeben, geben Sie *mongodbUser* und ein*mongodbPass*.

1. In den folgenden Situationen ist möglicherweise eine zusätzliche Konfiguration erforderlich:
   + 

     Für MongoDB-Instances, die AWS in einer Amazon VPC gehostet werden
     + Sie müssen Amazon VPC-Verbindungsinformationen für die Verbindung angeben, die Ihre AWS Glue MongoDB-Sicherheitsanmeldedaten definiert. Wenn Sie Ihre Verbindung erstellen oder aktualisieren, legen Sie **VPC**, **Subnetz** und **Sicherheitsgruppen** in den **Netzwerkoptionen** fest.

Nachdem Sie eine AWS Glue MongoDB-Verbindung hergestellt haben, müssen Sie die folgenden Schritte ausführen, bevor Sie Ihren AWS Glue Job ausführen:
+ Wenn Sie mit AWS Glue Jobs im Visual Editor arbeiten, müssen Sie Amazon VPC-Verbindungsinformationen angeben, damit Ihr Job eine Verbindung zu MongoDB herstellen kann. Identifizieren Sie einen geeigneten Standort in Amazon VPC und geben Sie ihn in Ihrer AWS Glue -MongoDB-Verbindung an.
+ Wenn Sie sich dafür entschieden haben, ein Secrets Manager Manager-Geheimnis zu erstellen, gewähren Sie der mit Ihrem AWS Glue Job verknüpften IAM-Rolle die *secretName* Leseberechtigung.

# Erstellen eines MongoDB-Quellknotens
<a name="creating-mongodb-source-node"></a>

## Voraussetzungen
<a name="creating-mongodb-source-node-prerequisites"></a>
+ Eine AWS Glue MongoDB-Verbindung, wie im vorherigen Abschnitt beschrieben,[Erstellen einer MongoDB-Verbindung](creating-mongodb-connection.md).
+ Wenn Sie ein Secrets-Manager-Secret erstellt haben, benötigen Sie die entsprechenden Berechtigungen für Ihren Auftrag, um das von der Verbindung verwendete Geheimnis zu lesen.
+ Eine MongoDB-Sammlung, aus der Sie lesen möchten. Sie benötigen Identifikationsinformationen für die Sammlung.

  Eine MongoDB-Sammlung wird durch einen Datenbanknamen und einen Sammlungsnamen identifiziert,*mongodbName*,*mongodbCollection*.

## Hinzufügen einer MongoDB-Datenquelle
<a name="creating-mongodb-source-node-add"></a>

**Fügen Sie einen Knoten **Datenquelle – MongoDB** wie folgt hinzu:**

1.  Wählen Sie die Verbindung für Ihre MongoDB-Datenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **MongoDB-Verbindung erstellen** aus. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Erstellen einer MongoDB-Verbindung](creating-mongodb-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Wählen Sie eine **Datenbank** aus. Geben Sie *mongodbName* ein.

1. Wählen Sie eine **Sammlung** aus. Geben Sie *mongodbCollection* ein.

1. Wählen Sie einen **Partitionierer**, eine **Partitionsgröße (MB)** und einen **Partitionsschlüssel** aus. Weitere Informationen zu Partitionierungsparametern finden Sie unter [„connectionType“: „mongodb“ als Quelle](aws-glue-programming-etl-connect-mongodb-home.md#etl-connect-mongodb-as-source).

1.  Geben Sie unter **Benutzerdefinierte MongoDB-Eigenschaften** nach Bedarf Parameter und Werte ein. 

# Erstellen eines MongoDB-Zielknotens
<a name="creating-mongodb-target-node"></a>

## Voraussetzungen
<a name="creating-mongodb-target-node-prerequisites"></a>
+ Eine AWS Glue MongoDB-Verbindung, konfiguriert mit einem AWS Secrets Manager Geheimnis, wie im vorherigen Abschnitt beschrieben,[Erstellen einer MongoDB-Verbindung](creating-mongodb-connection.md).
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Eine MongoDB-Tabelle, in die Sie schreiben möchten,*tableName*.

## Hinzufügen eines MongoDB-Datenziels
<a name="creating-mongodb-target-node-add"></a>

**Fügen Sie einen Knoten **Datenziel – MongoDB** wie folgt hinzu:**

1.  Wählen Sie die Verbindung für Ihre MongoDB-Datenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **MongoDB-Verbindung erstellen** aus. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Erstellen einer MongoDB-Verbindung](creating-mongodb-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Wählen Sie eine **Datenbank** aus. Geben Sie *mongodbName* ein.

1. Wählen Sie eine **Sammlung** aus. Geben Sie *mongodbCollection* ein.

1. Wählen Sie einen **Partitionierer**, eine **Partitionsgröße (MB)** und einen **Partitionsschlüssel** aus. Weitere Informationen zu Partitionierungsparametern finden Sie unter [„connectionType“: „mongodb“ als Quelle](aws-glue-programming-etl-connect-mongodb-home.md#etl-connect-mongodb-as-source).

1. Wählen Sie bei Bedarf **Schreibvorgänge wiederholen** aus.

1.  Geben Sie unter **Benutzerdefinierte MongoDB-Eigenschaften** nach Bedarf Parameter und Werte ein. 

## Erweiterte Optionen
<a name="creating-mongodb-connection-advanced-options"></a>

Sie können bei der Erstellung eines MongoDB-Knotens erweiterte Optionen angeben. Diese Optionen sind dieselben wie die, die bei der Programmierung AWS Glue für Spark-Skripte verfügbar sind.

Siehe [Referenz zur MongoDB-Verbindungsoption](aws-glue-programming-etl-connect-mongodb-home.md#aws-glue-programming-etl-connect-mongodb). 

# Verbindung zu Oracle herstellen NetSuite
<a name="connecting-to-data-oracle-netsuite"></a>

Oracle NetSuite ist eine all-in-one Cloud-Business-Management-Lösung, die Unternehmen dabei unterstützt, effektiver zu arbeiten, indem sie Kernprozesse automatisiert und Echtzeiteinblicke in die betriebliche und finanzielle Leistung bietet. Mit einer einzigen, integrierten Suite von Anwendungen für die Verwaltung von Buchhaltung, Auftragsabwicklung, Bestandsverwaltung, Produktion, Lieferkette und Lagerbetrieb NetSuite bietet Oracle Unternehmen einen klaren Überblick über ihre Daten und eine strengere Kontrolle über ihre Geschäfte.

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

# AWS Glue Unterstützung für Oracle NetSuite
<a name="oracle-netsuite-support"></a>

AWS Glue unterstützt Oracle NetSuite wie folgt:

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

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

**Unterstützte NetSuite Oracle-API-Versionen**  
Die folgenden NetSuite Oracle-API-Versionen werden unterstützt:
+ v1

Informationen zur Unterstützung von Entitäten pro Version finden Sie unter „Unterstützte Entitäten für Quelle“.

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="oracle-netsuite-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.

# Konfiguration von Oracle NetSuite
<a name="oracle-netsuite-configuring"></a>

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein NetSuite Oracle-Konto. Weitere Informationen finden Sie unter [Ein NetSuite Oracle-Konto erstellen](#oracle-netsuite-configuring-creating-oracle-netsuite-account).
+ Ihr NetSuite Oracle-Konto ist für den API-Zugriff aktiviert.
+ Sie haben eine OAuth 2.0-API-Integration in Ihrem NetSuite Oracle-Entwicklerkonto erstellt. Diese Integration stellt die Client-Anmeldeinformationen bereit, die für den sicheren Zugriff auf Ihre Daten AWS Glue verwendet werden, wenn authentifizierte Aufrufe an Ihr Konto getätigt werden. Weitere Informationen finden Sie unter [Eine NetSuite Oracle-Client-App und OAuth 2.0-Anmeldeinformationen erstellen](#oracle-netsuite-configuring-creating-oracle-netsuite-client-app).

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

## Ein NetSuite Oracle-Konto erstellen
<a name="oracle-netsuite-configuring-creating-oracle-netsuite-account"></a>

Navigieren Sie zu [Oracle NetSuite](https://www.netsuite.com/portal/home.shtml) und wählen Sie **Free Product Tour**. Geben Sie die erforderlichen Details ein, um eine kostenlose Produktvorführung zu erhalten, über die Sie Kontakt zu einem Anbieter aufnehmen können. So erhalten Sie ein Konto:
+ Die Beschaffung eines NetSuite Accounts erfolgt über einen Anbieter, der einen Account zur Verfügung stellt form/quote , der rechtlich geprüft werden muss.
+ Das Konto, das für den Oracle NetSuite Connector beschafft werden soll, ist vom **Standard Cloud Service**.
+ Dieses Konto wird vom Anbieter erstellt und temporäre Anmeldeinformationen werden bereitgestellt. Sie erhalten eine Willkommens-E-Mail von NetSuite < billing@notification.netsuite.com > < system@sent-via.netsuite.com > mit Details wie Ihrem Benutzernamen und einem Link zum Einstellen Ihres Passworts.
+ Verwenden Sie den Link zum **Festlegen des Passworts**, um das Passwort für den vom Anbieter bereitgestellten Benutzernamen festzulegen.

## Eine NetSuite Oracle-Client-App und OAuth 2.0-Anmeldeinformationen erstellen
<a name="oracle-netsuite-configuring-creating-oracle-netsuite-client-app"></a>

Um die Client ID und den Client Secret zu erhalten, erstellen Sie eine NetSuite Oracle-Client-App:

1. Loggen Sie sich über das [NetSuite Kunden-Login in Ihr NetSuite Konto ein](https://system.netsuite.com/pages/customerlogin.jsp).

1. Wählen Sie **Einrichtung** > **Unternehmen** > **Features aktivieren**.

1. Navigieren Sie zu dem **SuiteCloud**Abschnitt und aktivieren Sie das Kontrollkästchen **REST WEB SERVICES** unter **SuiteTalk (Web Services)**.

1. Aktivieren Sie das Kontrollkästchen **OAUTH 2.0** unter **Authentifizierung verwalten**. Klicken Sie auf **Speichern**.

1. Gehen Sie zu **Setup** > **Integration** > **Integrationen verwalten** und wählen Sie **Neu**, um eine OAuth2 2.0-Anwendung zu erstellen.

1. Geben Sie einen Namen ein und lassen Sie **STATE** aktiviert.

1. Wenn diese Option aktiviert ist, deaktivieren Sie die Kontrollkästchen **TBA: AUTHORIZATION FLOW** und **TOKEN-BASED AUTHENTICATION** unter **Token-basierte Authentifizierung**.

1. **Wählen Sie unter 2.0 die **Kontrollkästchen AUTHORIZATION CODE GRANT** und **PUBLIC CLIENT** aus. OAuth **

1. Notieren Sie unter „Auth“ die Client-ID und den geheimen Client-Schlüssel.

1. Geben Sie eine **UMLEITUNGS-URI** ein. Zum Beispiel oauth https://us-east-1.console.aws.amazon.com/gluestudio/

1. Aktivieren Sie unter **SCOPE** das Kontrollkästchen **REST WEB SERVICES**.

1. Aktivieren Sie unter den **Benutzeranmeldedaten** das Kontrollkästchen **USER CREDENTIALS**. Wählen Sie **Speichern**.

1. Notieren Sie sich die CONSUMER KEY/CLIENT ID und das CONSUMER SECRET/CLIENT SECRET unter **Client-Anmeldeinformationen**. Diese Werte werden nur einmal angezeigt.

1. Erstellen Sie bei Bedarf eine ADMINISTRATOR-Rolle, indem Sie zu **Benutzer/Rollen** > **Rollen verwalten** > **Neu** navigieren.

1. Fügen Sie beim Erstellen einer benutzerdefinierten Rolle unter der Registerkarte **Berechtigungen** für die folgenden Entitäten/Funktionen Vollzugriff hinzu:
   + „Einzahlung“, „Artikel“, „Artikelabwicklung“, „Journaleintrag erstellen“, „Bestellung“, „Tochtergesellschaften“, „Lieferanten“, „Rechnungen“, „Autorisierung für Lieferantenrücksendungen“, „Zeit verfolgen“, „Kundenzahlung“, „Benutzerdefinierte Datensatzeinträge“, „Benutzerdefinierte Datensatztypen“, „REST Web Services“, „OAuth 2.0 Authorized Applications Management“, „Benutzerdefinierte Entitätsfelder“, „Mit OAuth 2.0-Zugriffstoken anmelden“.

Weitere Informationen finden Sie unter [OAuth 2.0](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_157769826287.html) in der NetSuite Applications Suite-Dokumentation.

# Konfiguration von NetSuite Oracle-Verbindungen
<a name="oracle-netsuite-configuring-connections"></a>

Oracle NetSuite unterstützt den Grant-Typ AUTHORIZATION\$1CODE für. OAuth2 Die Art der Gewährung bestimmt, wie mit Oracle AWS Glue kommuniziert wird, um Zugriff NetSuite auf Ihre Daten anzufordern.
+ Diese Art der Gewährung wird als „dreibeiniges“ angesehen, OAuth da sie 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 Der Benutzer, der eine Verbindung herstellt, kann sich standardmäßig auf eine AWS Glue eigene verbundene App (AWS Glue verwaltete Client-Anwendung) verlassen, für die er außer der URL seiner NetSuite Oracle-Instanz keine OAuth zugehörigen Informationen angeben muss. Die AWS Glue Konsole leitet den Benutzer zu Oracle weiter, NetSuite wo er sich anmelden und die angeforderten Berechtigungen für AWS Glue den Zugriff auf seine NetSuite Oracle-Instanz gewähren muss.
+ Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in Oracle zu erstellen NetSuite und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zu Oracle weitergeleitet, NetSuite um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.
+ Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.
+ Öffentliche NetSuite Oracle-Dokumentation zum Erstellen einer verbundenen App für den Authorization Code OAuth Flow finden Sie unter [Öffentliche Apps](https://developers.oracle-netsuite.com/docs/api/creating-an-app).

So konfigurieren Sie eine NetSuite Oracle-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 das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten.

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

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 eines **Verbindungstyps** Oracle aus NetSuite.

   1. Stellen Sie die NetSuite Oracle-Umgebung bereit.

   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.

# Aus NetSuite Oracle-Entitäten lesen
<a name="oracle-netsuite-reading-from-entities"></a>

**Voraussetzung**

Ein NetSuite Oracle-Objekt, aus dem Sie lesen möchten. Sie benötigen den Objektnamen wie `deposit` oder `timebill`. Die folgende Tabelle zeigt die unterstützten Entitäten.

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


| Entität | Kann gefiltert werden | Unterstützt „Sortieren nach“ | Unterstützt Limit | Unterstützt „\$1 SELECT“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Einzahlung | Ja | Nein | Ja | Ja | Ja | 
| Beschreibung Artikel | Ja | Nein | Ja | Ja | Ja | 
| Bestandsartikel | Ja | Nein | Ja | Ja | Ja | 
| Artikelbereitstellung | Ja | Nein | Ja | Ja | Ja | 
| Artikelgruppe | Ja | Nein | Ja | Ja | Ja | 
| Journaleintrag | Ja | Nein | Ja | Ja | Ja | 
| Nicht zum Bestand gehörender Kaufartikel | Ja | Nein | Ja | Ja | Ja | 
| Nicht zum Bestand gehörender Wiederverkaufsartikel | Ja | Nein | Ja | Ja | Ja | 
| Nicht zum Bestand gehörender Verkaufsartikel | Ja | Nein | Ja | Ja | Ja | 
| Bestellungen | Ja | Nein | Ja | Ja | Ja | 
| Niederlassung | Ja | Nein | Ja | Ja | Ja | 
| Hersteller | Ja | Nein | Ja | Ja | Ja | 
| Lieferantenrechnung | Ja | Nein | Ja | Ja | Ja | 
| Rücksendegenehmigung für Lieferanten | Ja | Nein | Ja | Ja | Ja | 
| Zeitrechnung | Ja | Nein | Ja | Ja | Ja | 
| Kundenzahlung | Ja | Nein | Ja | Ja | Ja | 
| Erfüllungsanfrage | Ja | Nein | Ja | Ja | Ja | 
| Item | Ja | Ja | Ja | Ja | Ja | 
| Transaktionsposition | Ja | Ja | Ja | Ja | Ja | 
| Transaktionsbuchhaltungsposition | Ja | Ja | Ja | Ja | Ja | 
| Benutzerdefinierte Datensatztypen (dynamisch) | Ja | Ja | Ja | Ja | Ja | 

**Beispiel:**

```
netsuiteerp_read = glueContext.create_dynamic_frame.from_options(
    connection_type="netsuiteerp",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "deposit",
        "API_VERSION": "v1"
    }
)
```

**Angaben zur NetSuite Oracle-Entität und zum Feld**:

Oracle lädt die verfügbaren Felder NetSuite dynamisch unter der ausgewählten Entität. Je nach Datentyp des Felds werden die folgenden Filteroperatoren unterstützt.


| Felddatentyp | Unterstützte Filteroperatoren | 
| --- | --- | 
| Zeichenfolge | LIKE, =, \$1= | 
| Date | BETWEEN, =, <, >, <=, >= | 
| DateTime | BETWEEN, <, <=, >, >= | 
| Numerischer Wert |  =, \$1=, <, <=, >, >= | 
| Boolesch |  =, \$1= | 

**Erwartetes Eingabeformat für boolesche Werte im Filterausdruck**:


| Entität | Boolesches Wertformat „wahr“ | Boolesches Wertformat „falsch“ | Beispiel | 
| --- | --- | --- | --- | 
| Entitäten vom Typ „Artikel“, „Transaktionsposition“, „Transaktionsbuchhaltungsposition“ und „Benutzerdefinierter Datensatz“ | T oder t | F oder f | isinactive = „T“ oder isinactive = „t“ | 
| Alle anderen Entitäten | true | false | isinactive = true | 

## Partitionieren von Abfragen
<a name="oracle-netsuite-reading-partitioning-queries"></a>

**Feldbasierte Partitionierung**

Der NetSuite Oracle-Konnektor verfügt über dynamische Metadaten, sodass unterstützte Felder für die feldbasierte Partitionierung dynamisch ausgewählt werden. Die feldbasierte Partitionierung wird für Felder mit dem Datentyp Integer BigInteger, Date oder unterstützt. DateTime

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 Timestamp-Feld akzeptieren wir das Spark-Zeitstempelformat, das in Spark-SQL-Abfragen verwendet wird.

  Beispiele für gültige Werte:

  ```
  "TIMESTAMP \"1707256978123\""
  "TIMESTAMP \"1702600882\""
  "TIMESTAMP '2024-02-06T22:00:00:00.000Z'"
  "TIMESTAMP '2024-02-06T22:00:00:00Z'"
  "TIMESTAMP '2024-02-06'"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
netsuiteerp_read = glueContext.create_dynamic_frame.from_options(
    connection_type="netsuiteerp",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "deposit",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "id",
        "LOWER_BOUND": "1",
        "UPPER_BOUND": "10000",
        "NUM_PARTITIONS": "10"
    }
```

**Datensatzbasierte Partitionierung**

Sie können die zusätzlichen Spark-Option `NUM_PARTITIONS` angeben, wenn Sie Parallelität in Spark nutzen möchten. Mit diesem Parameter würde die ursprüngliche Abfrage in `NUM_PARTITIONS` Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.

Bei der datensatzbasierten Partitionierung wird die Gesamtzahl der vorhandenen Datensätze von der NetSuite Oracle-API abgefragt und durch die angegebene `NUM_PARTITIONS` Zahl dividiert. Die resultierende Anzahl von Datensätzen wird dann gleichzeitig von jeder Unterabfrage abgerufen.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
netsuiteerp_read = glueContext.create_dynamic_frame.from_options(
    connection_type="netsuiteerp",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "deposit",
        "API_VERSION": "v1",
        "NUM_PARTITIONS": "3"
    }
```

# NetSuite Oracle-Verbindungsoptionen
<a name="oracle-netsuite-connection-options"></a>

Im Folgenden sind die Verbindungsoptionen für Oracle aufgeführt NetSuite:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name der NetSuite Oracle-Entität. Beispiel: Einzahlung.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Die Oracle NetSuite Rest API-Version, die Sie verwenden möchten. Der Wert wird v1 sein, da Oracle NetSuite derzeit nur Version v1 unterstützt.
+ `SELECTED_FIELDS` (Liste<Zeichenfolge>) – Standard: leer(SELECT \$1). Zum Lesen verwendet. Kommagetrennte Liste von Spalten, die Sie für die ausgewählte Entität 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 (feldbasierte Partitionierung).
+ `LOWER_BOUND`(Zeichenfolge) – Zum Lesen verwendet. Ein inklusiver Untergrenzwert des ausgewählten Partitionsfelds, der bei der feldbasierten Partitionierung verwendet wird.
+ `UPPER_BOUND`(Zeichenfolge) – Zum Lesen verwendet. Ein exklusiver Obergrenzwert des ausgewählten Partitionsfeldss, der bei der feldbasierten Partitionierung verwendet wird. 
+ `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen. Sowohl bei feld- als auch bei datensatzbasierter Partitionierung verwendet.
+ `INSTANCEE_URL`(String) — Eine gültige NetSuite Instanz-URL mit Format https://\$1account-id\$1.suitetalk.api.netsuite.com.

# Einschränkungen und Hinweise für Oracle NetSuite Connector
<a name="oracle-netsuite-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den NetSuite Oracle-Connector:
+ Die Werte der Parameter „access\$1token“ und „refresh\$1token“ haben das JWT-Format (JSON Web Token). Das Zugriffstoken ist 60 Minuten gültig, wohingegen das Aktualisierungstoken sieben Tage gültig ist.
+ Wenn Sie bei der Generierung von Client-ID und Client-Geheimnis „PUBLIC CLIENT“ zusammen mit „AUTHORIZATION CODE GRANT“ auswählen, ist das Aktualisierungstoken nur drei Stunden gültig und darf nur einmal verwendet werden.
+ Mit dem Connector können Sie maximal 1.000.000 Datensätze abrufen. Weitere Informationen finden Sie unter [Executing SuiteQL Queries Through REST Web Services](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_157909186990.html).
+ Partitionen werden so erstellt, dass jede Partition Datensätze in Vielfachen von 1.000 abruft, außer möglicherweise die letzte Partition, die die verbleibenden Datensätze abruft.
+ Bei den Objekten „Artikel“, „Transaktionszeile“, „Transaktionsbuchungszeile“ unterstützt der Connector aus folgenden Gründen einige Operatoren nicht:
  + Das Anwenden der Filteroperatoren `EQUAL_TO`, `NOT_EQUAL_TO` auf Felder vom Typ Datum führt zu unzuverlässigen Ergebnissen.
  + Das Anwenden des Filteroperators `LESS_THAN_OR_EQUAL_TO` auf Felder vom Typ Datum führt zu unzuverlässigen Ergebnissen und verhält sich ähnlich wie der `LESS_THAN`-Operator.
  + Das Anwenden des Filteroperators `GREATER_THAN` auf Felder vom Typ Datum= führt zu unzuverlässigen Ergebnissen und verhält sich ähnlich wie der `GREATER_THAN_OR_EQUAL_TO`-Operator.
+ Bei Objekten vom Typ „Artikel“, „Transaktionsposition“, „Transaktionsbuchhaltungsposition“ und „Benutzerdefinierter Datensatztyp“ werden boolesche Werte nicht im Standardformat, T/F sondern im Format angegebentrue/false. The connector maps the t/f values to true/false, um die Konsistenz der Daten zu gewährleisten.

# Verbindung zum OpenSearch Service herstellen in AWS Glue Studio
<a name="connecting-to-data-opensearch"></a>

 AWS Gluebietet integrierten Support für Amazon OpenSearch Service. AWS Glue Studiobietet eine visuelle Oberfläche, um eine Verbindung zu Amazon OpenSearch Service herzustellen, Datenintegrationsjobs zu erstellen und diese auf der AWS Glue Studio serverlosen Spark-Laufzeit auszuführen. Diese Funktion ist nicht mit OpenSearch Service Serverless kompatibel. 

 AWS Glue Studio erstellt eine einheitliche Verbindung für Amazon OpenSearch Service. Weitere Informationen finden Sie unter [Überlegungen](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

**Topics**
+ [Eine OpenSearch Dienstverbindung erstellen](creating-opensearch-connection.md)
+ [Einen OpenSearch Dienstquellknoten erstellen](creating-opensearch-source-node.md)
+ [Einen OpenSearch Service-Zielknoten erstellen](creating-opensearch-target-node.md)
+ [Erweiterte Optionen](#creating-opensearch-connection-advanced-options)

# Eine OpenSearch Dienstverbindung erstellen
<a name="creating-opensearch-connection"></a>

**Voraussetzungen:**
+ Identifizieren Sie den Domain-Endpunkt *aosEndpoint* und den Port, von dem *aosPort* Sie lesen möchten, oder erstellen Sie die Ressource, indem Sie den Anweisungen in der Amazon OpenSearch Service-Dokumentation folgen. Weitere Informationen zum Erstellen einer Domain finden Sie unter [Amazon OpenSearch Service-Domains erstellen und verwalten](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/createupdatedomains.html) in der Amazon OpenSearch Service-Dokumentation.

  Ein Amazon OpenSearch Service-Domain-Endpunkt hat das folgende Standardformat: https://search - *domainName* -*unstructuredIdContent*. *region*.es.amazonaws.com. Weitere Informationen zur Identifizierung Ihres Domain-Endpunkts finden Sie unter [Amazon OpenSearch Service-Domains erstellen und verwalten](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/createupdatedomains.html) in der Amazon OpenSearch Service-Dokumentation. 

  Identifizieren oder generieren Sie Anmeldeinformationen für die HTTP-Basisauthentifizierung *aosUser* und *aosPassword* für Ihre Domain.

**Um eine Verbindung zum OpenSearch Service zu konfigurieren:**

1. Erstellen Sie AWS Secrets Manager unter Verwendung Ihrer OpenSearch Dienstanmeldedaten ein Geheimnis. Um ein Geheimnis in Secrets Manager zu erstellen, folgen Sie dem Tutorial, das in der AWS Secrets Manager Dokumentation unter [Create an AWS Secrets Manager Secret](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) verfügbar ist. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Geheimnamen *secretName* für den nächsten Schritt bei. 
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `USERNAME` mit dem Wert. *aosUser*
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `PASSWORD` mit dem Wert. *aosPassword*

1. Stellen Sie in der AWS Glue Konsole eine Verbindung her, indem Sie den Schritten unter folgen. [AWS Glue Verbindung hinzufügen](console-connections.md) Nachdem Sie die Verbindung hergestellt haben, behalten Sie den Verbindungsnamen,*connectionName*, für die future Verwendung in AWS Glue. 
   + Wählen Sie bei der Auswahl eines **Verbindungstyps** OpenSearch Service aus.
   + Geben Sie bei der Auswahl eines Domänenendpunkts Folgendes an*aosEndpoint*.
   + Geben Sie bei der Auswahl eines Ports an*aosPort*.
   + Geben Sie bei der Auswahl eines **AWS Secrets** Folgendes an*secretName*.

# Einen OpenSearch Dienstquellknoten erstellen
<a name="creating-opensearch-source-node"></a>

## Voraussetzungen
<a name="creating-opensearch-source-node-prerequisites"></a>
+ Eine mit einem AWS Secrets Manager geheimen Schlüssel konfigurierte AWS Glue OpenSearch Dienstverbindung, wie im vorherigen Abschnitt beschrieben,[Eine OpenSearch Dienstverbindung erstellen](creating-opensearch-connection.md).
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Ein OpenSearch Dienstindex, aus dem Sie lesen möchten,*aosIndex*.

## Eine OpenSearch Dienstdatenquelle hinzufügen
<a name="creating-opensearch-source-node-add"></a>

**So fügen Sie eine **Datenquelle — einen OpenSearch Dienstknoten** hinzu:**

1.  Wählen Sie die Verbindung für Ihre OpenSearch Servicedatenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung herstellen müssen, wählen Sie ** OpenSearch Dienstverbindung erstellen**. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Eine OpenSearch Dienstverbindung erstellen](creating-opensearch-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Geben Sie **Index** an, den Index, den Sie lesen möchten.

1. Geben Sie optional **Query** an, eine OpenSearch Abfrage, um spezifischere Ergebnisse zu liefern. Weitere Informationen zum Schreiben von OpenSearch Abfragen finden Sie unter[Aus OpenSearch Dienstindizes lesen](aws-glue-programming-etl-connect-opensearch-home.md#aws-glue-programming-etl-connect-opensearch-read).

1.  Geben Sie in den **Eigenschaften des benutzerdefinierten OpenSearch Dienstes** nach Bedarf Parameter und Werte ein. 

# Einen OpenSearch Service-Zielknoten erstellen
<a name="creating-opensearch-target-node"></a>

## Voraussetzungen
<a name="creating-opensearch-target-node-prerequisites"></a>
+ Eine mit einem AWS Secrets Manager geheimen Schlüssel konfigurierte AWS Glue OpenSearch Dienstverbindung, wie im vorherigen Abschnitt beschrieben,[Eine OpenSearch Dienstverbindung erstellen](creating-opensearch-connection.md).
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Ein OpenSearch Dienstindex, in den Sie schreiben möchten,*aosIndex*.

## Ein OpenSearch Servicedatenziel hinzufügen
<a name="creating-opensearch-target-node-add"></a>

**Um ein **Datenziel — OpenSearch Serviceknoten** hinzuzufügen:**

1.  Wählen Sie die Verbindung für Ihre OpenSearch Servicedatenquelle. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung herstellen müssen, wählen Sie ** OpenSearch Dienstverbindung erstellen**. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Eine OpenSearch Dienstverbindung erstellen](creating-opensearch-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Geben Sie **Index** an, den Index, den Sie lesen möchten.

1.  Geben Sie in den **Eigenschaften des benutzerdefinierten OpenSearch Dienstes** nach Bedarf Parameter und Werte ein. 

## Erweiterte Optionen
<a name="creating-opensearch-connection-advanced-options"></a>

Sie können erweiterte Optionen angeben, wenn Sie einen OpenSearch Dienstknoten erstellen. Diese Optionen sind dieselben wie bei der Programmierung AWS Glue für Spark-Skripte.

Siehe [OpenSearch Serviceanschlüsse](aws-glue-programming-etl-connect-opensearch-home.md). 

# Herstellen einer Verbindung mit Okta
<a name="connecting-to-okta"></a>

 Die Okta-API ist die programmgesteuerte Schnittstelle zu Okta, die zur Verwaltung großer oder komplexer Okta-Konten und -Kampagnen verwendet wird. Wenn Sie ein Okta-Benutzer sind, können Sie eine Verbindung AWS Glue zu Ihrem Okta-Konto herstellen. Anschließend können Sie Okta als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Okta und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen. 

**Topics**
+ [AWS Glue Unterstützung für Okta](okta-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](okta-configuring-iam-permissions.md)
+ [Konfigurieren von Okta](okta-configuring.md)
+ [Konfigurieren von Okta-Verbindungen](okta-configuring-connections.md)
+ [Lesen aus Okta-Entitäten](okta-reading-from-entities.md)
+ [Referenz zur Okta-Verbindungsoption](okta-connection-options.md)
+ [Schritte zum Erstellen eines neuen Okta-Kontos und einer Entwickler-App](okta-create-account.md)
+ [Einschränkungen](okta-connector-limitations.md)

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

AWS Glue unterstützt Okta wie folgt:

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

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

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

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

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

## Mindestanforderungen
<a name="okta-configuring-min-requirements"></a>
+  Sie haben ein Okta-Konto. Weitere Informationen zum Erstellen eines Kontos finden Sie unter [Schritte zum Erstellen eines neuen Okta-Kontos und einer Entwickler-App](okta-create-account.md). 
+  Ihr Okta-Konto ist für den API-Zugriff aktiviert. 
+  Sie haben eine OAuth2 API-Integration in Ihrem Okta-Konto erstellt. Diese Integration stellt die Kundenanmeldedaten bereit, die für den sicheren Zugriff auf Ihre Daten AWS Glue verwendet werden, wenn authentifizierte Anrufe an Ihr Konto getätigt werden. Weitere Informationen finden Sie unter Schritte zum Erstellen einer Client-App und unter OAuth2 2.0-Anmeldeinformationen: Neues Okta-Konto und Schritte zur Erstellung einer Entwickler-App 
+  Sie haben ein Okta-Konto mit einem. OktaApiToken Weitere Informationen finden Sie in der [Okta-Dokumentation](https://developer.okta.com/docs/guides/create-an-api-token/main/#create-the-token). 

 Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Okta-Konto herstellen. Für typische Verbindungen müssen Sie in Okta nichts weiter tun. 

# Konfigurieren von Okta-Verbindungen
<a name="okta-configuring-connections"></a>

 Okta unterstützt zwei Arten von Authentifizierungsmechanismen: 
+  OAuth Auth: Okta unterstützt den `AUTHORIZATION_CODE` Zuschusstyp. 
  +  Dieser Gewährungstyp 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 Die AWS Glue Konsole leitet den Benutzer zu Okta weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Okta-Instanz gewähren muss. 
  +  Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Okta 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 Okta weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 
  +  Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden. 
  +  Weitere Informationen finden Sie in der [öffentlichen Okta-Dokumentation zum Erstellen einer verbundenen App für den Autorisierungscodefluss](https://developers.google.com/workspace/guides/create-credentials). OAuth 
+  Benutzerdefinierte Autorisierung: 
  +  Die öffentliche Okta-Dokumentation zum Generieren der erforderlichen API-Schlüssel für die benutzerdefinierte Autorisierung finden Sie in der [Okta-Dokumentation](https://developer.okta.com/docs/guides/create-an-api-token/main/#create-the-token). 

So konfigurieren Sie eine Verbindung zu Okta:

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

   1.  Für die OAuth Authentifizierung: 
      +  Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 

   1.  Für benutzerdefinierte Autorisierung: 
      +  Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `OktaApiToken` als Schlüssel enthalten. 

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

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

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

   1. Geben Sie Ihre Okta-Unterdomäne an.

   1. Wählen Sie die Okta-Domänen-URL Ihres Okta-Kontos aus.

   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.  Wählen Sie den Authentifizierungstyp aus, um eine Verbindung zur Datenquelle herzustellen. 

   1.  Geben Sie als OAuth2 Authentifizierungstyp die **User Managed Client Application ClientId** der Okta-App an. 

   1.  Wählen Sie den aus`secretName`, den Sie für diese Verbindung verwenden möchten AWS Glue , um die Token einzufügen. 

   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. 

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

 **Voraussetzungen** 
+  Ein Okta-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 | 
| --- | --- | --- | --- | --- | --- | 
| Anwendungen | Ja | Ja | Nein | Ja | Nein | 
| Geräte | Ja | Ja | Nein | Ja | Ja | 
| Gruppen | Ja | Ja | Ja | Ja | Ja | 
| Benutzer | Ja | Ja | Ja | Ja | Ja | 
| Benutzertypen | Nein | Nein | Nein | Ja | Nein | 

 **Beispiel** 

```
okta_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Okta",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "applications",
        "API_VERSION": "v1"
    }
```

 **Okta-Entitäts- und Felddetails** 

 Liste der Entitäten: 
+  Anwendung: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/) 
+  Gerät: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Device/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Device/) 
+  Gruppe: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/) 
+  Benutzer: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/) 
+  Benutzertyp: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/) 

 **Partitionierung von Abfragen** 

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

```
okta_read = glueContext.create_dynamic_frame.from_options(
    connection_type="okta",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "lastUpdated",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "lastMembershipUpdated"
        "LOWER_BOUND": "2022-08-10T10:28:46.000Z"
        "UPPER_BOUND": "2024-08-10T10:28:46.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Referenz zur Okta-Verbindungsoption
<a name="okta-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Okta aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Okta. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der Okta-REST-API, die Sie verwenden möchten. 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. 

# Schritte zum Erstellen eines neuen Okta-Kontos und einer Entwickler-App
<a name="okta-create-account"></a>

 Erstellen Sie ein Entwicklerkonto in Okta, um Zugriff auf die Okta-API zu erhalten. Ein kostenloses Okta-Entwicklerkonto bietet Zugriff auf die meisten wichtigen Entwicklerfunktionen, die für den Zugriff auf die Okta-API erforderlich sind. 

**So erstellen Sie ein Entwicklerkonto in Okta:**

1.  Navigieren Sie zu [https://developer.okta.com/signup/](https://console.cloud.google.com). 

1.  Geben Sie die E-Mail-Adresse, den Vornamen, den Nachnamen und das Land/die Region als Kontoinformationen ein. Wählen Sie **Ich bin kein Roboter** und dann **Anmelden** aus. 

1.  Eine Bestätigungs-E-Mail wird an Ihre registrierte E-Mail-ID gesendet. In Ihrer E-Mail erhalten Sie einen Link zur Aktivierung Ihres Okta-Entwicklerkontos. Wählen Sie **Aktivieren**. 

1.  Sie werden zur Seite zum Zurücksetzen des Passworts weitergeleitet. Geben Sie das neue Passwort zweimal ein und wählen Sie **Passwort zurücksetzen** aus. 

1.  Sie werden zum Dashboard Ihres Okta-Entwicklerkontos weitergeleitet. 

**Um eine Client-App und OAuth 2.0-Anmeldeinformationen zu erstellen**

1.  Wählen Sie im Entwickler-Dashboard die Option zum Erstellen einer App-Integration aus.   
![\[Der Screenshot zeigt die Seite „ OAuth Client-ID erstellen“ und den URIs Abschnitt „Autorisierte Weiterleitung“. Fügen Sie hier die hinzu URIs und wählen Sie bei Bedarf URI HINZUFÜGEN. Klicken Sie auf „ERSTELLEN“, wenn Sie fertig sind.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/create-client-app-step-1.png)

1.  Das Fenster **Neue App-Integration erstellen** wird angezeigt und enthält verschiedene Anmeldemethoden. Wählen Sie **OIDC – OpenID Connect** aus. 

1.  Scrollen Sie nach unten zum Abschnitt „Anwendungstyp“. Wählen Sie **Webanwendung** aus und klicken Sie auf **Weiter**. 

1.  Geben Sie auf dem Bildschirm „Neue Web-App-Integration“ folgende Informationen ein: 
   + Name der App-Integration – Geben Sie den Namen der App an. 
   + Gewährungstyp – Wählen Sie den **Autorisierungscode** und das **Aktualisierungstoken** in der Liste aus.
   + Anmeldeweiterleitung URIs — Wählen Sie **URI hinzufügen** und hinzufügen`https://{regioncode}.console.aws.amazon.com/appflow/oauth`. Wenn Sie beispielsweise `us-west-2 (Oregon)` verwenden, können Sie `https://us-east-1.console.aws.amazon.com/appflow/oauth` hinzufügen.
   + Kontrollierter Zugriff – Ordnen Sie die App nach Bedarf Ihren Benutzergruppen zu und wählen Sie **Speichern** aus.

1. Ihre Client-ID und Ihr Client-Geheimnis werden generiert.

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

Die folgenden Einschränkungen gelten für den Okta-Connector:
+  Für die Entität „Anwendungen“ kann nur ein Filter angewendet werden. Wenn mehr als 1 Filter angewendet wird, werden „400 Bad Request“-Fehler mit der Fehlerzusammenfassung „Ungültige Suchkriterien“ zurückgegeben. 
+  Die Option „Sortieren nach“ kann nur bei Suchanfragen unterstützt werden. Zum Beispiel ` http://dev-15940405.okta.com/api/v1/groups?search=type e.q. "OKTA_GROUP"&sortBy=lastUpdated&sortOrder=asc ` 

# Verbindung herstellen zu PayPal
<a name="connecting-to-data-paypal"></a>

PayPal ist ein Zahlungssystem, das Online-Geldtransfers zwischen Parteien erleichtert, z. B. Überweisungen zwischen Kunden und Online-Anbietern. Wenn Sie ein PayPal Benutzer sind, enthält Ihr Konto Daten über Ihre Transaktionen, z. B. deren Zahler, Daten und Status. Sie können AWS Glue es verwenden, um Daten von bestimmten AWS Diensten oder anderen unterstützten Anwendungen PayPal zu übertragen.

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

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

AWS Glue unterstützt PayPal wie folgt:

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

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

**Unterstützte PayPal API-Versionen**  
Die folgenden PayPal API-Versionen werden unterstützt:
+ v1

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="paypal-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.

# Konfiguration PayPal
<a name="paypal-configuring"></a>

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein PayPal Konto mit Kundenanmeldedaten.
+ Ihr PayPal Konto hat API-Zugriff mit einer gültigen Lizenz.

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem PayPal Konto herstellen. Für typische Verbindungen müssen Sie nichts weiter tun PayPal.

# PayPal Verbindungen konfigurieren
<a name="paypal-configuring-connections"></a>

PayPal unterstützt den Gewährungstyp CLIENT CREDENTIALS für OAuth2.
+ Dieser Gewährungstyp gilt als 2-Legged OAuth 2.0, da er von Clients verwendet wird, um außerhalb des Benutzerkontextes ein Zugriffstoken zu erhalten. AWS Glue ist in der Lage, die Client-ID und das Client-Geheimnis zur Authentifizierung zu verwenden PayPal APIs , die von benutzerdefinierten Diensten bereitgestellt werden, die Sie definieren.
+ Jeder benutzerdefinierte Service gehört einem Nur-API-Benutzer, der über eine Reihe von Rollen und Berechtigungen verfügt, die den Service zur Ausführung bestimmter Aktionen autorisieren. Ein Zugriffstoken ist einem einzelnen benutzerdefinierten Service zugeordnet.
+ Dieser Gewährungstyp führt zu einem Zugriffstoken, das nur von kurzer Dauer ist und durch erneutes Aufrufen des `/v2/oauth2/token`-Endpunkts erneuert werden kann.
+ Öffentliche PayPal Dokumentation für OAuth 2.0 mit Client-Anmeldeinformationen finden Sie unter [Authentifizierung](https://developer.paypal.com/api/rest/authentication/).

So konfigurieren Sie eine PayPal 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 das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` 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 eines **Verbindungstyps** PayPal.

   1. Geben Sie die PayPal Instanz `INSTANCE_URL` an, zu der Sie eine Verbindung herstellen möchten.

   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.

## Anmeldeinformationen für OAuth Version 2.0 erhalten
<a name="paypal-getting-oauth-20-credentials"></a>

Um die Rest-API aufzurufen, müssen Sie Ihre Client-ID und Ihr Client-Geheimnis gegen ein Zugriffstoken eintauschen. Weitere Informationen finden Sie unter [Erste Schritte mit PayPal REST APIs](https://developer.paypal.com/api/rest/).

# Aus PayPal Entitäten lesen
<a name="paypal-reading-from-entities"></a>

**Voraussetzung**

Ein PayPal Objekt, aus dem Sie lesen möchten. Sie benötigen den Objektnamen, `transaction`.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Transaktion | Ja | Ja | Nein | Ja | Ja | 

**Beispiel:**

```
paypal_read = glueContext.create_dynamic_frame.from_options(
    connection_type="paypal",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "transaction",
        "API_VERSION": "v1",
        "INSTANCE_URL": "https://api-m.paypal.com"
    }
```

**PayPal Entitäts- und Felddetails**:

Entitäten mit statischen Metadaten:

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

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

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 den Wert im ISO-Format.

  Beispiele für gültigen Wert:

  ```
  "2024-07-01T00:00:00.000Z"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Das folgende Feld wird für die entitätsweise Partitionierung unterstützt:


| Entitätsname | Partitionieren von Feldern | Datentyp | 
| --- | --- | --- | 
| Transaktion | transaction\$1initiation\$1date | DateTime | 

Beispiel:

```
paypal_read = glueContext.create_dynamic_frame.from_options(
    connection_type="paypal",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "transaction",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "transaction_initiation_date"
        "LOWER_BOUND": "2024-07-01T00:00:00.000Z"
        "UPPER_BOUND": "2024-07-02T00:00:00.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# PayPal Verbindungsoptionen
<a name="paypal-connection-options"></a>

Im Folgenden finden Sie Verbindungsoptionen für PayPal:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in PayPal.
+ `API_VERSION`(Zeichenfolge) — (Erforderlich) Wird zum Lesen verwendet. PayPal Rest-API-Version, 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.

# Einschränkungen und Hinweise für PayPal Connector
<a name="paypal-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den PayPal Konnektor:
+ In der [PayPal Transaktionsdokumentation](https://developer.paypal.com/docs/api/transaction-search/v1/#search_get) wird erwähnt, dass es maximal drei Stunden dauert, bis ausgeführte Transaktionen im Listentransaktionsaufruf erscheinen. Es wurde jedoch beobachtet, dass es je nach [https://developer.paypal.com/docs/api/transaction-search/v1/#search_get:~:text=last_refreshed_datetime](https://developer.paypal.com/docs/api/transaction-search/v1/#search_get:~:text=last_refreshed_datetime) länger dauern kann. Hier `last_refreshed_datetime` ist der Zeitraum angegeben, bis zu dem Ihnen Daten vom zur Verfügung stehen APIs.
+ Wenn `last_refreshed_datetime` kleiner als das angeforderte `end_date` ist, entspricht `end_date` dem Wert von `last_refreshed_datetime`, weil wir nur Daten bis zu diesem Zeitpunkt haben.
+ Das Feld `transaction_initiation_date` ist ein obligatorischer Filter, der für die Entität `transaction` bereitgestellt werden muss, und der [maximal unterstützte](https://developer.paypal.com/docs/transaction-search/#:~:text=The%20maximum%20supported%20date%20range%20is%2031%20days.) Zeitraum für dieses Feld beträgt 31 Tage.
+ Wenn Sie die `transaction`-Entitäts-API-Anfrage mit anderen Filtern (Abfrageparametern) als dem Feld `transaction_initiation_date` aufrufen, wird erwartet, dass der Wert des Felds [https://developer.paypal.com/docs/api/transaction-search/v1/#search_get:~:text=If%20you%20specify%20one%20or%20more%20optional%20query%20parameters%2C%20the%20ending_balance%20response%20field%20is%20empty.](https://developer.paypal.com/docs/api/transaction-search/v1/#search_get:~:text=If%20you%20specify%20one%20or%20more%20optional%20query%20parameters%2C%20the%20ending_balance%20response%20field%20is%20empty.) in der Antwort nicht abgerufen wird.

# Herstellen einer Verbindung mit Pendo
<a name="connecting-to-pendo"></a>

Pendo bietet einen umfangreichen Datenspeicher für Benutzerinteraktionsdaten. Kunden übertragen diese Daten an, AWS sodass sie sie mit anderen Produktdaten verknüpfen, zusätzliche Analysen und Dashboards durchführen und Benachrichtigungen einrichten können, falls sie dies wünschen.

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

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

AWS Glue unterstützt Pendo wie folgt:

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

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

**Unterstützte Pendo-API-Versionen**  
 v1 

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="pendo-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": "*"
    }
  ]
}
```

------

Wenn Sie die vorstehende 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, 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 Pendo
<a name="pendo-configuring"></a>

Bevor Sie AWS Glue den Transfer von Pendo verwenden können, müssen Sie die folgenden Voraussetzungen erfüllen:

## Mindestanforderungen
<a name="pendo-configuring-min-requirements"></a>
+ Sie haben ein Pendo-Konto mit `apiKey` und `write access` ist aktiviert.
+  Ihr Pendo-Konto verfügt über API-Zugriff mit einer gültigen Lizenz. 

Wenn du diese Voraussetzungen erfüllst, bist du bereit, dich mit deinem Pendo-Konto AWS Glue zu verbinden. Für typische Verbindungen müssen Sie in Pendo nichts weiter tun.

# Konfiguration von Pendo-Verbindungen
<a name="pendo-configuring-connections"></a>

Pendo unterstützt benutzerdefinierte Authentifizierung.

Die öffentliche Pendo-Dokumentation zur Generierung der erforderlichen API-Schlüssel für die benutzerdefinierte Autorisierung finden Sie unter [Authentifizierung – Dokumentation zur Pendo-REST-API](https://engageapi.pendo.io/?bash#getting-started). 

Konfigurieren einer Pendo-Verbindung:

1. Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details: 
   + Für die kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `apiKey` als Schlüssel enthalten. 
**Anmerkung**  
Sie müssen für jede Verbindung in AWS Glue ein Geheimnis erstellen.

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

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

   1. Geben Sie die `instanceUrl` der Pendo-Instance an, mit der Sie eine Verbindung herstellen möchten.

   1. Wählen Sie die IAM-Rolle aus, für die AWS Glue Sie die folgenden Aktionen übernehmen können und über Berechtigungen verfügen: 

------
#### [ 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, die Sie für diese Verbindung verwenden möchten AWS Glue , um die Token einzufügen. 

   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.

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

 **Voraussetzungen** 

Ein Pendo-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** 
+ [Merkmal](https://developers.pendo.io/docs/?bash#feature)
+ [Leitfaden](https://developers.pendo.io/docs/?bash#guide)
+ [Seite](https://developers.pendo.io/docs/?bash#page)
+ [Bericht](https://developers.pendo.io/docs/?bash#report)
+ [Berichtdaten](https://developers.pendo.io/docs/?bash#return-report-contents-as-array-of-json-objects)
+ [Besucher](https://developers.pendo.io/docs/?bash#visitor)
+ [Account](https://developers.pendo.io/docs/?bash#entities)
+ [Veranstaltung](https://developers.pendo.io/docs/?bash#events-grouped)
+ [Feature-Ereignis](https://developers.pendo.io/docs/?bash#events-grouped)
+ [Handbuchereignis](https://developers.pendo.io/docs/?bash#events-ungrouped)
+ [Seitenereignis](https://developers.pendo.io/docs/?bash#events-grouped)
+ [Umfrageereignis](https://developers.pendo.io/docs/?bash#events-ungrouped)
+ [Verfolgungsereignis](https://developers.pendo.io/docs/?bash#events-grouped)


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Feature | Nein | Nein | Nein | Ja | Nein | 
| Richtlinie | Nein | Nein | Nein | Ja | Nein | 
| Seite | Nein | Nein | Nein | Ja | Nein | 
| Bericht | Nein | Nein | Nein | Ja | Nein | 
| Berichtdaten | Nein | Nein | Nein | Ja | Nein | 
| Besucher (Aggregation-API) | Ja | Nein | Ja | Ja | Nein | 
| Konto (Aggregation-API) | Ja | Nein | Ja | Ja | Nein | 
| Ereignis (Aggregation-API) | Ja | Nein | Ja | Ja | Nein | 
| Feature-Ereignis (Aggregation-API) | Ja | Nein | Ja | Ja | Ja | 
| Handbuchereignis (Aggregation-API) | Ja | Nein | Ja | Ja | Ja | 
| Konto (Aggregation-API) | Ja | Nein | Ja | Ja | Ja | 
| Seitenereignis (Aggregation-API) | Ja | Nein | Ja | Ja | Ja | 
| Umfrageereignis (Aggregation-API) | Ja | Nein | Ja | Ja | Ja | 
| Verfolgungsereignis (Aggregation-API) | Ja | Nein | Ja | Ja | Ja | 

 **Beispiel** 

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

## Partitionierung von Abfragen
<a name="adobe-marketo-engage-reading-partitioning-queries"></a>

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 den Wert im ISO-Format.

  Beispiel für gültigen Wert:

  ```
  "2024-07-01T00:00:00.000Z"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: die Anzahl der Partitionen.

In der folgenden Tabelle sind Details zur Unterstützung der Partitionierung von Entitäten beschrieben:


| Entitätsname | 
| --- | 
| Veranstaltung | 
|  Feature-Ereignis  | 
| Handbuchereignis | 
| Seitenereignis | 
| Umfrageereignis | 
| Verfolgungsereignis | 

Beispiel:

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

# Pendo-Verbindungsoptionen
<a name="pendo-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Pendo aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Pendo. 
+ `INSTANCE_URL`(Zeichenfolge) – (Erforderlich) Eine gültige Pendo-Instance-URL mit den folgenden zulässigen Werten:
  + [Standard](https://app.pendo.io/)
  + [Europa](https://app.eu.pendo.io/)
  + [US1](https://us1.app.pendo.io/)
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der Pendo-REST-API, die Sie verwenden möchten. Beispiel: 3.0.
+ `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="pendo-connector-limitations"></a>

Die folgenden Einschränkungen gelten für den Pendo-Connector:
+ Paginierung wird in Pendo nicht unterstützt.
+ Filterung wird nur von den Aggregate-API-Objekten (`Account`, `Event`, `Feature Event`, `Guide Events`, `Page Event`, `Poll Event`, `Track Event` und `Visitor`) unterstützt.
+ DateTimeRange ist ein obligatorischer Filterparameter für Aggregate-API-Objekte (`Event``Feature Event`,`Guide Events`,,`Page Event`, `Poll Event,``Track Event`)
+ Der dayRange-Zeitraum wird auf den Beginn des Zeitraums in der Zeitzone abgerundet. Wenn beispielsweise der Filter `2023-01-12T07:55:27.065Z` angegeben ist, wird dieser Zeitraum auf den Anfang des Zeitraums gerundet, d. h. `2023-01-12T00:00:00Z`. 

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

# Herstellen einer Verbindung mit Productboard
<a name="connecting-to-productboard"></a>

Productboard ist das Produktmanagementsystem, das Produktteams dabei hilft, die richtigen Produkte schneller auf den Markt zu bringen. Über 3.000 moderne, produktorientierte Unternehmen wie Zendesk und Microsoft nutzen Productboard UiPath, um zu verstehen, was Benutzer wirklich benötigen, zu priorisieren, was als Nächstes gebaut werden soll, und um alle für ihre Roadmap zu gewinnen.

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

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

AWS Glue unterstützt Productboard wie folgt:

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

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

**Unterstützte Productboard-API-Versionen**  
 v1 

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="productboard-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": "*"
    }
  ]
}
```

------

Wenn Sie die vorstehende 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, 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 Productboard
<a name="productboard-configuring"></a>

Bevor Sie die Übertragung von Productboard verwenden AWS Glue können, müssen Sie die folgenden Voraussetzungen erfüllen:

## Mindestanforderungen
<a name="productboard-configuring-min-requirements"></a>
+ Sie haben ein Productboard-Konto mit E-Mail-Adresse und Passwort. Weitere Informationen zum Erstellen eines Kontos finden Sie unter [Erstellen eines Productboard-Kontos](productboard-create-account.md). 
+  Sie müssen AWS ein Konto mit dem Servicezugriff auf AWS Glue erstellt haben. 
+ Sie haben die Authentifizierungsdetails eines Productboard-Kontos — entweder JWT-Token, wenn Sie Custom Auth verwenden möchten, oder Client-ID und Secret, wenn Sie .0 verwenden möchten. OAuth2
+ Wenn der Benutzer es verwenden möchte`OAuth2.0`, [registrieren Sie Ihre Anwendung bei Productboard](https://app.productboard.com/oauth2/applications/new) und richten Sie die Anwendung ein, indem Sie den Anweisungen unter [So integrieren Sie Productboard via — Entwicklerdokumentation](https://developer.productboard.com/docs/how-to-integrate-with-productboard-via-oauth2-developer-documentation) folgen. OAuth2 

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

# Konfigurieren von Productboard-Verbindungen
<a name="productboard-configuring-connections"></a>

 

Productboard unterstützt benutzerdefinierte Authentifizierung und `OAuth2.0`. Für `OAuth2.0` unterstützt Productboard den Gewährungstyp `AUTHORIZATION_CODE`.
+ Dieser Gewährungstyp wird als „dreibeiniges“ `OAuth` betrachtet, da er darauf angewiesen ist, dass Benutzer zur Authentifizierung an den Autorisierungsserver eines Drittanbieters weitergeleitet werden. Es wird verwendet, wenn Verbindungen über die AWS Glue Konsole hergestellt werden. Der Benutzer, der eine Verbindung herstellt, kann sich standardmäßig auf eine AWS Glue eigene verbundene App verlassen, für die er außer seiner Productboard Client ID und Client Secret keine `OAuth` weiteren Informationen angeben muss. Die AWS Glue Konsole leitet den Benutzer zu Productboard weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Productboard-Instanz gewähren muss.
+ Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in Productboard 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 Productboard weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.
+ Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.
+ Eine öffentliche Productboard-Dokumentation zur Erstellung einer verbundenen App für `AUTHORIZATION_CODE OAuth` Flow finden Sie unter [So integrieren Sie Productboard via OAuth2 ](https://developer.productboard.com/docs/how-to-integrate-with-productboard-via-oauth2-developer-documentation) — Entwicklerdokumentation. 

So konfigurieren Sie eine Productboard-Verbindung:

1. Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details: 
   + Für `OAuth`-Authentifizierung: für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 
   + Für `Custom auth` – Für kundenseitig verwaltete verbundene App: Geheimnis muss das `JWT token` der der verbundenen App mit `access_token` als Schlüssel enthalten. 
**Anmerkung**  
Sie müssen für jede Verbindung in AWS Glue ein Geheimnis erstellen.

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

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

   1. Wählen Sie die IAM-Rolle aus, für die AWS Glue Sie die folgenden Aktionen übernehmen können und über Berechtigungen verfügen: 

------
#### [ 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 den Authentifizierungstyp aus, um eine Verbindung zur Datenquelle herzustellen:
      + Für `OAuth`-Authentifizierung – Geben Sie das `Token URL` und die `User Managed Client Application ClientId` der Productboard-App an.

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

   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.

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

 **Voraussetzungen** 

Ein Productboard-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** 
+ [Abuse-reports](https://productboard.com/developer/marketing/api/campaign-abuse/)
+ [Automation](https://productboard.com/developer/marketing/api/automation/list-automations/)
+ [Kampagnen](https://productboard.com/developer/marketing/api/campaigns/list-campaigns/)
+ [Click-details](https://productboard.com/developer/marketing/api/link-clickers/)
+ [Lists](https://productboard.com/developer/marketing/api/link-clickers/)
+ [Mitglieder](https://productboard.com/developer/marketing/api/list-segment-members/)
+ [Open-details](https://productboard.com/developer/marketing/api/list-members/)
+ [Segmente](https://productboard.com/developer/marketing/api/list-segments/)
+ [Stores](https://productboard.com/developer/marketing/api/ecommerce-stores/list-stores/)
+ [Unsubscribed](https://productboard.com/developer/marketing/api/unsub-reports/)


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
|  Features  | Ja | Ja | Nein | Ja | Ja | 
|  Komponenten  | Nein | Ja | Nein | Ja | Nein | 
|  Produkte  | Nein | Ja | Nein | Ja | Nein | 
|  Featurestatus  | Nein | Ja | Nein | Ja | Ja | 
|  Benutzerdefinierte Felddefinitionen  | Nein | Ja | Nein | Ja | Nein | 
|  Benutzerdefinierte Feldwerte  | Ja | Ja | Nein | Ja | Nein | 

 **Beispiel** 

```
Productboard_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Productboard",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "feature",
        "API_VERSION": "1"
    }
```

 **Productboard-Entitäts- und Felddetails** 
+ [Funktionen](https://developer.productboard.com/#tag/features)
+ [Komponenten](https://developer.productboard.com/#tag/components)
+ [Featurestatus](https://developer.productboard.com/#tag/statuses)
+ [Produkte](https://developer.productboard.com/#tag/products)
+ [Benutzerdefinierte Felddefinitionen](https://developer.productboard.com/#tag/hierarchyEntitiesCustomFields)
+ [Benutzerdefinierte Feldwerte](https://developer.productboard.com/#tag/hierarchyEntitiesCustomFieldsValues)

# Productboard-Verbindungsoptionen
<a name="productboard-connection-options"></a>

Im Folgenden finden Sie die Verbindungsoptionen für Productboard:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Productboard. 
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der REST-API von Productboard Engage, die Sie verwenden möchten. Beispiel: 3.0.
+ `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.

# Erstellen eines Productboard-Kontos
<a name="productboard-create-account"></a>

1. Navigieren Sie zur [Productboard-Anmeldeseite](https://app.productboard.com/), geben Sie Ihre E-Mail-ID und das Passwort ein und wählen Sie dann **Anmelden**.

1. Geben Sie im Feld **Kontoname** den Namen Ihres Productboard-Kontos ein und aktivieren Sie dann das Kontrollkästchen **Ich stimme den Datenschutzbestimmungen** zu.

1. Geben Sie auf der Seite zum **Erstellen des Workspace** im Feld **Workspace-URL** die URL für Ihren neuen Workspace ein. Wählen Sie dann **Weiter**, um zur nächsten Seite zu gelangen, und geben Sie die restlichen Details an.

   Dadurch wird Ihr Testkonto erstellt. Das Testkonto ist 15 Tage lang kostenlos. Nach Ablauf des Testzeitraums können Sie ein kostenpflichtiges Abonnement abschließen. Notieren Sie sich Ihre E-Mail-Adresse, Ihr Passwort und Ihre Workspace-URL. Sie benötigen diese Informationen, um auf Ihr Konto zuzugreifen.

**Registrieren einer `OAuth2.0`-Anwendung**

1. Navigieren Sie zur [Productboard-Anmeldeseite](https://login.productboard.com/?locale=en), geben Sie Ihre E-Mail-ID und das Passwort ein und wählen Sie dann **Anmelden** aus. 

1. Wählen Sie das **Benutzersymbol** oben rechts und wählen Sie dann im **Drop-down-Menü die Option Konto und Abrechnung** aus.

1. Wählen Sie **Extras** und dann **Registrierte Apps** aus dem Dropdown-Menü aus.

1. Suchen Sie nach einer App und wählen Sie **App registrieren**.

1. Geben Sie folgende Details ein:
   + **App-Name**: Name der App. 
   + **Firma/Organisation**: Name Ihres Unternehmens oder Ihrer Organisation.
   + **App-Website**: Website der App.
   + **Umleitungs-URI**: Ein Umleitungs-URI-Muster ist ein URI-Pfad (oder eine durch Kommata getrennte Liste von Pfaden), zu dem Productboard (falls angefordert) weiterleiten kann, wenn der Anmeldevorgang abgeschlossen ist. Beispiel: `https://ap-southeast-2\\.console\\.aws\\.amazon\\.com`

1. Wählen Sie **Erstellen** aus. 

1. Die **Client-ID** und der **geheime Client-Schlüssel** werden jetzt angezeigt. Kopieren Sie diese und speichern Sie sie an einem sicheren Ort. Wählen Sie dann **Fertig** aus. 
**Anmerkung**  
Ihre Client-ID- und Client Secret-Zeichenfolgen sind Anmeldeinformationen, die verwendet werden, um eine Verbindung mit diesem Connector herzustellen, wenn Sie AppFlow oder verwenden AWS Glue.

**Anmeldeinformationen werden abgerufen CustomAuth**

1. Navigieren Sie zur [Productboard-Anmeldeseite](https://app.productboard.com/), geben Sie Ihre E-Mail-ID und das Passwort ein und wählen Sie dann **Anmelden** aus.

   Sie werden zur Startseite weitergeleitet.

1. Navigieren Sie auf der Startseite zu **Workspace-Einstellungen** > **Integrationen** > **Öffentlich APIs** > **Zugriffstoken**.
**Anmerkung**  
Wenn der APIs Bereich „**Öffentlich**“ nicht sichtbar ist, ist dein Konto möglicherweise Teil des Essentials-Plans. Für den Zugriff auf API-Token ist mindestens der Pro-Tarif erforderlich. Die Features und Namen des Tarife können sich ändern. Weitere Informationen zu den Paketen finden in der [Preisübersicht von Productboard](https://www.productboard.com/pricing/).

1. Wählen Sie **\$1**, um ein neues Token zu generieren, und speichern Sie es an einem sicheren Ort, damit Sie später darauf zugreifen können.

**Erstellen von `OAuth2.0`-Anmeldeinformationen**

Um die `OAuth2.0`-Authentifizierung mit dem Productboard-Connector nutzen zu können, müssen Sie Ihre Anwendung auf der Productboard-Plattform registrieren und eine `Client ID` und einen `Client Secret` generieren.

1. Navigieren Sie zur [Productboard-Anmeldeseite](https://app.productboard.com/), geben Sie Ihre E-Mail-ID und das Passwort ein und wählen Sie dann **Anmelden** aus.

1. Um eine neue OAuth2 Anwendung mit Ihrem Productboard-Konto zu registrieren, navigieren Sie zur [Producboard-Seite](to register new OAuth2 application with your Productboard account).

1. Füllen Sie die erforderlichen Felder aus und wählen Sie die erforderlichen Bereiche für jede Entität aus, auf die Sie zugreifen möchten. 
**Anmerkung**  
Sie haben die folgenden vier Bereiche ausgewählt, die für die sechs unterstützten Entitäten erforderlich sind.

1. Die **Umleitungs-URL** muss das folgende Format haben: `https://ap-southeast-2\\.console\\.aws\\.amazon\\.com`
**Anmerkung**  
Die Appflow-Weiterleitungen können URLs sich ändern. Sobald sie verfügbar ist, aktualisieren Sie bitte die Weiterleitung URLs für die AWS Glue Plattform.

1. Die **Client-ID** und der **geheime Client-Schlüssel** werden jetzt angezeigt. Kopieren Sie diese und speichern Sie sie an einem sicheren Ort. 

1. Du kannst die Einrichtung und Überprüfung durchführen, `OAuth2` indem du den Schritten in der [ OAuth2 Entwicklerdokumentation zur Integration mit Productboard folgst](https://developer.productboard.com/docs/how-to-integrate-with-productboard-via-oauth2-developer-documentation).

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

Die folgenden Einschränkungen gelten für den Productboard-Connector:
+ Productboard unterstützt weder feldbasierte noch datensatzbasierte Partitionierung.

# Verbindung herstellen zu QuickBooks
<a name="connecting-to-data-quickbooks"></a>

QuickBooks ist eine führende Buchhaltungsanwendung für kleine und mittlere Unternehmen. QuickBooks Buchhaltungsanwendungen stammen aus den 1980er Jahren als eines der ersten Produkte von Intuit und waren daher ursprünglich Desktop-Software. Heute QuickBooks bietet es mehrere Buchhaltungs- und Geschäftsfinanzanwendungen sowohl als installierbare Software als auch als Cloud-basierte SaaS-Software an. Als QuickBooks Benutzer können Sie eine Verbindung AWS Glue zu Ihrem QuickBooks Konto herstellen. Anschließend können Sie es QuickBooks als Datenquelle für Ihre ETL-Jobs verwenden. Führen Sie diese Jobs aus, um Daten QuickBooks zwischen AWS Diensten oder anderen unterstützten Anwendungen zu übertragen.

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

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

AWS Glue unterstützt QuickBooks wie folgt:

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

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

**Unterstützte QuickBooks API-Versionen**  
Die folgenden QuickBooks API-Versionen werden unterstützt:
+ v3

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="quickbooks-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.

# Konfiguration QuickBooks
<a name="quickbooks-configuring"></a>

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein QuickBooks Konto.
+ Ihr QuickBooks Konto ist für den API-Zugriff aktiviert.

Weitere Informationen finden Sie in der QuickBooks Dokumentation zu den folgenden Themen:
+ [Erstellen eines Intuit-Kontos](https://quickbooks.intuit.com/learn-support/en-us/help-article/account-management/create-intuit-user-account/L62kSFEOM_US_en_US)
+ [Erstellen und Starten der Entwicklung Ihrer App](https://developer.intuit.com/app/developer/qbo/docs/get-started/start-developing-your-app)

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem QuickBooks Konto herstellen. Für typische Verbindungen müssen Sie nichts weiter tun QuickBooks.

# QuickBooks Verbindungen konfigurieren
<a name="quickbooks-configuring-connections"></a>

QuickBooks unterstützt den Grant-Typ AUTHORIZATION\$1CODE für. OAuth2 Der Grant-Typ bestimmt, wie mit Ihnen AWS Glue kommuniziert wird, um Zugriff QuickBooks auf Ihre Daten anzufordern.
+ Diese Art der Gewährung wird als „dreibeiniges“ angesehen, OAuth da sie 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 
+ Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in zu erstellen QuickBooks und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin weitergeleitet, QuickBooks um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.
+ Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.
+ Öffentliche QuickBooks Dokumentation zur Erstellung einer verbundenen App für den Authorization Code OAuth Flow finden Sie unter [Setup OAuth 2.0](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0).

So konfigurieren Sie eine QuickBooks Verbindung:

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 eines **Verbindungstyps** QuickBooks.

   1. Geben Sie die Instanz-URL und die Firmen-ID der QuickBooks Instanz an, zu der Sie eine Verbindung herstellen möchten.

   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.

# Aus QuickBooks Entitäten lesen
<a name="quickbooks-reading-from-entities"></a>

**Voraussetzung**

Ein QuickBooks Objekt, aus dem Sie lesen möchten.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Account | Ja | Ja | Ja | Ja | Ja | 
| Rechnung | Ja | Ja | Ja | Ja | Ja | 
| Unternehmensinformationen | Nein | Nein | Nein | Ja | Nein | 
| Customer | Ja | Ja | Ja | Ja | Ja | 
| Mitarbeiter | Ja | Ja | Ja | Ja | Ja | 
| Schätzen | Ja | Ja | Ja | Ja | Ja | 
| Rechnung | Ja | Ja | Ja | Ja | Ja | 
| Item | Ja | Ja | Ja | Ja | Ja | 
| Zahlung | Ja | Ja | Ja | Ja | Ja | 
| Präferenzen | Nein | Nein | Nein | Ja | Nein | 
| Gewinn und Verlust | Ja | Nein | Nein | Ja | Nein | 
| Steuerbehörde | Ja | Ja | Ja | Ja | Ja | 
| Anbieter | Ja | Ja | Ja | Ja | Ja | 

**Beispiel:**

```
QuickBooks_read = glueContext.create_dynamic_frame.from_options(
    connection_type="quickbooks",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v3"
    }
```

**QuickBooks Entitäts- und Felddetails**:

Weitere Informationen zu den Entitäten und Felddetails finden Sie unter:
+ [Account](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/account)
+ [Rechnung](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/bill)
+ [CompanyInfo](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/companyinfo)
+ [Kunde](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/customer)
+ [Mitarbeiter](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/employee)
+ [Schätzen](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/estimate)
+ [Rechnung](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/invoice)
+ [Item](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/item)
+ [Zahlung](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/payment)
+ [Präferenzen](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/preferences)
+ [ProfitAndLoss](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/profitandloss)
+ [TaxAgency](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/taxagency)
+ [Vendor](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/vendor)

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

**Feldbasierte Partitionierung**:

In unterstützen QuickBooks die Felder Integer und DateTime Datatype feldbasierte Partitionierung.

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-05-07T02:03:00.00Z"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
QuickBooks_read = glueContext.create_dynamic_frame.from_options(
    connection_type="quickbooks",
    connection_options={
        "connectionName": "connectionName",
        "REALMID": "12345678690123456789",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v3",
        "PARTITION_FIELD": "MetaData_CreateTime"
        "LOWER_BOUND": "2023-09-07T02:03:00.000Z"
        "UPPER_BOUND": "2024-05-07T02:03:00.000Z"
        "NUM_PARTITIONS": "10"
    }
```

**Datensatzbasierte Partitionierung**:

Die ursprüngliche Abfrage ist in `NUM_PARTITIONS` Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
QuickBooks_read = glueContext.create_dynamic_frame.from_options(
    connection_type="quickbooks",
    connection_options={
        "connectionName": "connectionName",
        "REALMID": "1234567890123456789",
        "ENTITY_NAME": "Bill",
        "API_VERSION": "v3",
        "NUM_PARTITIONS": "10"
    }
```

# QuickBooks Verbindungsoptionen
<a name="quickbooks-connection-options"></a>

Im Folgenden finden Sie Verbindungsoptionen für QuickBooks:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in QuickBooks.
+ `INSTANCE_URL`(String) — (Erforderlich) Eine gültige QuickBooks Instanz-URL.
+ `API_VERSION`(String) — (Erforderlich) Wird zum Lesen verwendet. QuickBooks Rest-API-Version, die Sie verwenden möchten.
+ `REALM_ID`(Zeichenfolge) — Eine ID, die ein einzelnes QuickBooks Online-Unternehmen identifiziert, an das Sie Anfragen senden.
+ `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 und Hinweise für QuickBooks Connector
<a name="quickbooks-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den QuickBooks Konnektor:
+ In der `taxAgency`-API funktioniert das Sortieren durch Filtern nicht wie erwartet.

# Verbindung zu einer REST-API herstellen
<a name="connecting-to-data-rest-api"></a>

 AWS Glue ermöglicht die Konfiguration eines AWS Glue ConnectionType , mit dem eine Verbindung AWS Glue zu einer beliebigen REST-API-basierten Datenquelle hergestellt werden kann. Dies kann als Datenquelle in Ihren ETL-Jobs verwendet werden. Sie können diese Jobs ausführen, um Daten zwischen der REST-API-basierten Datenquelle und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen. 

**Topics**
+ [AWS Glue Unterstützung für REST-API](rest-api-support.md)
+ [Richtlinien, die die API-Operationen für die Registrierung von Verbindungstypen und creating/using Verbindungen enthalten](rest-api-configuring-iam-permissions.md)
+ [Konfiguration einer REST-API ConnectionType](rest-api-configuring.md)
+ [Konfiguration einer REST-API-Verbindung](rest-api-configuring-connections.md)
+ [Tutorial: REST-API ConnectionType und -Verbindung erstellen](rest-api-example.md)
+ [Einschränkungen](rest-api-limitations.md)

# AWS Glue Unterstützung für REST-API
<a name="rest-api-support"></a>

AWS Glue unterstützt die REST-API wie folgt:

**Als Quelle unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten aus einer REST-API-basierten Datenquelle abzufragen.

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

# Richtlinien, die die API-Operationen für die Registrierung von Verbindungstypen und creating/using Verbindungen enthalten
<a name="rest-api-configuring-iam-permissions"></a>

 Die folgende IAM-Beispielrichtlinie beschreibt die erforderlichen Berechtigungen für die Registrierung, Erstellung, Verwaltung und Verwendung der REST-API-Verbindungen innerhalb von AWS Glue ETL-Jobs. Wenn Sie eine neue Rolle erstellen, erstellen Sie eine Richtlinie, die Folgendes enthält: 

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

Sie können auch die folgenden 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.

Wenn Sie beim Erstellen einer REST-API-Verbindung Netzwerkoptionen angeben, müssen die folgenden Aktionen ebenfalls in der IAM-Rolle enthalten sein:

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

# Konfiguration einer REST-API ConnectionType
<a name="rest-api-configuring"></a>

 Bevor Sie AWS Glue Daten aus der REST-API-basierten Datenquelle übertragen können, müssen Sie die folgenden Anforderungen erfüllen: 

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

Im Folgenden sind die Mindestanforderungen aufgeführt:
+  Sie haben einen AWS Glue REST-API-Verbindungstyp konfiguriert und registriert. Siehe [Verbindung zu REST](https://docs.aws.amazon.com/glue/latest/dg/rest-api-connections.html) herstellen APIs. 
+  Wenn Sie OAuth2 Client-Anmeldeinformationen, Autorisierungscode oder JWT verwenden, konfigurieren Sie die Client-App entsprechend. 

 Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrer REST-API-basierten Datenquelle herstellen. In der Regel sind auf der REST-API-Seite keine weiteren Konfigurationen erforderlich. 

# Konfiguration einer REST-API-Verbindung
<a name="rest-api-configuring-connections"></a>

 Um einen AWS Glue REST-API-Connector zu konfigurieren, müssen Sie einen AWS Glue Verbindungstyp konfigurieren. Dieser Verbindungstyp enthält Details zu den Eigenschaften der Funktionsweise der REST-Datenquelle und zur Interpretation von Dingen wie Authentifizierung, Anfragen, Antworten, Seitennummerierung, Validierungen und Entitäten/Metadaten. [Eine umfassende Liste der erforderlichen Eigenschaften für einen AWS Glue REST-Verbindungstyp finden Sie in der [ RegisterConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_DescribeConnectionType.html)API und in den Schritten zum Herstellen einer Verbindung zu REST. APIs](https://docs.aws.amazon.com/glue/latest/dg/rest-api-connections.html) 

 Bei der Erstellung des REST-API-Connectors ist die folgende Richtlinie erforderlich, um relevante Aktionen zu ermöglichen: 

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

# Tutorial: REST-API ConnectionType und -Verbindung erstellen
<a name="rest-api-example"></a>

**Verbindung zur Foo REST API herstellen**

 Wir werden eine AWS Glue REST-API ConnectionType und eine entsprechende AWS Glue Verbindung für die Foo REST API erstellen. Diese API hat die folgenden Eigenschaften (die aus der REST-API-Dokumentation abgerufen werden können). 
+  **Instanz-URL**: https://foo.cloud.com/rest/ v1. 
+  **Authentifizierungstyp**: OAuth2 (Client-Anmeldeinformationen). 
+  **REST-Methode**: GET. 
+  **Paginierungstyp**: Offset mit den Eigenschaften „Limit“ und „Offset“, die im Abfrageparameter der Anfrage platziert sind. 
+ **Unterstützte Entitäten**:
  +  **Bar**: relativer Pfad [/bar.json]. 
  +  **Baz: relativer Pfad [/baz.json**]. 

 Sobald alle Details vorliegen, können wir damit beginnen, die AWS Glue Verbindung zur Foo REST API herzustellen. 

**So erstellen Sie eine REST-API-Verbindung**:

1.  Erstellen Sie den REST-API-Verbindungstyp, AWS Glue indem Sie die RegisterConnectionType API mithilfe von AWS API, CLI oder SDK aufrufen. Dadurch wird eine neue ConnectionType Ressource in erstellt AWS Glue. 

   ```
   {
       "ConnectionType": "REST-FOO-CONNECTOR",
       "IntegrationType": "REST",
       "Description": "AWS Glue Connection Type for the FOO REST API",
       "ConnectionProperties": {
           "Url": {
               "Name": "Url",
               "Required": true,
               "DefaultValue": "https://foo.cloud.com/rest/v1",
               "PropertyType": "USER_INPUT"
           }
       },
       "ConnectorAuthenticationConfiguration": {
           "AuthenticationTypes": ["OAUTH2"],
           "OAuth2Properties": {
               "OAuth2GrantType": "CLIENT_CREDENTIALS"
           }
       },
       "RestConfiguration": {
           "GlobalSourceConfiguration": {
           "RequestMethod": "GET",
           "ResponseConfiguration": {
               "ResultPath": "$.result",
               "ErrorPath": "$.error.message"
           },
           "PaginationConfiguration": {
               "OffsetConfiguration": {
                   "OffsetParameter": {
                       "Key": "offset",
                       "PropertyLocation": "QUERY_PARAM"
                   },
                   "LimitParameter": {
                       "Key": "limit",
                       "PropertyLocation": "QUERY_PARAM",
                       "DefaultValue": "50"
                   }
               }
           }
       },
       "ValidationEndpointConfiguration": {
           "RequestMethod": "GET",
           "RequestPath": "/bar.json?offset=1&limit=10"
       },
       "EntityConfigurations": {
           "bar": {
               "SourceConfiguration": {
                   "RequestMethod": "GET",
                   "RequestPath": "/bar.json",
                   "ResponseConfiguration": {
                       "ResultPath": "$.result",
                       "ErrorPath": "$.error.message"
                   }
               },
               "Schema": {
                   "name": {
                       "Name": "name",
                       "FieldDataType": "STRING"
                   },
                   "description": {
                       "Name": "description",
                       "FieldDataType": "STRING"
                   },
                   "id": {
                       "Name": "id",
                       "FieldDataType": "STRING"
                   },
                   "status": {
                       "Name": "status",
                       "FieldDataType": "STRING"
                   }
               }
           }
       }
   }
   }
   ```

1.  Erstellen Sie im AWS Secrets Manager ein Geheimnis. Das Secret sollte die verbundene App Consumer Secret mit einem `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` Schlüssel enthalten. 
**Anmerkung**  
Sie müssen pro Verbindung ein Geheimnis erstellen in AWS Glue

1.  Stellen Sie die AWS Glue Verbindung her, indem Sie die CreateConnection API mit der AWS API, der CLI oder dem SDK aufrufen. 

   1.  Verweisen Sie auf den Namen des REST-Verbindungstyps aus Schritt 1 als „ConnectionType“. 

   1.  Geben Sie den InstanceUrl und alle anderen an ConnectionProperties , die während des AWS Glue ConnectionType Registrierungsprozesses definiert wurden. 

   1.  Wählen Sie einen der konfigurierten Authentifizierungstypen aus. Die REST-API, die Foo OAuth2 mit dem ClientCredentials Grant-Typ verwendet. 

   1.  Geben Sie die **SecretArn**und andere an **AuthenticationProperties**, die konfiguriert sind. Zum Beispiel haben wir das `OAUTH2` AuthenticationType so konfiguriert, dass wir die „OAuth2Eigenschaften“ in der festlegen werden CreateConnectionInput. Dies erfordert Eigenschaften wie „OAuth2GrantType“, „TokenUrl“ und „OAuth2ClientApplication“. 

1.  Stellen Sie die CreateConnection Anfrage, mit der die AWS Glue Verbindung hergestellt wird. 

   ```
   {
       "ConnectionInput": {
           "Name": "ConnectionFooREST",
           "ConnectionType": "REST-FOO-CONNECTOR",
           "ConnectionProperties": {},
           "ValidateCredentials": true,
           "AuthenticationConfiguration": {
               "AuthenticationType": "OAUTH2",
               "SecretArn": "arn:aws:secretsmanager:<region>:<accountId>:secret:<secretId>",
               "OAuth2Properties": {
                   "OAuth2GrantType": "CLIENT_CREDENTIALS",
                   "TokenUrl": "https://foo.cloud.com/oauth/token",
                   "OAuth2ClientApplication": {
                       "UserManagedClientApplicationClientId": "your-managed-client-id"
                   }
               }
           }
       }
   }
   ```

# Einschränkungen
<a name="rest-api-limitations"></a>

Im Folgenden sind Einschränkungen für den REST-API-Connector aufgeführt
+  Der REST-API-Connector ist nur über die AWS API, CLI oder SDK verfügbar. Sie können REST-Konnektoren nicht über die Konsole konfigurieren. 
+  Der AWS Glue REST ConnectionType kann nur so konfiguriert werden, dass er Daten aus der REST-API-basierten Datenquelle LIEST. Die Verbindung kann nur als QUELLE in AWS Glue ETL-Jobs verwendet werden. 
+  Filterung und Partitionierung werden nicht unterstützt. 
+  Die Feldauswahl wird nicht unterstützt. 

# Herstellen einer Verbindung zu Salesforce
<a name="connecting-to-data-salesforce"></a>

Salesforce bietet Software für das Kundenbeziehungsmanagement (CRM), die Sie bei Vertrieb, Kundenservice, E-Commerce und vielem mehr unterstützt. Wenn Sie ein Salesforce-Benutzer sind, können Sie eine Verbindung AWS Glue zu Ihrem Salesforce-Konto herstellen. Anschließend können Sie Salesforce als Datenquelle oder Ziel in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Salesforce und AWS Services oder anderen unterstützten Anwendungen zu übertragen.

**Topics**
+ [AWS Glue Unterstützung für Salesforce](salesforce-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](salesforce-configuring-iam-permissions.md)
+ [Konfigurieren von Salesforce](salesforce-configuring.md)
+ [Anwenden des Systemadministratorprofils](#salesforce-configuring-apply-system-admin-profile)
+ [Konfigurieren von Salesforce-Verbindungen](salesforce-configuring-connections.md)
+ [Lesen aus Salesforce](salesforce-reading-from-entities.md)
+ [Schreiben in Salesforce](salesforce-writing-to.md)
+ [Salesforce-Verbindungsoptionen](salesforce-connection-options.md)
+ [Einschränkungen für den Salesforce-Connector](salesforce-connector-limitations.md)
+ [Einrichten des Autorisierungscode-Flows für Salesforce](salesforce-setup-authorization-code-flow.md)
+ [Richten Sie den OAuth JWT-Bearer-Flow für Salesforce ein](salesforce-setup-jwt-bearer-oauth.md)

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

AWS Glue unterstützt Salesforce wie folgt:

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

**Als Ziel unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Datensätze in Salesforce zu schreiben.

**Unterstützte Versionen der Salesforce-API**  
Die folgenden Versionen der Salesforce-API werden unterstützt:
+ v58.0
+ v59.0
+ v60.0

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

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

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

****  

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

------

Sie können auch die folgenden 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.

Wenn Sie beim Erstellen einer Salesforce-Verbindung Netzwerkoptionen angeben, müssen auch die folgenden Aktionen in der IAM-Rolle enthalten sein:

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

****  

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

------

 Informationen zu Null-ETL-Salesforce-Verbindungen finden Sie unter [Voraussetzungen für Null-ETL](https://docs.aws.amazon.com/glue/latest/dg/zero-etl-prerequisites.html). 

 Informationen zu Null-ETL-Salesforce-Verbindungen finden Sie unter [Voraussetzungen für Null-ETL](https://docs.aws.amazon.com/glue/latest/dg/zero-etl-prerequisites.html). 

# Konfigurieren von Salesforce
<a name="salesforce-configuring"></a>

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Salesforce-Konto.
+ Ihr Salesforce-Konto ist für den API-Zugriff aktiviert. Der API-Zugriff ist standardmäßig für die Editionen Enterprise, Unlimited, Developer und Performance aktiviert.

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Salesforce-Konto herstellen. AWS Glue bewältigt die verbleibenden Anforderungen mit der AWS verwalteten verbundenen Anwendung.

## Die AWS verwaltete verbundene Anwendung für Salesforce
<a name="salesforce-configuring-connected-app"></a>

Mit der AWS verwalteten verbundenen Anwendung können Sie in weniger Schritten eine Salesforce-Verbindung herstellen. In Salesforce ist eine verbundene Anwendung ein Framework, das externen Anwendungen beispielsweise AWS Glue den Zugriff auf Ihre Salesforce-Daten mithilfe von OAuth 2.0 autorisiert. Um die AWS verwaltete verbundene Anwendung zu verwenden, erstellen Sie mithilfe der Konsole eine Salesforce-Verbindung AWS Glue . Wenn Sie die Verbindung konfigurieren, legen Sie den **OAuth Gewährungstyp** auf **Autorisierungscode** fest und lassen Sie das Kontrollkästchen ** AWS Verwaltete Client-Anwendung verwenden** aktiviert.

Beim Speichern der Verbindung werden Sie zu Salesforce weitergeleitet, um sich anzumelden und den AWS Glue Zugriff auf Ihr Salesforce-Konto zu genehmigen.

## Anwenden des Systemadministratorprofils
<a name="salesforce-configuring-apply-system-admin-profile"></a>

 Führen Sie in Salesforce die folgenden Schritte aus, um das Systemadministratorprofil anzuwenden: 

1.  Navigieren Sie in Salesforce zu **Einstellungen > Verbundene Anwendungen > OAuth Nutzung verbundener Apps**. 

1.  Suchen Sie in der Liste der verbundenen Anwendungen nach **Installieren AWS Glue ** und wählen Sie diese aus. Wählen Sie bei Bedarf **Entsperren** aus. 

1.  Navigieren Sie zu **„Einstellungen“ > „Verbundene Apps verwalten“ und wählen Sie dann AWS Glue aus**. Wählen Sie unter OAuth Richtlinien die Option **Admin approved users are pre-authorized** aus und wählen Sie das Profil **Systemadministrator** aus. Diese Aktion beschränkt den Zugriff AWS Glue nur auf Benutzer mit dem Systemadministratorprofil. 

## Anwenden des Systemadministratorprofils
<a name="salesforce-configuring-apply-system-admin-profile"></a>

 Führen Sie in Salesforce die folgenden Schritte aus, um das Systemadministratorprofil anzuwenden: 

1.  Navigieren Sie in Salesforce zu **Einstellungen > Verbundene Anwendungen > OAuth Nutzung verbundener Anwendungen**. 

1.  Suchen Sie in der Liste der verbundenen Anwendungen nach **Installieren AWS Glue ** und wählen Sie diese aus. Wählen Sie bei Bedarf **Entsperren** aus. 

1.  Navigieren Sie zu **„Einstellungen“ > „Verbundene Apps verwalten“ und wählen Sie dann AWS Glue aus**. Wählen Sie unter OAuth Richtlinien die Option **Admin approved users are pre-authorized** aus und wählen Sie das Profil **Systemadministrator** aus. Diese Aktion beschränkt den Zugriff AWS Glue nur auf Benutzer mit dem Systemadministratorprofil. 

# Konfigurieren von Salesforce-Verbindungen
<a name="salesforce-configuring-connections"></a>

So konfigurieren Sie eine Salesforce-Verbindung:

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

   1. Für den Gewährungstyps „JWT\$1TOKEN“ sollte das Geheimnis den JWT\$1TOKEN-Schlüssel mit seinem Wert enthalten.

   1. Für den AuthorizationCode Zuschusstyp:

      1. Für eine AWS verwaltete verbundene App muss ein leeres Geheimnis oder ein Geheimnis mit einem temporären Wert angegeben werden.

      1. Bei einer vom Kunden verwalteten verbundenen App sollte das Geheimnis die verbundene App `Consumer Secret` mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten.

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

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** Salesforce aus.

   1. Geben Sie die INSTANCE\$1URL der Salesforce-Instance ein, mit der Sie eine Verbindung herstellen möchten.

   1. Geben Sie die Salesforce-Umgebung an.

   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 den OAuth2 Grant-Typ aus, den Sie für die Verbindungen verwenden möchten. Die Art der Gewährung bestimmt, wie mit Salesforce 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. Sie können einen der beiden folgenden Typen auswählen:
      + **Gewährungstyp JWT\$1BEARER**: Dieser Gewährungstyp eignet sich gut für Automatisierungsszenarien, da er es ermöglicht, vorab ein JSON Web Token (JWT) mit den Berechtigungen eines bestimmten Benutzers in der Salesforce-Instance zu erstellen. Der Ersteller hat die Kontrolle darüber, wie lange das JWT gültig ist. AWS Glue kann das JWT verwenden, um ein Zugriffstoken zu erhalten, das zum Aufrufen von Salesforce verwendet wird. APIs

        Dieser Ablauf setzt voraus, dass der Benutzer in seiner Salesforce-Instance eine verbundene Anwendung erstellt hat, die die Ausgabe von JWT-basierten Zugriffstoken für Benutzer ermöglicht.

        Informationen zum Erstellen einer verbundenen Anwendung für den OAuth JWT-Bearer-Flow finden Sie unter [OAuth 2.0 JWT-Bearer-Flow](https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_jwt_flow.htm) zur Integration. server-to-server Informationen zum Einrichten des JWT-Bearer-Workflows mit der verbundenen Salesforce-Anwendung finden Sie unter [Richten Sie den OAuth JWT-Bearer-Flow für Salesforce ein](salesforce-setup-jwt-bearer-oauth.md).
      + **AUTHORIZATION\$1CODE Grant-Typ: Dieser Grant-Typ wird als „dreibeiniges“ angesehen, OAuth da er darauf angewiesen ist, 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 verbundene Anwendung (AWS Glue verwaltete Client-Anwendung) verlassen, für die er außer der URL seiner Salesforce-Instanz keine OAuth zugehörigen Informationen angeben muss. Die AWS Glue Konsole leitet den Benutzer zu Salesforce weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Salesforce-Instanz gewähren muss.

        Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene Anwendung in Salesforce zu erstellen und beim Herstellen von Verbindungen über die AWS Glue Konsole ihre eigene Client-ID und ihren eigenen geheimen Client-Schlüssel anzugeben. In diesem Szenario werden sie weiterhin zu Salesforce weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.

        Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.

        Informationen zum Erstellen einer verbundenen Anwendung für den OAuth Autorisierungscode-Flow finden Sie unter[Einrichten des Autorisierungscode-Flows für Salesforce](salesforce-setup-authorization-code-flow.md).

   1. Wählen Sie `secretName` die aus, in AWS Glue der Sie für diese Verbindung die OAuth 2.0-Token speichern 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 die `secretName` Leseberechtigung.

1. Wenn Sie Netzwerkoptionen bereitstellen, gewähren Sie der IAM-Rolle auch die folgenden Berechtigungen:

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

****  

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

------

## Konfiguration von Salesforce-Verbindungen mit der AWS CLI
<a name="salesforce-configuring-connections-cli"></a>

Sie können Salesforce-Verbindungen mit der AWS CLI erstellen:

```
aws glue create-connection --connection-input \
"{\"Name\": \"salesforce-conn1\",\"ConnectionType\": \"SALESFORCE\",\"ConnectionProperties\": {\"ROLE_ARN\": \"arn:aws:iam::123456789012:role/glue-role\",\"INSTANCE_URL\": \"https://example.my.salesforce.com\"},\"ValidateCredentials\": true,\"AuthenticationConfiguration\": {\"AuthenticationType\": \"OAUTH2\",\"SecretArn\": \"arn:aws:secretsmanager:us-east-1:123456789012:secret:salesforce-conn1-secret-IAmcdk\",\"OAuth2Properties\": {\"OAuth2GrantType\": \"JWT_BEARER\",\"TokenUrl\": \"https://login.salesforce.com/services/oauth2/token\"}}}" \
--endpoint-url https://glue.us-east-1.amazonaws.com \
--region us-east-1
```

# Lesen aus Salesforce
<a name="salesforce-reading-from-entities"></a>

**Voraussetzung**

Ein Salesforce-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen, z. B. `Account`, `Case` oder `Opportunity`.

**Beispiel:**

```
salesforce_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforce",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v60.0"
    }
)
```

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

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 Datums- oder Zeitstempelfelder akzeptiert der Connector das Spark-Zeitstempelformat, das in Spark-SQL-Abfragen verwendet wird.

  Beispiele für gültige Werte:

  ```
  "TIMESTAMP \"1707256978123\""
  "TIMESTAMP '2018-01-01 00:00:00.000 UTC'"
  "TIMESTAMP \"2018-01-01 00:00:00 Pacific/Tahiti\"" 
  "TIMESTAMP \"2018-01-01 00:00:00\""
  "TIMESTAMP \"-123456789\" Pacific/Tahiti"
  "TIMESTAMP \"1702600882\""
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.
+  `TRANSFER_MODE`: unterstützt zwei Modi: `SYNC` und `ASYNC`. Der Standardwert ist `SYNC`. Wenn diese Option auf `ASYNC` gesetzt ist, wird die Bulk-API-2.0-Abfrage für die Verarbeitung verwendet. 

Beispiel:

```
salesforce_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforce",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v60.0",
        "PARTITION_FIELD": "SystemModstamp",
        "LOWER_BOUND": "TIMESTAMP '2021-01-01 00:00:00 Pacific/Tahiti'",
        "UPPER_BOUND": "TIMESTAMP '2023-01-10 00:00:00 Pacific/Tahiti'",
        "NUM_PARTITIONS": "10",
        "TRANSFER_MODE": "ASYNC" 
    }
)
```

## Option FILTER\$1PREDICATE
<a name="salesforce-filter-predicate"></a>

**FILTER\$1PREDICATE**: Dies ist ein optionaler Parameter. Diese Option wird für den Abfragefilter verwendet.

Beispiele für **FILTER\$1PREDICATE**:

```
     Case 1: FILTER_PREDICATE with single criterion
     Examples: 	
       LastModifiedDate >= TIMESTAMP '2025-04-01 00:00:00 Pacific/Tahiti'
       LastModifiedDate <= TIMESTAMP "2025-04-01 00:00:00"
       LastModifiedDate >= TIMESTAMP '2018-01-01 00:00:00.000 UTC'
       LastModifiedDate <= TIMESTAMP "-123456789 Pacific/Tahiti"
       LastModifiedDate <= TIMESTAMP "1702600882"

     Case 2: FILTER_PREDICATE with multiple criteria
     Examples: 
       LastModifiedDate >= TIMESTAMP '2025-04-01 00:00:00 Pacific/Tahiti' AND Id = "0012w00001CotGiAAJ"
       LastModifiedDate >= TIMESTAMP "1702600882" AND Id = "001gL000002i26MQAQ"

     Case 3: FILTER_PREDICATE single criterion with LIMIT
     Examples: 
       LastModifiedDate >= TIMESTAMP "1702600882" LIMIT 2

     Case 4: FILTER_PREDICATE with LIMIT
     Examples: 
       LIMIT 2
```

# Schreiben in Salesforce
<a name="salesforce-writing-to"></a>

**Voraussetzungen**

Ein Salesforce-Object, in das geschrieben werden soll. Sie benötigen den Objektnamen, z. B. `Account`, `Case` oder `Opportunity`.

Der Salesforce-Connector unterstützt vier Schreibvorgänge:
+ INSERT
+ UPSERT
+ AKTUALISIERUNG
+ DELETE

Wenn Sie den Schreibvorgang `UPSERT` verwenden, muss die Option `ID_FIELD_NAMES` bereitgestellt werden, um das Feld „Externe ID“ für die Datensätze anzugeben.

 Sie können auch Verbindungsoptionen hinzufügen: 
+  `TRANSFER_MODE`: Unterstützt zwei Modi: `SYNC` und `ASYNC`. Der Standardwert ist `SYNC`. Wenn diese Option auf `ASYNC` gesetzt ist, wird die Bulk-API-2.0-Erfassung für die Verarbeitung verwendet. 
+  `FAIL_ON_FIRST_ERROR`: Der Standardwert ist`FALSE`, was bedeutet, dass der AWS Glue Job weiterhin alle Daten verarbeitet, auch wenn es einige fehlgeschlagene Schreibdatensätze gibt. Wenn dieser Wert auf gesetzt ist`TRUE`, schlägt der AWS Glue Job fehl, falls es Datensätze gibt, die beim Schreiben fehlschlagen konnten, und die Verarbeitung wird nicht fortgesetzt. 

**Beispiel**

```
salesforce_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="salesforce",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v60.0",
        "WRITE_OPERATION": "INSERT",
        "TRANSFER_MODE": "ASYNC",
        "FAIL_ON_FIRST_ERROR": "true"
    }
)
```

# Salesforce-Verbindungsoptionen
<a name="salesforce-connection-options"></a>

Die folgenden Verbindungsoptionen werden für den Salesforce-Connector unterstützt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Salesforce.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der Salesforce-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.

  Bei der Bereitstellung eines Filterprädikats wird nur der `AND`-Operator unterstützt. Andere Operatoren wie `OR` und `IN` werden derzeit nicht unterstützt.
+ `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.
+ `IMPORT_DELETED_RECORDS`(Zeichenfolge) – (Standard): FALSE. Zum Lesen verwendet. Zum Abfrage der Löschdatensätze während der Abfrage.
+ `WRITE_OPERATION`(Zeichenfolge) – Standard: INSERT. Zum Schreiben verwendet. Wert muss INSERT, UPDATE, UPSERT, DELETE sein.
+ `ID_FIELD_NAMES`(Zeichenfolge) – Standard: null. Erforderlich für UPDATE und UPSERT.

# Einschränkungen für den Salesforce-Connector
<a name="salesforce-connector-limitations"></a>

Die folgenden Einschränkungen gelten für den Salesforce-Connector:
+ Wir unterstützen nur Spark SQL und Salesforce SOQL wird nicht unterstützt.
+ Auftragslesezeichen werden nicht unterstützt.
+ Bei Salesforce-Feldnamen muss die Groß- und Kleinschreibung beachtet werden. Beim Schreiben in Salesforce müssen die Daten der Groß- und Kleinschreibung der in Salesforce definierten Felder entsprechen.

# Einrichten des Autorisierungscode-Flows für Salesforce
<a name="salesforce-setup-authorization-code-flow"></a>

Informationen zur Aktivierung des OAuth 2.0-Autorisierungscode-Flows finden Sie in der öffentlichen Salesforce-Dokumentation.

So konfigurieren Sie die verbundene App:

1. Aktivieren Sie das Kontrollkästchen ** OAuth „Einstellungen aktivieren**“.

1. Geben Sie im Textfeld **Callback-URL** eine oder mehrere Weiterleitungen URLs für AWS Glue ein.

   Weiterleitungen URLs haben das folgende Format:

   https://*region*.console.aws.amazon. com/gluestudio/oauth

   In dieser URL ist *Region* der Code für die AWS Region, in die AWS Glue Sie Daten von Salesforce übertragen. Der Code für die Region USA Ost (Nord-Virginia) ist beispielsweise `us-east-1`. Für diese Region lautet die URL:

   https://us-east-1.console.aws.amazon.com/gluestudio/oauth

   *Informationen zu den AWS Glue unterstützten AWS Regionen und ihren Codes finden Sie in der allgemeinen Referenz unter [AWS Glue Endpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/glue.html)AWS .*

1. Aktivieren Sie das Kontrollkästchen **Geheimnis für Web Server Flow erforderlich**.

1. Fügen Sie in der Liste **Verfügbare OAuth Bereiche** die folgenden Bereiche hinzu:
   + Benutzerdaten verwalten über APIs (API)
   + Auf benutzerdefinierte Berechtigungen zugreifen (custom\$1permissions)
   + Auf den Identitäts-URL-Service zugreifen (id, profile, email, address, phone)
   + Auf eindeutige Benutzerkennungen zugreifen (openid)
   + Anfragen jederzeit ausführen (refresh\$1token, offline\$1access)

1. Legen Sie die Aktualisierungstoken-Richtlinie für die verbundene App so fest, dass das **Aktualisierungstoken bis zum Widerruf gültig** ist. Andernfalls schlagen Ihre Aufträge fehl, wenn Ihr Aktualisierungstoken abläuft. Weitere Informationen zum Überprüfen und Bearbeiten der Aktualisierungstoken-Richtlinie finden Sie in der Salesforce-Dokumentation unter [ OAuth Zugriffsrichtlinien für eine verbundene Anwendung verwalten](https://help.salesforce.com/articleView?id=connected_app_manage_oauth.htm).

# Richten Sie den OAuth JWT-Bearer-Flow für Salesforce ein
<a name="salesforce-setup-jwt-bearer-oauth"></a>

Informationen zur Aktivierung der server-to-server Integration mit [OAuth 2.0-JSON-Web-Tokens](https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_jwt_flow.htm) finden Sie in der öffentlichen Salesforce-Dokumentation.

Nachdem Sie ein JWT erstellt und die verbundene App in Salesforce entsprechend konfiguriert haben, können Sie eine neue Salesforce-Verbindung mit dem in Ihrem Secrets-Manager-Geheimnis festgelegten `JWT_TOKEN`-Schlüssel erstellen. Stellen Sie den OAuth Grant-Typ auf **JWT Bearer Token** ein, wenn Sie die Verbindung herstellen.

# Herstellen einer Verbindung mit Salesforce Marketing Cloud
<a name="connecting-to-data-salesforce-marketing-cloud"></a>

Salesforce Marketing Cloud ist ein Anbieter von Marketing-Automatisierungs- und Analysesoftware für E-Mail-, Mobil-, Social-Media- und Online-Marketing. Darüber hinaus werden Beratungs- und Implementierungsservices angeboten. Als Salesforce Marketing Cloud-Benutzer können Sie eine Verbindung AWS Glue zu Ihrem Salesforce Marketing Cloud-Konto herstellen. Anschließend können Sie Salesforce Marketing Cloud als Datenquelle oder Ziel in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Salesforce Marketing Cloud und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen.

**Topics**
+ [AWS Glue Unterstützung für Salesforce Marketing Cloud](salesforce-marketing-cloud-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](salesforce-marketing-cloud-configuring-iam-permissions.md)
+ [Konfigurieren von Salesforce Marketing Cloud](salesforce-marketing-cloud-configuring.md)
+ [Konfigurieren von Verbindungen mit Salesforce Marketing Cloud](salesforce-marketing-cloud-configuring-connections.md)
+ [Lesen aus Salesforce-Marketing-Cloud-Entitäten](salesforce-marketing-cloud-reading-from-entities.md)
+ [Schreiben in Entitäten von Salesforce Marketing Cloud](salesforce-marketing-cloud-writing-to-entities.md)
+ [Verbindungsoptionen für Salesforce Marketing Cloud](salesforce-marketing-cloud-connection-options.md)
+ [Einschränkungen und Hinweise für den Salesforce-Marketing-Cloud-Connector](salesforce-marketing-cloud-connector-limitations.md)

# AWS Glue Unterstützung für Salesforce Marketing Cloud
<a name="salesforce-marketing-cloud-support"></a>

AWS Glue unterstützt Salesforce Marketing Cloud wie folgt:

**Als Quelle unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten aus Salesforce Marketing Cloud abzufragen.

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

**Unterstützte Versionen der API von Salesforce Marketing Cloud**  
Die folgenden Versionen der API von Salesforce Marketing Cloud werden unterstützt:
+ v1

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="salesforce-marketing-cloud-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 Salesforce Marketing Cloud
<a name="salesforce-marketing-cloud-configuring"></a>

Bevor Sie Daten aus der Salesforce Marketing Cloud übertragen können, müssen Sie die folgenden Anforderungen erfüllen: AWS Glue 

## Mindestanforderungen
<a name="salesforce-marketing-cloud-configuring-min-requirements"></a>

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Salesforce-Marketing-Konto. Weitere Informationen finden Sie unter [Erstellen eines Salesforce-Marketing-Cloud-Kontos](#salesforce-marketing-cloud-configuring-creating-salesforce-marketing-cloud-account).
+ Ihr Salesforce-Marketing-Cloud-Konto ist für den API-Zugriff aktiviert. Der API-Zugriff ist standardmäßig für die Editionen Enterprise, Unlimited, Developer und Performance aktiviert.

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Salesforce Marketing Cloud-Konto herstellen. Für typische Verbindungen müssen Sie in Salesforce Marketing Cloud nichts weiter tun.

## Erstellen eines Salesforce-Marketing-Cloud-Kontos
<a name="salesforce-marketing-cloud-configuring-creating-salesforce-marketing-cloud-account"></a>

Für die Kontoerstellung bei Salesforce Marketing Cloud müssen Sie sich an den Anbieter wenden. Wenn Sie oder Ihr Unternehmen eine Verbindung zu Salesforce haben, wenden Sie sich an Ihren Salesforce-Kundenbetreuer, um eine Salesforce-Marketing-Cloud-Lizenz anzufordern. Andernfalls können Sie wie folgt Kontakt zu einem Salesforce-Mitarbeiter aufnehmen: 

1. Gehen Sie zu https://www.salesforce.com/in/products/marketing-cloud/overview/und wählen Sie **Registrieren** aus.

1. Wählen Sie oben rechts auf der Seite den Link **Mit uns Kontakt aufnehmen** aus.

1. Geben Sie die erforderlichen Informationen ein und wählen Sie **Mich kontaktieren** aus.

Ein Salesforce-Mitarbeiter wird sich mit Ihnen in Verbindung setzen, um Ihre Anforderungen zu besprechen.

## Ein Projekt und OAuth 2.0-Anmeldeinformationen erstellen
<a name="salesforce-marketing-cloud-configuring-creating-salesforce-marketing-cloud-project-oauth"></a>

Um ein Projekt und OAuth 2.0-Anmeldeinformationen zu erhalten:

1. Melden Sie sich mit Ihrem Benutzernamen und Passwort bei Ihrer [Salesforce-Marketing-Cloud-Instance](https://mc.login.exacttarget.com/hub-cas/login) an und authentifizieren Sie sich mit Ihrer registrierten Handynummer.

1. Klicken Sie oben rechts auf Ihr Profil und gehen Sie dann zu **Einrichten**.

1. Wählen Sie unter **Plattformtools** die Option **Apps** und dann **Installierte Pakete** aus.  
![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/sfmc-platform-tools.png)

1. Klicken Sie auf der Seite **Installierte Pakete** oben rechts auf **Neu**. Geben Sie den Namen und die Beschreibung des Pakets ein.

   Speichern Sie das Paket. Nachdem das Paket gespeichert wurde, können Sie die Paketdetails einsehen.

1. Wählen Sie auf der **Detailseite** des Pakets im Abschnitt **Komponente** die Option **Komponente hinzufügen** aus.   
![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/sfmc-add-component.png)

1. Wählen Sie als **Komponententyp** die Option „API-Integration“ aus und klicken Sie auf **Weiter**.

1. **Wählen Sie als **Integrationstyp** „Server-to-Server“ (der den OAuth Gewährungstyp für Client-Anmeldeinformationen hat) und klicken Sie auf Weiter.**

1. Fügen Sie die Bereiche entsprechend Ihren Anforderungen hinzu und klicken Sie auf **Speichern**.

# Konfigurieren von Verbindungen mit Salesforce Marketing Cloud
<a name="salesforce-marketing-cloud-configuring-connections"></a>

Salesforce Marketing Cloud unterstützt den Zuschusstyp CLIENT CREDENTIALS für OAuth2.
+ Dieser Gewährungstyp gilt als 2-Legged OAuth 2.0, da er von Kunden verwendet wird, um außerhalb des Benutzerkontextes ein Zugriffstoken zu erhalten. AWS Glue ist in der Lage, die Client-ID und das Client-Geheimnis zur Authentifizierung der Salesforce Marketing Cloud zu verwenden APIs , die von benutzerdefinierten Diensten bereitgestellt werden, die Sie definieren.
+ Jeder benutzerdefinierte Service gehört einem Nur-API-Benutzer, der über eine Reihe von Rollen und Berechtigungen verfügt, die den Service zur Ausführung bestimmter Aktionen autorisieren. Ein Zugriffstoken ist einem einzelnen benutzerdefinierten Service zugeordnet.
+ Dieser Gewährungstyp führt zu einem Zugriffstoken, das nur von kurzer Dauer ist und durch Aufrufen eines Identitätsendpunkts erneuert werden kann.
+ Die öffentliche Salesforce Marketing Cloud-Dokumentation für OAuth 2.0 mit Kundenanmeldedaten finden Sie unter [Einrichten Ihrer Entwicklungsumgebung für erweiterte Pakete](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/mc-dev-setup-enhanced.html).

Konfigurieren einer Verbindung mit Salesforce Marketing Cloud:

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

   1. Für die kundenseitig verwaltete verbundene App muss das Geheimnis das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten.

   1. Hinweis: Sie müssen einen geheimen Schlüssel 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 als **Verbindungstyp** Salesforce Marketing Cloud aus.

   1. Geben Sie die `Subdomain Endpoint` der Instance von Salesforce Marketing Cloud an, zu der eine Verbindung hergestellt werden soll.

   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 Salesforce-Marketing-Cloud-Entitäten
<a name="salesforce-marketing-cloud-reading-from-entities"></a>

**Voraussetzung**

Ein Salesforce-Marketing-Cloud-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen wie `Activity` oder `Campaigns`. Die folgende Tabelle zeigt die unterstützten Entitäten.

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


| Entität | Schnittstelle | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 SELECT“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | --- | 
| Ereignisbenachrichtigung-Callback | REST | Nein | Nein | Nein | Ja | Nein | 
| Seed-Liste | REST | Nein | Ja | Nein | Ja | Nein | 
| Einrichtung | REST | Ja | Ja | Nein | Ja | Nein | 
| Domänenverifizierung | REST | Ja | Ja | Ja | Ja | Nein | 
| Verschachtelte Objekt-Tags | REST | Ja | Nein | Nein | Ja | Nein | 
| Kontakt | REST | Nein | Ja | Nein | Ja | Nein | 
| Abonnement für Ereignisbenachrichtigung | REST | Nein | Nein | Nein | Ja | Nein | 
| Messaging | REST | Nein | Ja | Nein | Ja | Nein | 
| Aktivität | SOAP | Nein | Nein | Nein | Ja | Ja | 
| Bounce-Ereignis | SOAP | Nein | Nein | Nein | Ja | Ja | 
| Klickereignis | SOAP | Nein | Nein | Nein | Ja | Ja | 
| Inhaltsbereich | SOAP | Nein | Nein | Nein | Ja | Ja | 
| Datenerweiterung | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Email | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Ereignis Weitergeleitete E-Mail | SOAP | Nein | Ja | Nein | Ja | Ja | 
| E-Mail weiterleiten OptInEvent | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Link | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Link senden | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Auflisten | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Liste von Abonnenten | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Ereignis Nicht gesendet | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Ereignis Öffnen | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Senden | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Ereignis Gesendet | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Subscriber | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Ereignis Umfrage | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Ereignis Abonnement beenden | SOAP | Nein | Ja | Nein | Ja | Ja | 
| Prüfungsereignisse | REST | Nein | Ja | Ja | Ja | Nein | 
| Kampagnen | REST | Nein | Ja | Ja | Ja | Nein | 
| Interaktionen | REST | Nein | Ja | Ja | Ja | Nein | 
| Inhalts-Assets | REST | Nein | Ja | Ja | Ja | Nein | 

**Beispiel für REST**:

```
salesforcemarketingcloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Campaigns",
        "API_VERSION": "v1",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

**Beispiel für SOAP**:

```
salesforcemarketingcloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Activity",
        "API_VERSION": "v1",
        "INSTANCE_URL": "https://**********************.soap.marketingcloudapis.com"
    }
)
```

**Entitäts- und Felddetails zu Salesforce Marketing Cloud**:

In den folgenden Tabellen werden die Salesforce-Marketing-Cloud-Entitäten beschrieben. Es gibt REST-Entitäten mit statischen Metadaten und SOAP-Entitäten mit dynamischen Metadaten.

**REST-Entitäten mit statischen Metadaten**:

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

**SOAP-Entitäten mit dynamischen Metadaten**:

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

## Partitionierung von Abfragen
<a name="salesforce-marketing-cloud-reading-partitioning-queries"></a>

In Salesforce Marketing Cloud unterstützen die Felder Integer und DateTime Datentyp die feldbasierte Partitionierung.

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 Timestamp-Feld akzeptieren wir das Spark-Zeitstempelformat, das in Spark-SQL-Abfragen verwendet wird.

  Beispiele für gültigen Wert:

  ```
  “2024-05-07T02:03:00.00Z"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
salesforcemarketingcloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "ListSubscriber",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "CreatedDate",
        "LOWER_BOUND": "2023-09-07T02:03:00.000Z",
        "UPPER_BOUND": "2024-05-07T02:03:00.000Z",
        "NUM_PARTITIONS": "10"
    }
)
```

# Schreiben in Entitäten von Salesforce Marketing Cloud
<a name="salesforce-marketing-cloud-writing-to-entities"></a>

**Voraussetzungen**
+ Ein Salesforce-Marketing-Objekt, in das Sie schreiben möchten. Sie müssen den Namen des Objekts angeben, z. B. `List` oder `Campaigns` oder eine der anderen in der Tabelle unten aufgeführten Entitäten.
+ Der Connector von Salesforce Marketing Cloud unterstützt drei Schreibvorgänge:
  + INSERT
  + UPSERT
  + UPDATE

  Wenn Sie die Schreibvorgänge `UPDATE` und `UPSERT` verwenden, muss die Option `ID_FIELD_NAMES` bereitgestellt werden, um das Feld „Externe ID“ für die Datensätze anzugeben. 

**Unterstützte Entitäten für das Ziel**:


| Entität | Priorität | Schnittstelle (REST, SOAP usw.) | Kann eingefügt werden | Kann aktualisiert werden. | Kann aktualisiert/eingefügt werden | 
| --- | --- | --- | --- | --- | --- | 
| Kampagnen | P0 | REST | Y- Einzel | Y- Einzel | N | 
| Inhalts-Assets | P0 | REST | Y- Einzel, Bulk | Y- Einzel | N | 
| Kontakt | P1 | REST | Y- Einzel | Y- Einzel | N | 
| Domänenverifizierung | P1 | REST | Y- Einzel | Y- Einzel, Bulk | N | 
| Ereignisbenachrichtigung-Callback | P1 | REST | Y- Einzel | Y- Einzel | N | 
| Abonnement für Ereignisbenachrichtigung | P1 | REST | Y- Einzel | Y- Einzel | N | 
| Messaging | P1 | REST | Y- Einzel | N | N | 
| Geschachteltes Objekt-Tag | P2 | REST | Y- Einzel | Y- Einzel | N | 
| Seed-Liste | P1 | REST | Y- Einzel | Y- Einzel | N | 
| Einrichtung | P1 | REST | Y- Einzel | Y- Einzel | N | 
| Datenerweiterung | P0 | SOAP | Y- Einzel | Y- Einzel | Y- Einzel | 
| Email | P0 | SOAP | Y- Einzel | Y- Einzel | N | 
| Auflisten | P0 | SOAP | Y- Einzel | Y- Einzel | N | 
| Senden | P0 | SOAP | Y- Einzel | N | N | 
| Subscriber | P0 | SOAP | Y- Einzel | Y- Einzel | N | 

**Beispiel für einen INSERT-Vorgang für REST**:

```
salesforcemarketingcloud_write = glueContext.write_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Campaigns",
        "API_VERSION": "v1",
        "writeOperation" : "INSERT",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

**Beispiel für einen INSERT-Vorgang für SOAP**:

```
salesforcemarketingcloud_write = glueContext.write_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "List",
        "API_VERSION": "v1",
        "writeOperation" : "INSERT",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

**Beispiel für einen UPDATE-Vorgang für REST**:

```
salesforcemarketingcloud_write = glueContext.write_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Campaigns",
        "API_VERSION": "v1",
        "writeOperation" : "UPDATE",
         "ID_FIELD_NAMES": "id",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

**Beispiel für einen UPDATE-Vorgang für SOAP**:

```
salesforcemarketingcloud_write = glueContext.write_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "List",
        "API_VERSION": "v1",
        "writeOperation" : "UPDATE",
         "ID_FIELD_NAMES": "id",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

**Beispiel für einen UPSERT-Vorgang für SOAP**:

```
salesforcemarketingcloud_write = glueContext.write_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "DataExtension/Insert-***E/6*******3",
        "API_VERSION": "v1",
        "writeOperation" : "UPSERT",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

# Verbindungsoptionen für Salesforce Marketing Cloud
<a name="salesforce-marketing-cloud-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Salesforce Marketing Cloud aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Salesforce Marketing Cloud.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Die REST- und SOAP-API-Version von Salesforce Marketing Cloud, 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.
+ `WRITE_OPERATION`(Zeichenfolge) – Standard: INSERT. Zum Schreiben verwendet. Wert muss INSERT, UPDATE, UPSERT sein.
+ `ID_FIELD_NAMES`(Zeichenfolge) – Standard: null. Erforderlich für UPDATE/UPSERT.

# Einschränkungen und Hinweise für den Salesforce-Marketing-Cloud-Connector
<a name="salesforce-marketing-cloud-connector-limitations"></a>

Die folgenden Einschränkungen gelten für den Salesforce-Connector:
+ Wenn Sie den Filter für ein DateTime Datentypfeld verwenden, müssen Sie den Wert im Format "yyyy-mm-ddthh:mm:ssz“ übergeben.
+ In der Datenvorschau wird der boolesche Datentypwert leer angezeigt.
+ Für SOAP-Entitäten können Sie maximal zwei Filter definieren und für REST-Entitäten können Sie nur einen Filter definieren, wodurch das Testen der Partitionierung mit Filtern eingeschränkt wird.
+ Auf SaaS-Seite wurden mehrere unerwartete Verhaltensweisen beobachtet: Das `Link.Alias`-Feld in der Entität „linksend“ unterstützt den Operator CONTAINS nicht (zum Beispiel: `Link.Alias CONTAINS "ViewPrivacyPolicy"`) und Filteroperatoren für Data-Extension-Entitäten (wie GLEICH und GRÖSSER ALS) geben nicht die erwarteten Ergebnisse zurück.
+ Die SFMC ClickEvent SOAP-API hat eine Verzögerung bei der Wiedergabe neu erstellter Datensätze, sodass die kürzlich erstellten Datensätze möglicherweise nicht sofort in der API-Antwort verfügbar sind.

  Beispiel: Wenn Sie am **2025-01-10T 14:30:00** 5 neue ClickEvent Datensätze erstellen und diese sofort über die SOAP-API abrufen, enthält die Antwort möglicherweise nicht alle 5 Datensätze. Es kann bis zu 5 Minuten dauern, bis die neu erstellten Datensätze in der API-Antwort angezeigt werden. Diese Verzögerung kann sich sowohl auf den Datenabruf als auch auf geplante Datenläufe auswirken.
+ **Zwei verschiedene DateTime Formate: **2025-03-11T 04:46:00 (ohne Millisekunden) und 2025-03-11T 04:46:00.000** Z werden unterstützt, wenn Schreiboperationen in (mit Millisekunden) ausgeführt werden.** AWS Glue 
+ Für die Entität „Event Notification Subscription“ kann ein Abonnement nur für eine verifizierte Rückruf-URL erstellt werden und Sie können bis zu 200 Abonnements pro Rückruf haben.
+ Für die Entität „Event Notification Callback“ können maximal 50 Datensätze pro Konto erstellt werden.

# Herstellen einer Verbindung mit Salesforce Commerce Cloud
<a name="connecting-to-salesforce-commerce-cloud"></a>

 Die B2C Commerce-API ist eine Sammlung RESTful APIs für die Interaktion mit B2C-Commerce-Instanzen. Sie hat verschiedene Namen: Salesforce-Commerce-API, das Akronym SCAPI oder einfach Commerce-API.

 Die API ermöglicht es Entwicklern, eine Vielzahl von Anwendungen zu erstellen: von kompletten Storefronts bis hin zu benutzerdefinierten Händlertools zur Erweiterung von Business Manager. Für alle B2C-Commerce-Kunden ist die API ohne zusätzliche Kosten verfügbar. 

 Die API ist in zwei Hauptgruppen unterteilt APIs: Shopper APIs und Admin. APIs Innerhalb jeder Gruppe sind sie wiederum in API-Familien und kleinere Gruppen unterteilt, die sich auf verwandte Funktionen konzentrieren. 

**Topics**
+ [AWS Glue Unterstützung für Salesforce Commerce Cloud](salesforce-commerce-cloud-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](salesforce-commerce-cloud-configuring-iam-permissions.md)
+ [Konfiguration von Salesforce Commerce Cloud](salesforce-commerce-cloud-configuring.md)
+ [Konfigurieren von Salesforce-Commerce-Cloud-Verbindungen](salesforce-commerce-cloud-configuring-connections.md)
+ [Lesen aus Entitäten von Salesforce Commerce Cloud](salesforce-commerce-cloud-reading-from-entities.md)
+ [Verweis auf die Verbindungsoption für Salesforce Commerce Cloud](salesforce-commerce-cloud-connection-options.md)
+ [Einschränkungen](salesforce-commerce-cloud-connector-limitations.md)

# AWS Glue Unterstützung für Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-support"></a>

AWS Glue unterstützt Salesforce Commerce Cloud wie folgt:

**Als Quelle unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten aus der Salesforce Commerce Cloud abzufragen.

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

**Unterstützte Versionen der Salesforce-Commerce-Cloud-API**  
 v1. 

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="salesforce-commerce-cloud-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. 

# Konfiguration von Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-configuring"></a>

Bevor Sie Daten aus der Salesforce Commerce Cloud übertragen können, müssen Sie die folgenden Anforderungen erfüllen: AWS Glue 

## Mindestanforderungen
<a name="salesforce-commerce-cloud-configuring-min-requirements"></a>
+  Sie haben eine Client-Anwendung von Salesforce Commerce Cloud mit clientId und clientSecret. 
+  Ihr Konto bei Salesforce Commerce Cloud ist für den API-Zugriff aktiviert. 

 Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Salesforce Commerce Cloud-Konto herstellen. Für typische Verbindungen müssen Sie in Salesforce Commerce Cloud nichts weiter tun. 

# Konfigurieren von Salesforce-Commerce-Cloud-Verbindungen
<a name="salesforce-commerce-cloud-configuring-connections"></a>

 Salesforce Commerce Cloud unterstützt den Gewährungstyp CLIENT CREDENTIALS für OAuth2. 
+  Dieser Gewährungstyp gilt als 2-beinig OAuth 2.0, da er von Kunden verwendet wird, um außerhalb des Benutzerkontextes ein Zugriffstoken zu erhalten. AWS Glue ist in der Lage, die Client-ID und das Client-Geheimnis zur Authentifizierung von Salesforce Commerce Cloud zu verwenden APIs , die von benutzerdefinierten Diensten bereitgestellt werden, die Sie definieren. 
+  Jeder benutzerdefinierte Service gehört einem Nur-API-Benutzer, der über eine Reihe von Rollen und Berechtigungen verfügt, die den Service zur Ausführung bestimmter Aktionen autorisieren. Ein Zugriffstoken ist einem einzelnen benutzerdefinierten Service zugeordnet. 
+  Dieser Gewährungstyp führt zu einem Zugriffstoken, das nur von kurzer Dauer ist und durch Aufrufen eines Identitätsendpunkts erneuert werden kann. 
+  Weitere Informationen zur Salesforce-Commerce-Cloud-Dokumentation zur Generierung der Client-Anmeldedaten finden Sie in der [Salesforce-Dokumentation](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization.html). 

So konfigurieren Sie eine Salesforce-Commerce-Cloud-Verbindung:

1.  Erstellen Sie in AWS Secrets Manager ein Geheimnis 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 als **Datenquelle** Salesforce Commerce Cloud aus.

   1. Geben Sie **Kurzcode**, **Organisations-ID** und **Site-ID** für Salesforce Commerce Cloud an.

   1. Wählen Sie die Salesforce-Commerce-Cloud-Domain-URL Ihres Salesforce-Commerce-Cloud-Kontos aus.

   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.  Geben Sie die OAuth Bereiche an — optional, die benutzerverwaltete Client-Anwendung ClientId der Salesforce Commerce Cloud, zu der 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. 

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

# Lesen aus Entitäten von Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-reading-from-entities"></a>

 **Voraussetzungen** 
+  Ein Objekt in Salesforce Commerce Cloud, 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 | 
| --- | --- | --- | --- | --- | --- | 
| Zuweisungen | Ja | Ja | Ja | Ja | Ja | 
| Kampagnen | Ja | Ja | Ja | Ja | Ja | 
| Kataloge | Ja | Ja | Ja | Ja | Ja | 
| Kategorien | Ja | Ja | Ja | Ja | Ja | 
| Coupons | Ja | Ja | Ja | Ja | Ja | 
| Geschenkzertifikate | Ja | Ja | Ja | Ja | Ja | 
| Produkte | Ja | Ja | Ja | Ja | Ja | 
| Aktionen | Ja | Ja | Ja | Ja | Ja | 
| Quellcode-Gruppen | Ja | Ja | Ja | Ja | Ja | 

 **Beispiel** 

```
salesforce_commerce_cloud_read = glueContext.create_dynamic_frame.from_options(
     connection_type="SalesforceCommerceCloud",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "campaign",
         "API_VERSION": "v1"      
     }
)
```

 **Entitäts- und Felddetails für Salesforce Commerce Cloud** 

 Liste der Entitäten: 
+  Aufgaben: [https://developer.salesforce.com/docs/commerce/commerce-api/references/assignments]( https://developer.salesforce.com/docs/commerce/commerce-api/references/assignments) 
+  Kampagnen: [https://developer.salesforce.com/docs/commerce/commerce-api/references/campaigns](https://developer.salesforce.com/docs/commerce/commerce-api/references/campaigns) 
+  Kataloge: [https://developer.salesforce.com/docs/commerce/commerce-api/references/catalogs](https://developer.salesforce.com/docs/commerce/commerce-api/references/catalogs) 
+  [Kategorien:? https://developer.salesforce.com/docs/ commerce/commerce-api/references/catalogs meta=Kategorien suchen](https://developer.salesforce.com/docs/commerce/commerce-api/references/catalogs?meta=searchCategories) 
+  [Geschenkgutscheine: -Zertifikate https://developer.salesforce.com/docs/ commerce/commerce-api/references/gift](https://developer.salesforce.com/docs/commerce/commerce-api/references/gift-certificates) 
+  Produkte: [https://developer.salesforce.com/docs/commerce/commerce-api/references/products](https://developer.salesforce.com/docs/commerce/commerce-api/references/products) 
+  Werbeaktionen: [https://developer.salesforce.com/docs/commerce/commerce-api/references/promotions](https://developer.salesforce.com/docs/commerce/commerce-api/references/promotions) 
+  Quellcode-Gruppen: [https://developer.salesforce.com/docs/commerce/commerce-api/references/source-code-groups](https://developer.salesforce.com/docs/commerce/commerce-api/references/source-code-groups) 

 **Partitionierung von Abfragen** 

 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. 

 Details zur Unterstützung von Feldern für die entitätsbezogene Partitionierung sind in der folgenden Tabelle aufgeführt. 


| Entität | Partitionierungsfeld | DataType | 
| --- | --- | --- | 
| Kampagnen | lastModified | DateTime | 
| Kampagnen | startDate | DateTime | 
| Kampagnen | endDate | DateTime | 
| Kataloge | creationDate | DateTime | 
| Kategorien | creationDate | DateTime | 
| Geschenkzertifikate | merchantId | Zeichenfolge | 
| Geschenkzertifikate | creationDate | DateTime | 
| Produkte | creationDate | DateTime | 
| Produkte | lastModified | DateTime | 
| Quellcode-Gruppen | creationDate | DateTime | 
| Quellcode-Gruppen | startTime | DateTime | 
| Quellcode-Gruppen | endTime | DateTime | 

 **Beispiel** 

```
 salesforceCommerceCloud_read = glueContext.create_dynamic_frame.from_options(
     connection_type="SalesforceCommerceCloud",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "coupons",
         "API_VERSION": "v1",
         "PARTITION_FIELD": "creationDate",
         "LOWER_BOUND": "2020-05-01T20:55:02.000Z",
         "UPPER_BOUND": "2024-07-11T20:55:02.000Z",
         "NUM_PARTITIONS": "10"
     }
)
```

# Verweis auf die Verbindungsoption für Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-connection-options"></a>

Im Folgenden finden Sie Verbindungsoptionen für Salesforce Commerce Cloud:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Salesforce Commerce Cloud. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der REST-API von Salesforce Commerce Cloud, die Sie verwenden möchten. 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="salesforce-commerce-cloud-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen für den Salesforce-Commerce-Cloud-Connector:
+ Der Filter „Enthält“ funktioniert bei der Partitionierung nicht wie erwartet.
+ Die Entität von CDN-Zonen unterstützt keine Sandbox-Instances, sondern nur Entwicklungs- und Produktions-Instances. Weitere Informationen finden Sie unter [https://help.salesforce.com/s/ArticleView? id=cc.b2c\$1embedded\$1cdn\$1overview.htm](https://help.salesforce.com/s/articleView?id=cc.b2c_embedded_cdn_overview.htm).
+ In Salesforce Commerce Cloud gibt es keinen API-Endpunkt zum Abrufen dynamischer Metadaten. Daher werden die benutzerdefinierten Felder in der Produkt- und Kategorieentität nicht unterstützt.
+ „Site id“ ist ein obligatorischer Abfrageparameter. Sie müssen den Wert für „Site id“ über die benutzerdefinierte Connector-Einstellung weitergeben. Weitere Informationen finden Sie unter [Base URL and Request Formation](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html).
+ Sie können Filter auf maximal zwei Felder (ausgenommen Levels, falls vorhanden) in einer einzelnen API-Anfrage anwenden. Dabei lassen sich allerdings verschiedene Operatoren kombinieren, wie in der folgenden Tabelle aufgeführt:    
<a name="salesforce-commerce-cloud-limitations-filters"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/salesforce-commerce-cloud-connector-limitations.html)
+ In einigen Entitäten unterscheidet sich der Datentyp für die Felder beim Abrufen von dem Datentyp, der bei der Verwendung als durchsuchbare Felder verwendet wird. Aus diesem Grund gibt es kein Filterfeature für diese Felder. Die folgende Tabelle enthält Einzelheiten zu solchen Feldern.     
<a name="salesforce-commerce-cloud-limitations-filters-provision"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/salesforce-commerce-cloud-connector-limitations.html)

# Herstellen einer Verbindung mit Salesforce Marketing Cloud Account Engagement
<a name="connecting-to-data-salesforce-marketing-cloud-account-engagement"></a>

Salesforce Marketing Cloud Account Engagement ist eine Marketing-Automatisierungslösung, die Unternehmen dabei unterstützt, sinnvolle Beziehungen aufzubauen, mehr Pipeline zu generieren und den Vertrieb zu stärken, um mehr Geschäfte abzuschließen. Wenn Sie ein Salesforce Marketing Cloud Account Engagement-Benutzer sind, können Sie eine Verbindung AWS Glue zu Ihrem Salesforce Marketing Cloud Account Engagement-Konto herstellen. Anschließend können Sie Salesforce Marketing Cloud Account Engagement als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten von Salesforce Marketing Cloud Account Engagement an AWS Dienste oder andere unterstützte Anwendungen zu übertragen.

**Topics**
+ [AWS Glue Unterstützung für Salesforce Marketing Cloud Account Engagement](salesforce-marketing-cloud-account-engagement-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](salesforce-marketing-cloud-account-engagement-configuring-iam-permissions.md)
+ [Konfigurieren von Salesforce Marketing Cloud Account Engagement](salesforce-marketing-cloud-account-engagement-configuring.md)
+ [Konfigurieren von Verbindungen zu Salesforce Marketing Cloud Account Engagement](salesforce-marketing-cloud-account-engagement-configuring-connections.md)
+ [Lesen aus Salesforce-Marketing-Cloud-Account-Engagement-Entitäten](salesforce-marketing-cloud-account-engagement-reading-from-entities.md)
+ [Verbindungsoptionen für Salesforce Marketing Cloud Account Engagement](salesforce-marketing-cloud-account-engagement-connection-options.md)
+ [Einschränkungen und Hinweise für den Salesforce-Marketing-Cloud-Account-Engagement-Connector](salesforce-marketing-cloud-account-engagement-connector-limitations.md)

# AWS Glue Unterstützung für Salesforce Marketing Cloud Account Engagement
<a name="salesforce-marketing-cloud-account-engagement-support"></a>

AWS Glue unterstützt Salesforce Marketing Cloud Account Engagement wie folgt:

**Als Quelle unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten aus Salesforce Marketing Cloud Account Engagement entweder im asynchronen Modus oder im Synchronisierungsmodus abzufragen.

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

**Unterstützte Versionen der API von Salesforce Marketing Cloud Account Engagement**  
Die folgenden Versionen der API von Salesforce Marketing Cloud Account Engagement werden unterstützt:
+ v5

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="salesforce-marketing-cloud-account-engagement-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 Salesforce Marketing Cloud Account Engagement
<a name="salesforce-marketing-cloud-account-engagement-configuring"></a>

Bevor Sie AWS Glue Daten aus Salesforce Marketing Cloud Account Engagement übertragen können, müssen Sie die folgenden Anforderungen erfüllen:

## Mindestanforderungen
<a name="salesforce-marketing-cloud-account-engagement-configuring-min-requirements"></a>

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Salesforce-Marketing-Konto.
+ Sie haben einen lizenzierten Account-Engagement-Plan für das Salesforce-Konto. 
+ Sie haben den Salesforce-Benutzer mit dem Account-Engagement-Benutzer synchronisiert.
+ Sie haben unter App Manager eine neue verbundene Anwendung erstellt, um OAuth Anmeldeinformationen zu erhalten.

Wenn Sie diese Anforderungen erfüllen, sind Sie bereit, eine Verbindung AWS Glue zu Ihrem Salesforce Marketing Cloud Account Engagement-Konto herzustellen.

# Konfigurieren von Verbindungen zu Salesforce Marketing Cloud Account Engagement
<a name="salesforce-marketing-cloud-account-engagement-configuring-connections"></a>

Die Art der Gewährung bestimmt, wie mit Salesforce Marketing Cloud Account Engagement 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. Salesforce Marketing Cloud Account Engagement unterstützt nur den Zuschusstyp 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 
+ Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene Anwendung in Salesforce Marketing Cloud Account Engagement zu erstellen und beim Herstellen von Verbindungen über die AWS Glue Konsole ihre eigene Kunden-ID und ihren eigenen geheimen Kundenschlüssel anzugeben. In diesem Szenario werden sie weiterhin zu Salesforce Marketing Cloud Account Engagement weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.
+ Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.
+ Die öffentliche Dokumentation zu Salesforce Marketing Cloud Account Engagement zur Erstellung einer verbundenen Anwendung für den OAuth Autorisierungscode-Flow finden Sie unter [Authentifizierung](https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html#authentication).

So konfigurieren Sie eine Verbindung zu Salesforce Marketing Cloud Account Engagement:

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** Salesforce Marketing Cloud Account Engagement aus.

   1. Geben Sie die `INSTANCE_URL` der Instance von Salesforce Marketing Cloud Account Engagement an, zu der eine Verbindung hergestellt werden soll.

   1. Geben Sie die `PARDOT_BUSINESS_UNIT_ID` der Instance von Salesforce Marketing Cloud Account Engagement an, zu der eine Verbindung hergestellt werden soll.

   1. Wählen Sie die entsprechende **Autorisierungscode-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. Geben Sie die Client-ID der vom Benutzer verwalteten Client-Anwendung an (die Client-ID der verbundenen Anwendung).

   1. Wählen Sie `secretName` die aus, in die Sie für diese Verbindung die Token einfügen AWS Glue möchten. Das ausgewählte Geheimnis muss über den Schlüssel `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` verfügen, dessen Wert dem Client-Geheimnis der verbundenen App entspricht.

   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.

# Lesen aus Salesforce-Marketing-Cloud-Account-Engagement-Entitäten
<a name="salesforce-marketing-cloud-account-engagement-reading-from-entities"></a>

**Voraussetzung**

Ein Salesforce-Marketing-Cloud-Account-Engagement-Objekt, aus dem Sie lesen möchten. 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 | 
| --- | --- | --- | --- | --- | --- | 
| Kampagne | Ja | Ja | Ja | Ja | Ja | 
| Dynamischer Inhalt | Ja | Ja | Ja | Ja | Ja | 
| Email | Ja | Ja | Ja | Ja | Ja | 
| E-Mail-Vorlage | Ja | Ja | Ja | Ja | Ja | 
| Engagement-Studio-Programm | Ja | Ja | Ja | Ja | Ja | 
| Ordnerinhalt | Ja | Ja | Ja | Ja | Ja | 
| Landingpage | Ja | Ja | Ja | Ja | Ja | 
| Lebenszyklusverlauf | Ja | Ja | Ja | Ja | Ja | 
| Lebenszyklusphase | Ja | Ja | Ja | Ja | Ja | 
| Auflisten | Ja | Ja | Ja | Ja | Ja | 
| E-Mail-Liste | Ja | Ja | Ja | Ja | Ja | 
| Mitgliedschaftsliste | Ja | Ja | Ja | Ja | Ja | 
| Gelegenheit | Ja | Ja | Ja | Ja | Ja | 
| Interessent | Ja | Ja | Ja | Ja | Ja | 
| Konto Interessent | Ja | Ja | Ja | Ja | Ja | 
| Benutzer | Ja | Ja | Ja | Ja | Ja | 

**Beispiel:**

```
salesforcepardot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="SalesforcePardot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v5"
    }
   )
```

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Kampagne | Ja | Nein | Nein | Ja | Nein | 
| Dynamischer Inhalt | Ja | Nein | Nein | Ja | Nein | 
| E-Mail-Vorlage | Ja | Nein | Nein | Ja | Nein | 
| Landingpage | Ja | Nein | Nein | Ja | Nein | 
| Lebenszyklusverlauf | Ja | Nein | Nein | Ja | Nein | 
| Lebenszyklusphase | Ja | Nein | Nein | Ja | Nein | 
| Auflisten | Ja | Nein | Nein | Ja | Nein | 
| E-Mail-Liste | Ja | Nein | Nein | Ja | Nein | 
| Mitgliedschaftsliste | Ja | Nein | Nein | Ja | Nein | 
| Gelegenheit | Ja | Nein | Nein | Ja | Nein | 
| Interessent | Ja | Nein | Nein | Ja | Nein | 
| Konto Interessent | Ja | Nein | Nein | Ja | Nein | 
| Benutzer | Ja | Nein | Nein | Ja | Nein | 

**Beispiel:**

```
salesforcepardot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="SalesforcePardot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v5",
        "TRANSFER_MODE": "ASYNC"
    }
   )
```

**Entitäts- und Felddetails zu Salesforce Marketing Cloud Account Engagement**:

Um die Felddetails für die folgenden Entitäten anzuzeigen, navigieren Sie zu [Salesforce Marketing Cloud Account Engagement API](https://developer.salesforce.com/docs/marketing/pardot), wählen Sie **Guides** aus, scrollen Sie nach unten zu **Open Source API Wrappers**, erweitern Sie **Version 5 Docs** im Menü und wählen Sie eine Entität aus.

Liste der Entitäten:
+ Kampagne
+ Dynamischer Inhalt
+ Email
+ E-Mail-Vorlage
+ Engagement-Studio-Programm
+ Ordnerinhalt
+ Landingpage
+ Lebenszyklusverlauf
+ Lebenszyklusphase
+ Auflisten
+ E-Mail-Liste
+ Mitgliedschaftsliste
+ Gelegenheit
+ Interessent
+ Konto Interessent
+ Benutzer

Zusätzlich zu den oben genannten Feldern unterstützt der asynchrone Modus spezifische filterbare Felder für jede Entität, wie in der Tabelle unten dargestellt.


| Entität | Zusätzliche filterbare Felder werden im asynchronen Modus unterstützt | 
| --- | --- | 
| Kampagne | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Dynamischer Inhalt | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| E-Mail-Vorlage | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Engagement-Studio-Programm | - | 
| Landingpage | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Lebenszyklusverlauf | createdAfter, createdBefore | 
| Lebenszyklusphase | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Auflisten | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| E-Mail-Liste | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Mitgliedschaftsliste | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Gelegenheit | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Interessent | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Konto Interessent | createdAfter, createdBefore, deleted | 
| Benutzer | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 

Weitere Informationen zu den zusätzlichen Feldern finden Sie unter [Salesforce Export API](https://developer.salesforce.com/docs/marketing/pardot/guide/export-v5.html#procedures).

Beachten Sie folgende Überlegungen zum Connector:
+ Der Wert des Felds `delete` in den Entitäten kann `false` (Standard), `true` oder `all` sein.

## Partitionieren von Abfragen
<a name="salesforce-marketing-cloud-account-engagement-reading-partitioning-queries"></a>

**Filterbasierte Partitionierung**:

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:

  ```
  "2022-01-01T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.
+ `PARTITION_BY`: der Typ der durchzuführenden Partitionierung. Bei feldbasierter Partitionierung ist „FIELD“ zu übergeben.

Beispiel:

```
salesforcepardot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforcepardot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v5",
        "PARTITION_FIELD": "createdAt"
        "LOWER_BOUND": "2022-01-01T01:01:01.000Z"
        "UPPER_BOUND": "2024-01-01T01:01:01.000Z"
        "NUM_PARTITIONS": "10",
        "PARTITION_BY": "FIELD"
    }
   )
```

# Verbindungsoptionen für Salesforce Marketing Cloud Account Engagement
<a name="salesforce-marketing-cloud-account-engagement-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Salesforce Marketing Cloud Account Engagement aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Salesforce Marketing Cloud Account Engagement.
+ `PARDOT_BUSINESS_UNIT_ID` – (Erforderlich) Zum Herstellen einer Verbindung verwendet. Die Geschäftseinheits-ID der Instance von Salesforce Marketing Cloud Account Engagement, mit der eine Verbindung hergestellt werden soll.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Die REST-API-Version von Salesforce Marketing Cloud Account Engagement, 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) –
  + Im Sync-Modus – Standard: leer. Zum Lesen verwendet. Muss das Spark-SQL-Format aufweisen.
  + Im Async-Modus – Standard: Aktueller `DateTime`-Wert (gemäß der Zeitzone des Benutzers) – 1 Jahr. Zum Lesen verwendet.
+ `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 URL für die Instance von Salesforce Marketing Cloud Account Engagement.
+ `PARTITION_BY` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Typ der durchzuführenden Partitionierung. Bei feldbasierter Partitionierung ist „FIELD“ zu übergeben.
+ `TRANSFER_MODE`(Zeichenfolge) – (Optional), Wert, der für die Ausführung eines Auftrags im ASYNC-Modus verwendet werden soll. Wenn diese Option nicht angegeben ist, wird der Auftrag im SYNC-Modus ausgeführt.

# Einschränkungen und Hinweise für den Salesforce-Marketing-Cloud-Account-Engagement-Connector
<a name="salesforce-marketing-cloud-account-engagement-connector-limitations"></a>

Die folgenden Hinweise und Einschränkungen gelten:
+ Wenn sowohl eine Einschränkung als auch eine Partitionierung angewendet werden, hat die Einschränkung Vorrang vor der Partitionierung.
+ Gemäß den API-Dokumenten wurde eine RateLimit bei täglichen und gleichzeitigen `SalesforceMarketingCloudEngagement` Anfragen durchgesetzt. Weitere Informationen finden Sie unter [Einschränkungen](https://developer.salesforce.com/docs/marketing/pardot/guide/overview.html?q=limitation#rate-limits).
+ Die Export-API unterliegt der täglichen Account-Engagement-API-Aufrufeinschränkung und der Einschränkung für gleichzeitige Account-Engagement-API-Aufrufe für Ihr Konto.
+ Ähnlich wie bei einer Warteschlange werden Export/Async API-Aufrufe nacheinander für jedes Konto ausgeführt. Ältere Exporte werden vor neueren Exporten verarbeitet.
+ Die Partition wird im Async-Modus nicht unterstützt.
+ Die Anzahl der ausgewählten Felder, die in den Export/Async API-Aufrufen angegeben wurden, darf 150 nicht überschreiten.
+ Die **Prospect**-Entität unterstützt mehr als 150 Felder, es können jedoch nur 150 Felder gleichzeitig ausgewählt werden. Wenn `Select All` ausgewählt ist, werden einige Felder ausgeschlossen. Um Daten für diese ausgeschlossenen Felder abzurufen, müssen Sie sie in die `Selected Fields`-Option aufnehmen.

  Im Folgenden finden Sie die Liste der ausgeschlossenen Felder in `SELECT_ALL` – `updatedBy.firstName`, `updatedBy.lastName`, `updatedBy.jobTitle`, `updatedBy.roleName`, `updatedBy.salesforceId`, `updatedBy.createdAt`, `updatedBy.updatedAt`, `updatedBy.isDeleted`, `updatedBy.createdById`, `updatedBy.updatedById` und `updatedBy.tagReplacementLanguage`.
+ Sammlungsfelder können für Async nicht exportiert werden. Beispielsweise werden in „E-Mail auflisten“ die Felder `senderOptions` und `replyToOptions` nicht unterstützt.
+ Für alle Entitäten ist der Filter obligatorisch. Ist kein Filter angegeben, wird das Standardfilterprädikat auf das `Created After`-Feld mit dem Wert des aktuellen Datums und der Uhrzeit (angepasst an Ihre Zeitzone) minus einem Jahr festgelegt.
+ Gemäß den Einschränkungen für Salesforce Marketing Cloud Account Engagement beträgt der maximale Bereich für das Abrufen von Daten in Async 1 Jahr. Wenn eine Abfrage länger als ein Jahr bereitgestellt wird, gibt der Auftrag einen Fehler aus. 
+ Derzeit ist ein Fehler in Salesforce Pardot vorhanden. Wenn der Auftrag nur ein einzelnes Feld ohne Daten enthält, gibt der Feldwert kein korrektes Ergebnis zurück, sondern der Feldname wird mehrmals zurückgegeben. Das Salesforce-Pardot-Team ist sich des Problems bewusst und arbeitet aktiv an einer Lösung.

# Verbindung zu SAP HANA in AWS Glue Studio herstellen
<a name="connecting-to-data-saphana"></a>

 AWS Glue bietet integrierte Unterstützung für SAP HANA. AWS Glue Studio stellt eine visuelle Benutzeroberfläche bereit, um eine Verbindung zu SAP HANA herzustellen, Datenintegrationsaufträge zu verfassen und diese in der AWS Glue Studio-Serverless-Spark-Laufzeit auszuführen. 

 AWS Glue Studio erstellt eine einheitliche Verbindung für SAP HANA. Weitere Informationen finden Sie unter [Überlegungen](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

**Topics**
+ [Erstellen einer SAP-HANA-Verbindung](creating-saphana-connection.md)
+ [Erstellen eines SAP-HANA-Quellknotens](creating-saphana-source-node.md)
+ [Erstellen eines SAP-HANA-Zielknotens](creating-saphana-target-node.md)
+ [Erweiterte Optionen](#creating-saphana-connection-advanced-options)

# Erstellen einer SAP-HANA-Verbindung
<a name="creating-saphana-connection"></a>

Um von aus eine Verbindung zu SAP HANA herzustellen AWS Glue, müssen Sie Ihre SAP HANA-Anmeldeinformationen erstellen und in einem AWS Secrets Manager geheimen Ordner speichern und dieses Geheimnis dann einer SAP AWS Glue HANA-Verbindung zuordnen. Sie müssen die Netzwerkkonnektivität zwischen Ihrem SAP-HANA-Service und AWS Glue konfigurieren.

**Voraussetzungen:**
+ Wenn sich Ihr SAP HANA-Service in einer Amazon VPC befindet, konfigurieren Sie Amazon VPC so, dass Ihr AWS Glue Job mit dem SAP HANA-Service kommunizieren kann, ohne dass der Datenverkehr das öffentliche Internet durchquert.

  Identifizieren oder erstellen Sie in Amazon VPC eine **VPC**, ein **Subnetz** und eine **Sicherheitsgruppe**, die bei der Ausführung des Jobs verwendet AWS Glue werden. Darüber hinaus muss Amazon VPC so konfiguriert sein, dass der Netzwerkdatenverkehr zwischen Ihrem SAP-HANA-Endpunkt und diesem Standort zugelassen wird. Ihr Auftrag muss eine TCP-Verbindung mit Ihrem SAP-HANA-JDBC-Port herstellen. Weitere Informationen zu SAP-HANA-Ports finden Sie in der [Dokumentation von SAP HANA](https://help.sap.com/docs/HANA_SMART_DATA_INTEGRATION/7952ef28a6914997abc01745fef1b607/88e2e8bded9e4041ad3ad87dc46c7b55.html?locale=en-US). Abhängig von Ihrem Netzwerklayout kann dies Änderungen an den Sicherheitsgruppenregeln, dem Netzwerk ACLs, den NAT-Gateways und den Peering-Verbindungen erfordern.

**Konfigurieren Sie eine Verbindung zu SAP HANA wie folgt:**

1. Erstellen Sie AWS Secrets Manager unter Verwendung Ihrer SAP HANA-Anmeldeinformationen ein Geheimnis. Um ein Geheimnis in Secrets Manager zu erstellen, folgen Sie dem Tutorial, das in der AWS Secrets Manager Dokumentation unter [Create an AWS Secrets Manager Secret](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) verfügbar ist. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Geheimnamen *secretName* für den nächsten Schritt bei. 
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `username/USERNAME` mit dem Wert. *saphanaUsername*
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `password/PASSWORD` mit dem Wert. *saphanaPassword*

1. Stellen Sie in der AWS Glue Konsole eine Verbindung her, indem Sie den Schritten unter folgen. [AWS Glue Verbindung hinzufügen](console-connections.md) Nachdem Sie die Verbindung hergestellt haben, behalten Sie den Verbindungsnamen,*connectionName*, für die future Verwendung in AWS Glue. 
   + Wählen Sie als **Verbindungstyp** SAP HANA aus.
   + Wenn Sie die **SAP-HANA-URL** angeben, geben Sie die URL für Ihre Instance an.

     SAP HANA JDBC URLs haben das folgende Format `jdbc:sap://saphanaHostname:saphanaPort/?databaseName=saphanaDBname,ParameterName=ParameterValue`

     AWS Glue erfordert die folgenden JDBC-URL-Parameter: 
     + `databaseName` – Eine Standarddatenbank in SAP HANA, mit der eine Verbindung hergestellt werden kann.
   + Geben Sie bei der Auswahl eines **AWS Geheimnisses Folgendes** an. *secretName*

Nachdem Sie eine AWS Glue SAP HANA-Verbindung hergestellt haben, müssen Sie die folgenden Schritte ausführen, bevor Sie Ihren AWS Glue Job ausführen können:
+ Erteilen Sie der mit Ihrem AWS Glue Job verknüpften IAM-Rolle *secretName* Leserechte.

# Erstellen eines SAP-HANA-Quellknotens
<a name="creating-saphana-source-node"></a>

## Voraussetzungen
<a name="creating-saphana-source-node-prerequisites"></a>
+ Eine AWS Glue SAP HANA-Verbindung, konfiguriert mit einem AWS Secrets Manager Geheimnis, wie im vorherigen Abschnitt beschrieben,[Erstellen einer SAP-HANA-Verbindung](creating-saphana-connection.md).
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Eine SAP-HANA-Tabelle, aus der Sie lesen*tableName*, oder abfragen möchten*targetQuery*.

  Eine Tabelle kann mit einem SAP-HANA-Tabellennamen und -Schemanamen im folgenden Format angegeben werden: `schemaName.tableName`. Der Schemaname und das Trennzeichen „.“ sind nicht erforderlich, wenn sich die Tabelle im Standardschema „public“ befindet. Nennen Sie das*tableIdentifier*. Beachten Sie, dass die Datenbank als JDBC-URL-Parameter in `connectionName` bereitgestellt wird.

## Hinzufügen einer SAP-HANA-Datenquelle
<a name="creating-saphana-source-node-add"></a>

**Einen Knoten **Datenquelle – SAP HANA** fügen Sie wie folgt hinzu:**

1.  Wählen Sie die Verbindung für Ihre SAP-HANA-Datenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **SAP-HANA-Verbindung erstellen** aus. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Erstellen einer SAP-HANA-Verbindung](creating-saphana-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1.  Wählen Sie eine Option für **SAP-HANA-Quelle** aus: 
   +  **Eine einzelne Tabelle auswählen** – rufen Sie alle Daten aus einer einzigen Tabelle ab. 
   +  **Benutzerdefinierte Abfrage eingeben** – rufen Sie einen Datensatz aus mehreren Tabellen ab, basierend auf Ihrer benutzerdefinierten Abfrage. 

1.  Wenn Sie eine einzelne Tabelle ausgewählt haben, geben Sie ein*tableName*. 

    Wenn Sie **Benutzerdefinierte Abfrage eingeben** ausgewählt haben, geben Sie eine SQL-SELECT-Abfrage ein. 

1.  Geben Sie unter **Benutzerdefinierte SAP-HANA-Eigenschaften** nach Bedarf Parameter und Werte ein. 

# Erstellen eines SAP-HANA-Zielknotens
<a name="creating-saphana-target-node"></a>

## Voraussetzungen
<a name="creating-saphana-target-node-prerequisites"></a>
+ Eine AWS Glue SAP HANA-Verbindung, konfiguriert mit einem AWS Secrets Manager Geheimnis, wie im vorherigen Abschnitt beschrieben,[Erstellen einer SAP-HANA-Verbindung](creating-saphana-connection.md).
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Eine SAP-HANA-Tabelle, in die Sie schreiben möchten,*tableName*.

  Eine Tabelle kann mit einem SAP-HANA-Tabellennamen und -Schemanamen im folgenden Format angegeben werden: `schemaName.tableName`. Der Schemaname und das Trennzeichen „.“ sind nicht erforderlich, wenn sich die Tabelle im Standardschema „public“ befindet. Nennen Sie das*tableIdentifier*. Beachten Sie, dass die Datenbank als JDBC-URL-Parameter in `connectionName` bereitgestellt wird.

## Hinzufügen eines SAP-HANA-Datenziels
<a name="creating-saphana-target-node-add"></a>

**Einen Knoten **Datenziel – SAP HANA** fügen Sie wie folgt hinzu:**

1.  Wählen Sie die Verbindung für Ihre SAP-HANA-Datenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **SAP-HANA-Verbindung erstellen** aus. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Erstellen einer SAP-HANA-Verbindung](creating-saphana-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Konfigurieren Sie den **Tabellennamen**, indem Sie angeben*tableName*.

1.  Geben Sie unter **Benutzerdefinierte Teradata-Eigenschaften** nach Bedarf Parameter und Werte ein. 

## Erweiterte Optionen
<a name="creating-saphana-connection-advanced-options"></a>

Sie können bei der Erstellung eines SAP-HANA-Knotens erweiterte Optionen angeben. Diese Optionen sind dieselben wie bei der Programmierung AWS Glue für Spark-Skripte.

Siehe [SAP-HANA-Verbindungen](aws-glue-programming-etl-connect-saphana-home.md). 

# Verbindung zu SAP herstellen OData
<a name="connecting-to-data-sap-odata"></a>

SAP OData ist ein Standard-Webprotokoll, das für die Abfrage und Aktualisierung von in SAP vorhandenen Daten mithilfe von ABAP (Advanced Business Application Programming) verwendet wird. Dabei werden Webtechnologien wie HTTP angewendet und darauf aufgebaut, um den Zugriff auf Informationen aus einer Vielzahl von externen Anwendungen, Plattformen und Geräten zu ermöglichen. Mit diesem Produkt können Sie auf alles zugreifen, was Sie für die nahtlose Integration in Ihr SAP-System, Ihre Anwendung oder Ihre Daten benötigen.

**Topics**
+ [AWS Glue Unterstützung für SAP OData](sap-odata-support.md)
+ [Verbindungen erstellen](sap-odata-creating-connections.md)
+ [OData SAP-Job erstellen](sap-odata-creating-job.md)
+ [An SAP schreiben OData](sap-odata-writing.md)
+ [Verwenden des OData SAP-State-Management-Skripts](sap-odata-state-management-script.md)
+ [Partitionierung für Nicht-ODP-Entitäten](sap-odata-non-odp-entities-partitioning.md)
+ [OData SAP-Verbindungsoptionen](sap-odata-connection-options.md)
+ [OData SAP-Entitäts- und Felddetails](sap-odata-entity-field-details.md)

# AWS Glue Unterstützung für SAP OData
<a name="sap-odata-support"></a>

AWS Glue unterstützt SAP OData wie folgt:

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

**Als Ziel unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Datensätze in SAP zu schreiben OData.

**Unterstützte OData SAP-API-Versionen**  
Die folgenden OData SAP-API-Versionen werden unterstützt:
+ 2.0

**Unterstützte Quellen**  
Die folgenden Quellen werden unterstützt:
+ Quellen für Operational Data Provisioning (ODP)
  + BW-Extraktoren () DataSources
  + CDS-Ansichten
  + SLT
+ Nicht-ODP-Quellen, z. B.:
  + CDS-View-Services
  + RFC-basierte Services
  + Benutzerdefinierte ABAP-Services

**Unterstützte SAP-Komponenten**  
Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie müssen den Katalog-Service für die Serviceerkennung aktivieren.
  + Konfigurieren Sie ODP-Datenquellen (Operational Data Provisioning) zum Extrahieren im SAP-Gateway Ihres SAP-Systems.
  + **OData V2.0**: Aktivieren Sie die OData V2.0-Katalogdienste in Ihrem SAP-Gateway über eine Transaktion. `/IWFND/MAINT_SERVICE`
  + Aktivieren Sie OData V2.0-Dienste in Ihrem SAP-Gateway per Transaktion. `/IWFND/MAINT_SERVICE`
  + Ihr OData SAP-Service muss clientseitige pagination/query Optionen wie `$top` und `$skip` unterstützen. Er muss auch die Systemabfrageoption `$count` unterstützen.
  + Sie müssen dem Benutzer in SAP die erforderliche Autorisierung zur Verfügung stellen, um die Dienste zu ermitteln und Daten mithilfe von OData SAP-Services zu extrahieren. Weitere Informationen finden Sie in der von SAP bereitgestellten Sicherheitsdokumentation.
+ Wenn Sie OAuth 2.0 als Autorisierungsmechanismus verwenden möchten, müssen Sie OAuth 2.0 für den OData Service aktivieren und den OAuth Client gemäß der SAP-Dokumentation registrieren.
+ Um einen OData Service auf der Grundlage von ODP-Datenquellen zu generieren, muss SAP Gateway Foundation lokal in Ihrem ERP/BW Stack oder in einer Hub-Konfiguration installiert sein.
  + Für Ihre ERP/BW Anwendungen muss der SAP NetWeaver AS ABAP-Stack die Version 7.50 SP02 oder höher haben.
  + Für das Hub-System (SAP Gateway) muss der SAP NetWeaver AS ABAP des Hub-Systems 7.50 SP01 oder höher sein, damit der Remote-Hub eingerichtet werden kann.
+ Für Nicht-ODP-Quellen muss Ihre NetWeaver SAP-Stack-Version 7.40 SP02 oder höher sein.

**Unterstützte Authentifizierungsmethoden**  
Die folgenden Authentifizierungsmethoden werden unterstützt:
+ Ggrundlegende Authentifizierung
+ OAuth 2.0

# Voraussetzungen
<a name="sap-odata-prerequisites"></a>

Bevor Sie einen AWS Glue Job für die Datenextraktion aus SAP OData über die OData SAP-Verbindung initiieren, müssen Sie die folgenden Voraussetzungen erfüllen:
+ Der entsprechende OData SAP-Service muss im SAP-System aktiviert sein, um sicherzustellen, dass die Datenquelle zur Nutzung verfügbar ist. Wenn der OData Service nicht aktiviert ist, kann der Glue-Job nicht auf Daten aus SAP zugreifen oder diese extrahieren.
+ Um sicherzustellen, dass der AWS Glue Job erfolgreich eine Verbindung mit dem OData SAP-Service herstellen kann, müssen entsprechende Authentifizierungsmechanismen wie die (benutzerdefinierte) Standardauthentifizierung oder OAuth 2.0 in SAP konfiguriert werden.
+ Konfigurieren Sie IAM-Richtlinien, um dem AWS Glue Job die entsprechenden Berechtigungen für den Zugriff auf SAP, Secrets Manager und andere am Prozess beteiligte AWS Ressourcen zu gewähren.
+ Wenn das SAP-System in einem privaten Netzwerk gehostet wird, muss die VPC-Konnektivität so konfiguriert werden, dass der AWS Glue Job sicher mit SAP kommunizieren kann, ohne sensible Daten über das öffentliche Internet preiszugeben.

AWS Secrets Manager kann verwendet werden, um vertrauliche Informationen wie SAP-Anmeldeinformationen sicher zu speichern, die der AWS Glue Job zur Laufzeit dynamisch abrufen kann. Durch diesen Ansatz müssen Anmeldeinformationen nicht hart codiert werden, was die Sicherheit und Flexibilität erhöht.

Die folgenden Voraussetzungen geben step-by-step Hinweise zur Einrichtung der einzelnen Komponenten für eine reibungslose Integration zwischen AWS Glue und SAP OData.

**Topics**
+ [OData SAP-Aktivierung](sap-odata-activation.md)
+ [IAM-Richtlinien](sap-odata-configuring-iam-permissions.md)
+ [Konnektivität//VPC-Verbindung](sap-odata-connectivity-vpc-connection.md)
+ [SAP-Authentifizierung](sap-odata-authentication.md)
+ [AWS Secrets Manager zum Speichern Ihres Authentifizierungsgeheimnisses](sap-odata-aws-secret-manager-auth-secret.md)

# OData SAP-Aktivierung
<a name="sap-odata-activation"></a>

Führen Sie die folgenden Schritte für die OData SAP-Verbindung aus:

## ODP-Quellen
<a name="sap-odata-odp-sources"></a>

Bevor Sie Daten von einem ODP-Anbieter übertragen können, müssen Sie die folgenden Anforderungen erfüllen:
+ Sie haben eine SAP NetWeaver AS ABAP-Instanz.
+ Ihre NetWeaver SAP-Instanz enthält einen ODP-Provider, von dem Sie Daten übertragen möchten. Zu ODP-Anbietern gehören:
  + SAP DataSources (Transaktionscode) RSO2
  + SAP Core Data Services ABAP CDS Views
  + SAP BW- oder SAP BW/4HANA-Systeme (InfoObject, Objekt) DataStore 
  + Echtzeit-Replikation von Tabellen und DB-Ansichten aus dem SAP-Quellsystem über den SAP Landscape Replication Server (SAP SLT)
  + SAP-HANA-Informationsansichten in SAP-ABAP-basierten Quellen
+ Ihre NetWeaver SAP-Instanz hat die Komponente SAP Gateway Foundation.
+ Sie haben einen OData Dienst erstellt, der Daten von Ihrem ODP-Anbieter extrahiert. Um den OData Service zu erstellen, verwenden Sie den SAP Gateway Service Builder. Um auf Ihre ODP-Daten zuzugreifen, AppFlow ruft Amazon diesen Service mithilfe der OData API auf. Weitere Informationen finden Sie unter [Generieren eines Dienstes zum Extrahieren von ODP-Daten über OData](https://help.sap.com/docs/SAP_BPC_VERSION_BW4HANA/dd104a87ab9249968e6279e61378ff66/69b481859ef34bab9cc7d449e6fff7b6.html?version=11.0) in der SAP BW/4HANA-Dokumentation.
+ Um einen OData Service auf der Grundlage von ODP-Datenquellen zu generieren, muss SAP Gateway Foundation lokal in Ihrem ERP/BW Stack oder in einer Hub-Konfiguration installiert sein.
  + Für Ihre ERP/BW Anwendungen muss der SAP NetWeaver AS ABAP-Stack die Version 7.50 SP02 oder höher haben.
  + Für das Hub-System (SAP Gateway) muss der SAP NetWeaver AS ABAP des Hub-Systems 7.50 SP01 oder höher sein, damit der Remote-Hub eingerichtet werden kann.

## Nicht-ODP-Quellen
<a name="sap-odata-non-odp-sources"></a>
+ Ihre NetWeaver SAP-Stack-Version muss 7.40 SP02 oder höher sein.
+ Sie müssen den Katalogdienst für die Serviceerkennung aktivieren.
  + **OData V2.0**: Der/die OData V2.0-Katalogservice (s) können in Ihrem SAP-Gateway per Transaktion aktiviert werden `/IWFND/MAINT_SERVICE`
+ Ihr OData SAP-Service muss clientseitige pagination/query Optionen wie `$top` und unterstützen. `$skip` Er muss auch die Systemabfrageoption `$count` unterstützen.
+ Für OAuth 2.0 müssen Sie OAuth 2.0 für den OData Service aktivieren und den OAuth Client gemäß der SAP-Dokumentation registrieren und die autorisierte Umleitungs-URL wie folgt festlegen:
  + `https://<region>.console.aws.amazon.com/gluestudio/oauth`, `<region>` ersetzt durch die Region, in der ausgeführt AWS Glue wird, Beispiel: us-east-1. 
  + Sie müssen die sichere Einrichtung für die Verbindung über HTTPS aktivieren.
+ Sie müssen dem Benutzer in SAP die erforderliche Autorisierung erteilen, um die Dienste zu finden und Daten mithilfe von OData SAP-Services zu extrahieren. Weitere Informationen finden Sie in der von SAP bereitgestellten Sicherheitsdokumentation.

# IAM-Richtlinien
<a name="sap-odata-configuring-iam-permissions"></a>

## Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="sap-odata-policies-api-operations"></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": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "secretsmanager:DescribeSecret",
        "secretsmanager:GetSecretValue",
        "secretsmanager:PutSecretValue"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Die Rolle muss Zugriff auf alle vom Auftrag verwendeten Ressourcen gewähren, z. B. Amazon S3. 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, 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.
+ [SecretsManagerReadWrite](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/SecretsManagerReadWrite)— Ermöglicht read/write den Zugriff auf AWS Secrets Manager über die AWS Management Console. Hinweis: Dies schließt IAM-Aktionen aus. Kombinieren Sie es daher mit `IAMFullAccess`, wenn eine Rotationskonfiguration erforderlich ist.

**IAM Policies/Permissions wird für die Konfiguration von VPC benötigt**

Die folgenden IAM-Berechtigungen sind erforderlich, wenn Sie die VPC-Verbindung zum Erstellen einer AWS Glue Verbindung verwenden. Weitere Informationen finden Sie unter [Erstellen einer IAM-Richtlinie für AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/create-service-policy.html).

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

****  

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

------

# Konnektivität//VPC-Verbindung
<a name="sap-odata-connectivity-vpc-connection"></a>

Schritte für die VPC-Verbindung:

1. Verwenden Sie eine bestehende VPC-Verbindung oder erstellen Sie eine neue Verbindung, indem Sie die Schritte in der [Amazon-VPC-Dokumentation](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) befolgen.

1. Stellen Sie sicher, dass Sie über ein NAT-Gateway verfügen, das den Datenverkehr zum Internet weiterleitet.

1. Wählen Sie VPC-Endpunkt als Amazon-S3-Gateway, um eine Verbindung herzustellen.

1. Aktivieren Sie die DNS-Auflösung und den DNS-Hostnamen, um die AWS bereitgestellten DNS-Dienste zu verwenden.

1. Gehen Sie zur erstellten VPC und fügen Sie die erforderlichen Endpunkte für verschiedene Dienste wie STS AWS Glue, Secret Managers hinzu.

   1. Klicken Sie auf Endpunkt erstellen.

   1. Wählen Sie als Servicekategorie die Option AWS Dienste aus.

   1. Für Service-Name wählen Sie den Service, zu dem Sie eine Verbindung herstellen wollen.

   1. Wählen Sie „VPC“ und „DNS-Namen aktivieren“ aus.

   1. Für die VPC-Verbindung erforderliche VCP-Endpunkte:

      1. [STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sts_vpc_endpoint_create.html)

      1. [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/vpc-interface-endpoints.html)

      1. [Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/vpc-endpoint-overview.html)

## Sicherheitsgruppenkonfiguration
<a name="sap-odata-security-group-configuration"></a>

Die Sicherheitsgruppe muss Datenverkehr von der AWS Glue VPC zu ihrem Listening-Port zulassen AWS Glue , um eine Verbindung zu ihr herstellen zu können. Es empfiehlt sich, den Bereich der Quell-IP-Adressen so weit wie möglich einzuschränken. 

AWS Glue erfordert eine spezielle Sicherheitsgruppe, die den gesamten eingehenden Datenverkehr von sich selbst zulässt. Sie können eine selbstreferenzierende Regel erstellen, die den gesamten von der Sicherheitsgruppe ausgehenden Datenverkehr zulässt. Sie können eine bestehende Sicherheitsgruppe ändern und die Sicherheitsgruppe als Quelle angeben.

Öffnen Sie die Kommunikation über die HTTPS-Ports des URL-Endpunkts (entweder NLB- oder SAP-Instance).

## Verbindungsoptionen
<a name="sap-odata-connectivity-options"></a>
+ HTTPS-Verbindung mit internem und externem NLB, SSL-Zertifikat von der Zertifizierungsstelle (CA), kein selbstsigniertes SSL-Zertifikat
+ HTTPS-Verbindung mit SSL-Zertifikat der SAP-Instance von der Zertifizierungsstelle (CA), kein selbstsigniertes SSL-Zertifikat

# SAP-Authentifizierung
<a name="sap-odata-authentication"></a>

Der SAP-Connector unterstützt sowohl CUSTOM- (SAP-BASIC-Authentifizierung) als auch OAUTH-Authentifizierungsmethoden.

## Benutzerdefinierte Authentifizierung
<a name="sap-odata-custom-authentication"></a>

AWS Glue unterstützt Custom (Basic Authentication) als Methode zum Herstellen von Verbindungen zu Ihren SAP-Systemen und ermöglicht die Verwendung eines Benutzernamens und eines Kennworts für den sicheren Zugriff. Dieser Authentifizierungstyp eignet sich gut für Automatisierungsszenarien, da er die Verwendung von Benutzername und Passwort im Voraus mit den Berechtigungen eines bestimmten Benutzers in der OData SAP-Instanz ermöglicht. AWS Glue ist in der Lage, den Benutzernamen und das Passwort zur Authentifizierung von SAP zu verwenden. OData APIs In wird AWS Glue die Basisautorisierung als benutzerdefinierte Autorisierung implementiert.

Die öffentliche OData SAP-Dokumentation für Basic Auth Flow finden Sie unter [HTTP Basic Authentication](https://help.sap.com/docs/SAP_SUCCESSFACTORS_PLATFORM/d599f15995d348a1b45ba5603e2aba9b/5c8bca0af1654b05a83193b2922dcee2.html).

## OAuth 2.0 Authentifizierung
<a name="sap-odata-oauth-2.0-authentication"></a>

AWS Glue unterstützt auch OAuth 2.0 als sicheren Authentifizierungsmechanismus für den Aufbau von Verbindungen zu Ihren SAP-Systemen. Dies ermöglicht eine nahtlose Integration und gewährleistet gleichzeitig die Einhaltung moderner Authentifizierungsstandards und erhöht die Sicherheit des Datenzugriffs.

## Gewährungstyp AUTHORIZATION\$1CODE
<a name="sap-odata-authentication-code-grant-type"></a>

Die Art der Gewährung bestimmt, wie mit SAP AWS Glue kommuniziert wird OData , um Zugriff auf Ihre Daten anzufordern. SAP OData unterstützt nur den `AUTHORIZATION_CODE` Zuschusstyp. Dieser Zuschusstyp wird als „dreibeiniges“ angesehen, OAuth da er darauf angewiesen ist, 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 

Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in SAP zu erstellen OData und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zu SAP weitergeleitet, OData um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.

Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.

Eine öffentliche OData SAP-Dokumentation zur Erstellung einer verbundenen App für den OAuth Autorisierungscodefluss finden Sie unter [Authentifizierung mit OAuth 2.0](https://help.sap.com/docs/ABAP_PLATFORM_NEW/e815bb97839a4d83be6c4fca48ee5777/2e5104fd87ff452b9acb247bd02b9f9e.html).

# AWS Secrets Manager zum Speichern Ihres Authentifizierungsgeheimnisses
<a name="sap-odata-aws-secret-manager-auth-secret"></a>

Sie müssen die OData SAP-Verbindungsgeheimnisse im AWS Secrets Manager speichern, die erforderlichen Zugriffsberechtigungen für den Abruf konfigurieren, wie im [IAM-Richtlinien](sap-odata-configuring-iam-permissions.md) Abschnitt angegeben, und sie beim Erstellen einer Verbindung verwenden.

Verwenden Sie die AWS Management Console for AWS Secrets Manager, um ein Geheimnis für Ihre SAP-Quelle zu erstellen. Weitere Informationen finden Sie unter [Erstellen eines AWS Secrets Manager Manager-Geheimnisses](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). Die Details in AWS Secrets Manager sollten die Elemente im folgenden Code enthalten. 

## Benutzerdefiniertes Authentifizierungsgeheimnis
<a name="sap-odata-custom-auth-secret"></a>

Sie müssen Ihren SAP-System-Benutzernamen anstelle Ihres *<SAP-Benutzernamens>* und das zugehörige Passwort anstelle Ihres *<SAP-Benutzernamen-Passworts>* und „true“ oder „false“ eingeben. In diesem Zusammenhang gilt: Wenn Sie `basicAuthDisableSSO` auf `true` festlegen, wird Single Sign-On (SSO) für Anfragen zur Standardauthentifizierung deaktiviert, sodass für jede Anfrage explizite Benutzeranmeldedaten erforderlich sind. Umgekehrt gilt: Beim Festlegen auf `false` können vorhandene SSO-Sitzungen verwendet werden, sofern verfügbar.

```
{
   "basicAuthUsername": "<your SAP username>",
   "basicAuthPassword": "<your SAP username password>",
   "basicAuthDisableSSO": "<True/False>",
   "customAuthenticationType": "CustomBasicAuth"
}
```

## OAuth 2.0 Geheim
<a name="sap-odata-oauth-2.0-secret"></a>

Falls Sie OAuth 2.0 als Authentifizierungsmechanismus verwenden, sollte das Geheimnis im AWS Secrets Manager die **User Managed Client Application ClientId** im folgenden Format haben. Sie müssen stattdessen Ihr SAP-Client-Geheimnis und nicht Ihr <Client-Geheimnis> eingeben.

```
{"USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET": "<your client secret>"
}
```

# Verbindungen erstellen
<a name="sap-odata-creating-connections"></a>

So konfigurieren Sie eine OData SAP-Verbindung:

1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die [AWS Glue Konsole](https://console.aws.amazon.com/glue). Stellen Sie im AWS Glue Studio eine Verbindung her, indem Sie die folgenden Schritte ausführen:

   1. Klicken Sie links auf „Datenverbindungen“.

   1. Klicken Sie auf „HSM-Verbindung erstellen“.

   1. Wählen Sie **SAP OData** unter **Datenquelle auswählen aus**

   1. Geben Sie die **Anwendungshost-URL** der OData SAP-Instanz an, zu der Sie eine Verbindung herstellen möchten. Diese Host-URL der Anwendung muss über das öffentliche Internet zugänglich sein, wenn keine VPC-Verbindung besteht.

   1. Geben Sie den **Anwendungsdienstpfad** der OData SAP-Instanz an, zu der Sie eine Verbindung herstellen möchten. Dies entspricht dem Katalogdienstpfad. Zum Beispiel:`/sap/opu/odata/iwfnd/catalogservice;v=2`. AWS Glue akzeptiert keinen bestimmten Objektpfad.

   1. Geben Sie die **Kundennummer** der OData SAP-Instanz an, zu der Sie eine Verbindung herstellen möchten. Zulässige Werte sind [001–999]. Beispiel: 010

   1. Geben Sie die **Portnummer** der OData SAP-Instanz an, zu der Sie eine Verbindung herstellen möchten. Beispiel: 443

   1. Geben Sie die **Anmeldesprache der OData SAP-Instanz an**, zu der Sie eine Verbindung herstellen möchten. Beispiel: DE

   1. Wählen Sie die AWS IAM-Rolle aus, die Berechtigungen annehmen AWS Glue kann und über die [IAM-Richtlinien](sap-odata-configuring-iam-permissions.md) im Abschnitt beschriebenen Berechtigungen verfügt.

   1. Wählen Sie den **Authentifizierungstyp**, den Sie für diese Verbindung verwenden möchten, AWS Glue aus der Dropdownliste aus: oder BENUTZERDEFINIERT OAUTH2 

      1. CUSTOM: Wählen Sie das Geheimnis aus, das Sie wie im Abschnitt [AWS Secrets Manager zum Speichern Ihres Authentifizierungsgeheimnisses](sap-odata-aws-secret-manager-auth-secret.md) angegeben erstellt haben.

      1. OAUTH 2.0 — geben Sie die folgenden Eingaben nur bei 2.0 ein: OAuth 

         1. Geben Sie unter **Benutzerverwaltete Client-Anwendung ClientId** Ihre Client-ID ein.

         1. `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`(Ihr Client-Geheimnis) im AWS Secrets Manager, den Sie in dem [AWS Secrets Manager zum Speichern Ihres Authentifizierungsgeheimnisses](sap-odata-aws-secret-manager-auth-secret.md) Abschnitt erstellt haben.

         1. Geben Sie unter **Autorisierungscode-URL** Ihre Autorisierungscode-URL ein.

         1. Geben Sie unter **Autorisierungstoken-URL** Ihre Autorisierungstoken-URL ein.

         1. Geben Sie unter **OAuth Bereiche** Ihre OAuth Bereiche durch Leerzeichen getrennt ein. Beispiel: `/IWFND/SG_MED_CATALOG_0002 ZAPI_SALES_ORDER_SRV_0001`

   1. Wählen Sie die Netzwerkoptionen aus, wenn Sie Ihr Netzwerk verwenden möchten. Weitere Details finden Sie unter [Konnektivität//VPC-Verbindung](sap-odata-connectivity-vpc-connection.md).

1. Erteilen Sie der mit Ihrem AWS Glue Job verknüpften IAM-Rolle Leserechte. `secretName` Weitere Informationen hierzu finden Sie unter [IAM-Richtlinien](sap-odata-configuring-iam-permissions.md).

1. Wählen Sie **Verbindung testen** aus und testen Sie Ihre Verbindung. Wenn der Verbindungstest erfolgreich ist, klicken Sie auf Weiter, geben Sie Ihren Verbindungsnamen ein und speichern Sie Ihre Verbindung. Die Testverbindungsfunktion ist nicht verfügbar, wenn Sie Netzwerkoptionen (VPC) ausgewählt haben. 

# OData SAP-Job erstellen
<a name="sap-odata-creating-job"></a>

Weitere Informationen finden Sie unter [Visual ETL-Jobs mit AWS Glue Studio erstellen](https://docs.aws.amazon.com/glue/latest/dg/author-job-glue.html)

# Quellen für Operational Data Provisioning (ODP)
<a name="sap-odata-operational-data-provisioning-sources"></a>

Operational Data Provisioning (ODP) bietet eine technische Infrastruktur, die Sie zur Unterstützung der Datenextraktion und Replikation für verschiedene Zielanwendungen verwenden können. Es werden außerdem Delta-Mechanismen in diesen Szenarien unterstützt. Bei einem Delta-Verfahren werden die Daten aus einer Quelle (ODP-Anbieter) automatisch mithilfe eines Aktualisierungsprozesses in eine Delta-Warteschlange (Operational Delta Queue – ODQ) geschrieben oder über eine Extraktor-Schnittstelle an die Delta-Warteschlange weitergeleitet. Ein ODP-Anbieter kann ein DataSource (Extraktor), ABAP Core Data Services Views (ABAP CDS Views), SAP BW oder SAP BW/4HANA, SAP Landscape Transformation Replication Server (SLT) und SAP HANA Information Views (Berechnungsansichten) sein. Die Zielanwendungen (als ODQ-Subscriber oder allgemeiner als ODP-Konsumenten bezeichnet) rufen die Daten aus der Delta-Warteschlange ab und setzen die Verarbeitung der Daten fort.

## Vollständiges Laden
<a name="sap-odata-full-load"></a>

Im Kontext von SAP OData - und ODP-Entitäten bezieht sich ein **Vollladevorgang** auf den Vorgang, bei dem alle verfügbaren Daten aus einer ODP-Entität in einem einzigen Vorgang extrahiert werden. Dieser Vorgang ruft den vollständigen Datensatz aus dem Quellsystem ab und stellt so sicher, dass das Zielsystem über eine umfassende up-to-date Kopie der Daten der Entität verfügt. Vollständige Ladevorgänge werden in der Regel für Quellen verwendet, die inkrementelle Ladevorgänge nicht unterstützen, oder wenn eine Aktualisierung des Zielsystems erforderlich ist.

**Beispiel**

Sie können das `ENABLE_CDC` Flag explizit auf False setzen, wenn Sie das DynamicFrame erstellen. Hinweis: `ENABLE_CDC` ist standardmäßig „false“. Wenn Sie die Delta-Warteschlange nicht initialisieren möchten, müssen Sie dieses Flag nicht senden oder auf „true“ setzen. Wenn Sie dieses Flag nicht auf „true“ setzen, wird eine vollständige Ladeextraktion durchgeführt.

```
sapodata_df = glueContext.create_dynamic_frame.from_options(
    connection_type="SAPOData",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "ENABLE_CDC": "false"
    }, transformation_ctx=key)
```

## Inkrementelles Laden
<a name="sap-odata-incremental-load"></a>

Ein **inkrementelles Laden** im Kontext von ODP-Entitäten (Operational Data Provisioning) beinhaltet das Extrahieren nur der neuen oder geänderten Daten (Deltas) aus dem Quellsystem seit der letzten Datenextraktion, wodurch eine Vorverarbeitung der bereits verarbeiteten Datensätze vermieden wird. Dieser Ansatz verbessert die Effizienz erheblich, reduziert das Datenübertragungsvolumen, verbessert die Leistung, gewährleistet eine effiziente Synchronisation zwischen Systemen und minimiert die Verarbeitungszeit, insbesondere bei großen Datensätzen, die sich häufig ändern.

# Inkrementelle Übertragungen auf Delta-Token-Basis
<a name="sap-odata-incremental-transfers"></a>

Gehen Sie wie folgt vor, um die inkrementelle Übertragung mit Change Data Capture (CDC) für ODP-fähige Entitäten zu aktivieren, die dies unterstützen:

1. Erstellen Sie den Auftrag „Inkrementelle Übertragung“ im Skriptmodus.

1. Beim Erstellen von DataFrame oder DynamicFrame Glue müssen Sie die Option übergeben`"ENABLE_CDC": "True"`. Mit dieser Option stellen Sie sicher, dass Sie von SAP einen Delta-Token erhalten, mit dem Sie später geänderte Daten abrufen können.

Der Delta-Token befindet sich in der letzten Zeile des Datenrahmens in der Spalte „DELTA\$1TOKEN“. Dieses Token kann als Verbindungsoption in nachfolgenden Aufrufen verwendet werden, um den nächsten Datensatz schrittweise abzurufen.

**Beispiel**
+ Wir setzen die `ENABLE_CDC` Flagge auf`true`, bei der Erstellung der DynamicFrame. Hinweis: `ENABLE_CDC` ist standardmäßig `false`. Wenn Sie die Delta-Warteschlange nicht initialisieren möchten, müssen Sie dieses Flag nicht senden oder auf „true“ setzen. Wenn Sie dieses Flag nicht auf „true“ setzen, wird eine vollständige Ladeextraktion durchgeführt.

  ```
  sapodata_df = glueContext.create_dynamic_frame.from_options(
      connection_type="SAPOData",
      connection_options={
          "connectionName": "connectionName",
          "ENTITY_NAME": "entityName",
          "ENABLE_CDC": "true"
      }, transformation_ctx=key)
  
  # Extract the delta token from the last row of the DELTA_TOKEN column
  delta_token_1 = your_logic_to_extract_delta_token(sapodata_df) # e.g., D20241029164449_000370000
  ```
+ Das extrahierte Delta-Token kann als Option zum Abrufen neuer Ereignisse übergeben werden.

  ```
  sapodata_df_2 = glueContext.create_dynamic_frame.from_options(
      connection_type="SAPOData",
      connection_options={
          "connectionName": "connectionName",
          "ENTITY_NAME": "entityName",
          // passing the delta token retrieved in the last run
          "DELTA_TOKEN": delta_token_1
      } , transformation_ctx=key)
  
  # Extract the new delta token for the next run
  delta_token_2 = your_logic_to_extract_delta_token(sapodata_df_2)
  ```

Beachten Sie, dass der letzte Datensatz, in dem das `DELTA_TOKEN` vorhanden ist, kein Transaktionsdatensatz aus der Quelle ist und nur zum Zweck der Weitergabe des Delta-Token-Werts vorhanden ist.

Abgesehen vom `DELTA_TOKEN` werden die folgenden Felder in jeder Zeile des Datenrahmens zurückgegeben. 
+ **GLUE\$1FETCH\$1SQ**: Dies ist ein Sequenzfeld, das aus dem EPOC-Zeitstempel in der Reihenfolge des Eingangs der Datensätze generiert wird und für jeden Datensatz eindeutig ist. Es kann verwendet werden, wenn Sie die Reihenfolge der Änderungen im Quellsystem kennen oder festlegen müssen. Dieses Feld ist nur für ODP-fähige Entitäten vorhanden.
+ **DML\$1STATUS**: Hier wird `UPDATED` für alle neu eingefügten und aktualisierten Datensätze aus der Quelle angezeigt, sowie `DELETED` für Datensätze, die aus der Quelle gelöscht wurden.

Weitere Informationen dazu, wie Sie den Status verwalten und das Delta-Token wiederverwenden können, um geänderte Datensätze abzurufen, finden Sie im Abschnitt [Verwenden des OData SAP-State-Management-Skripts](sap-odata-state-management-script.md).

## Delta-Token-Aufhebung
<a name="sap-odata-invalidation"></a>

Ein Delta-Token ist mit der Service-Sammlung und einem Benutzer verknüpft. Wenn ein neuer initialer Pull mit `“ENABLE_CDC” : “true”` für dieselbe Servicesammlung und denselben Benutzer initiiert wird, werden alle vorherigen Delta-Token, die als Ergebnis einer vorherigen Initialisierung ausgegeben wurden, vom OData SAP-Service ungültig gemacht. Das Aufrufen des Connectors mit einem abgelaufenen Delta-Token führt zu einer Ausnahme: 

`Could not open data access via extraction API RODPS_REPL_ODP_OPEN` 

# OData Dienste (Nicht-ODP-Quellen)
<a name="sap-odata-non-odp-services"></a>

## Full Load
<a name="sap-odata-non-odp-full-load"></a>

Bei Systemen ohne ODP (Operational Data Provisioning) wird bei **Full Load** der gesamte Datensatz aus dem Quellsystem extrahiert und in das Zielsystem geladen. Da Nicht-ODP-Systeme inhärent keine fortschrittlichen Datenextraktionsmechanismen wie Deltas unterstützen, ist der Vorgang unkompliziert, kann aber je nach Datengröße ressourcenintensiv sein.

## Inkrementelle Last
<a name="sap-odata-non-odp-incremental-load"></a>

Bei Systemen oder Entitäten, die **ODP (Operational Data Provisioning)** nicht unterstützen, kann die inkrementelle Datenübertragung manuell verwaltet werden, indem ein Mechanismus zur Nachverfolgung und Extraktion von Änderungen implementiert wird, der auf Zeitstempeln basiert.

**Auf Zeitstempeln basierende inkrementelle Datenübertragungen**

Für Nicht-ODP-fähige Entitäten (oder für ODP-fähige Entitäten, die das ENABLE\$1CDC-Flag nicht verwenden) können wir eine `filteringExpression`-Option im Connector verwenden, um das `datetime`-Intervall anzugeben, für das wir Daten abrufen möchten. Diese Methode basiert auf einem Zeitstempelfeld in Ihren Daten, aus dem hervorgeht, wann jeder Datensatz zuletzt erstellt/geändert wurde.

**Beispiel**

Datensätze werden abgerufen, die nach 2024-01-01T 00:00:00.000 geändert wurden.

```
sapodata_df = glueContext.create_dynamic_frame.from_options(
    connection_type="SAPOData",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "filteringExpression": "LastChangeDateTime >= 2024-01-01T00:00:00.000"
    }, transformation_ctx=key)
```

Hinweis: In diesem Beispiel ist `LastChangeDateTime` das Feld, das angibt, wann jeder Datensatz zuletzt geändert wurde. Der tatsächliche Feldname kann je nach Ihrer spezifischen OData SAP-Entität variieren.

Um bei nachfolgenden Ausführungen eine neue Teilmenge von Daten zu erhalten, würden Sie `filteringExpression` mit einem neuen Zeitstempel aktualisieren. In der Regel wäre dies der maximale Zeitstempelwert der zuvor abgerufenen Daten.

**Beispiel**

```
max_timestamp = get_max_timestamp(sapodata_df)  # Function to get the max timestamp from the previous run
next_filtering_expression = f"LastChangeDateTime > {max_timestamp}"

# Use this next_filtering_expression in your next run
```

Im nächsten Abschnitt stellen wir einen automatisierten Ansatz zur Verwaltung dieser auf Zeitstempeln basierenden inkrementellen Übertragungen vor, sodass der Filterausdruck zwischen den Ausführungen nicht mehr manuell aktualisiert werden muss.

# An SAP schreiben OData
<a name="sap-odata-writing"></a>

 In diesem Abschnitt wird beschrieben, wie Sie mithilfe des AWS Glue Connectors für SAP Daten in Ihren OData SAP-Service schreiben OData. 

**Voraussetzungen**
+ Zugriff auf einen OData SAP-Service
+ Ein OData EntitySet SAP-Objekt, in das Sie schreiben möchten. Sie benötigen den Objektnamen.
+ Gültige OData SAP-Anmeldeinformationen und eine gültige Verbindung
+ Entsprechende Berechtigungen, wie in den [IAM-Richtlinien](https://docs.aws.amazon.com/glue/latest/dg/sap-odata-configuring-iam-permissions.html) beschrieben

Der OData SAP-Konnektor unterstützt zwei Schreiboperationen:
+ INSERT
+ AKTUALISIERUNG

Bei der Verwendung des UPDATE-Schreibvorgangs muss ID\$1FIELD\$1NAMES angegeben werden, um das externe ID-Feld für die Datensätze anzugeben.

**Beispiel:**

```
sapodata_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="sapodata",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "WRITE_OPERATION": "INSERT"
    }
```

# Verwenden des OData SAP-State-Management-Skripts
<a name="sap-odata-state-management-script"></a>

Gehen Sie folgendermaßen vor, um das OData SAP-State-Management-Skript in Ihrem AWS Glue Job zu verwenden:
+ Laden Sie das SAP OData-Statusverwaltungsskript `s3://aws-blogs-artifacts-public/artifacts/BDB-4789/sap_odata_state_management.zip ` aus dem öffentlichen Amazon-S3-Bucket herunter.
+ Laden Sie das Skript in einen Amazon S3 S3-Bucket hoch, für den Ihr AWS Glue Job Zugriffsberechtigungen besitzt.
+ Referenzieren Sie das Skript in Ihrem AWS Glue Job: Wenn Sie Ihren AWS Glue Job erstellen oder aktualisieren, übergeben Sie die `'--extra-py-files'` Option, die auf den Skriptpfad in Ihrem Amazon S3 S3-Bucket verweist. Beispiel: `--extra-py-files s3://your-bucket/path/to/sap_odata_state_management.py`
+ Importieren und verwenden Sie die State Management Library in Ihren AWS Glue Job-Skripten.

## Beispiel für inkrementelle Übertragung auf Delta-Token-Basis
<a name="sap-odata-delta-token-incremental-transfer"></a>

Hier ist ein Beispiel für die Verwendung des Statusverwaltungsskripts für inkrementelle Übertragungen auf Delta-Token-Basis:

```
from sap_odata_state_management import StateManagerFactory, StateManagerType, StateType

# Initialize the state manager
state_manager = StateManagerFactory.create_manager(
    manager_type=StateManagerType.JOB_TAG,
    state_type=StateType.DELTA_TOKEN,
    options={
        "job_name": args['JOB_NAME'],
        "logger": logger
    }
)

# Get connector options (including delta token if available)
key = "SAPODataNode"
connector_options = state_manager.get_connector_options(key)

# Use the connector options in your Glue job
df = glueContext.create_dynamic_frame.from_options(
    connection_type="SAPOData",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "ENABLE_CDC": "true",
        **connector_options
    }
)

# Process your data here...

# Update the state after processing
state_manager.update_state(key, sapodata_df.toDF())
```

## Beispiel für auf Zeitstempeln basierende inkrementelle Übertragung
<a name="sap-odata-timestamp-incremental-transfer"></a>

Hier ist ein Beispiel für die Verwendung des Statusverwaltungsskripts für inkrementelle Übertragungen auf Delta-Token-Basis:

```
from sap_odata_state_management import StateManagerFactory, StateManagerType, StateType

# Initialize the state manager
state_manager = StateManagerFactory.create_manager(
    manager_type=StateManagerType.JOB_TAG,
    state_type=StateType.DELTA_TOKEN,
    options={
        "job_name": args['JOB_NAME'],
        "logger": logger
    }
)

# Get connector options (including delta token if available)
key = "SAPODataNode"
connector_options = state_manager.get_connector_options(key)

# Use the connector options in your Glue job
df = glueContext.create_dynamic_frame.from_options(
    connection_type="SAPOData",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "ENABLE_CDC": "true",
        **connector_options
    }
)

# Process your data here...

# Update the state after processing
state_manager.update_state(key, sapodata_df.toDF())
```

In beiden Beispielen bewältigt das Statusverwaltungsskript die Komplexität der Speicherung des Status (entweder Delta-Token oder Zeitstempel) zwischen Auftragsausführungen. Es ruft beim Abrufen der Connector-Optionen automatisch den letzten bekannten Status ab und aktualisiert den Status nach der Verarbeitung. So wird sichergestellt, dass bei jeder Ausführung des Auftrags nur neue oder geänderte Daten verarbeitet werden.

# Partitionierung für Nicht-ODP-Entitäten
<a name="sap-odata-non-odp-entities-partitioning"></a>

In Apache Spark bezieht sich Partitionierung auf die Art, wie Daten aufgeteilt und auf die Worker-Knoten in einem Cluster zur Parallelverarbeitung verteilt werden. Jede Partition ist ein logischer Datenblock, der unabhängig von einer Aufgabe verarbeitet werden kann. Partitionierung ist ein grundlegendes Konzept in Spark, das sich direkt auf Leistung, Skalierbarkeit und Ressourcennutzung auswirkt. AWS Glue Jobs verwenden den Partitionierungsmechanismus von Spark, um den Datensatz in kleinere Blöcke (Partitionen) aufzuteilen, die parallel über die Worker-Knoten des Clusters verarbeitet werden können. Beachten Sie, dass die Partitionierung nicht für ODP-Entitäten gilt.

Weitere Informationen finden Sie unter [AWS Glue Spark](https://docs.aws.amazon.com/glue/latest/dg/spark_and_pyspark.html) und Jobs. PySpark 

**Voraussetzungen**

Ein OData SAP-Objekt, aus dem Sie lesen möchten. Sie benötigen den object/EntitySet Namen. Beispiel: ` /sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder `.

**Beispiel**

```
sapodata_read = glueContext.create_dynamic_frame.from_options(
    connection_type="SAPOData",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder"
    }, transformation_ctx=key)
```

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

### Feldbasierte Partitionierung
<a name="sap-odata-field-based-partitioning"></a>

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. Integer, Date und DateTime Felder unterstützen die feldbasierte Partitionierung im SAP-Konnektor. OData 
+ `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 jedes Feld, dessen Datentyp ist DateTime, wird das in Spark-SQL-Abfragen verwendete Spark-Zeitstempelformat akzeptiert.

  Beispiele für gültige Werte: `"2000-01-01T00:00:00.000Z"` 
+ `UPPER_BOUND`: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: Anzahl der Partitionen.
+ `PARTITION_BY`: der Typ der durchzuführenden Partitionierung. `FIELD` wird im Falle einer feldbasierten Partitionierung übergeben.

**Beispiel**

```
sapodata= glueContext.create_dynamic_frame.from_options(
    connection_type="sapodata",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "/sap/opu/odata/sap/SEPM_HCM_SCENARIO_SRV/EmployeeSet",
        "PARTITION_FIELD": "validStartDate"
        "LOWER_BOUND": "2000-01-01T00:00:00.000Z"
        "UPPER_BOUND": "2020-01-01T00:00:00.000Z"
        "NUM_PARTITIONS": "10",
        "PARTITION_BY": "FIELD"
    }, transformation_ctx=key)
```

### Datensatzbasierte Partitionierung
<a name="sap-odata-record-based-partitioning"></a>

Die ursprüngliche Abfrage wurde in `NUM_PARTITIONS` Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.

Die datensatzbasierte Partitionierung wird nur für Nicht-ODP-Entitäten unterstützt, da die Paginierung in ODP-Entitäten bis zum nächsten Token unterstützt wird. token/skip 
+ `PARTITION_BY`: der Typ der durchzuführenden Partitionierung. `COUNT` wird im Falle einer datensatzbasierten Partitionierung übergeben.

**Beispiel**

```
sapodata= glueContext.create_dynamic_frame.from_options(
    connection_type="sapodata",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "/sap/opu/odata/sap/SEPM_HCM_SCENARIO_SRV/EmployeeSet",
        "NUM_PARTITIONS": "10",
        "PARTITION_BY": "COUNT"
    }, transformation_ctx=key)
```

# Einschränkungen/Callouts
<a name="sap-odata-limitations"></a>
+ ODP-Entitäten sind nicht mit Record Based Partitioning kompatibel, da die Paginierung mit dem Skip-Token abgewickelt wird. token/delta Folglich wird für die datensatzbasierte Partitionierung der Standardwert für MaxConcurrency unabhängig von der Benutzereingabe auf „Null“ gesetzt.
+ Wenn sowohl das Limit als auch Partitionierung angewendet werden, hat das Limit Vorrang vor der Partitionierung.

# OData SAP-Verbindungsoptionen
<a name="sap-odata-connection-options"></a>

Im Folgenden sind die Verbindungsoptionen für SAP aufgeführt OData:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in SAP OData.

  Zum Beispiel:/sap/opu/odata/sap/API\$1SALES\$1ORDER\$1SRV/A\$1 SalesOrder
+ `API_VERSION` (Optional) Zum Lesen verwendet. OData SAP-Rest-API-Version, die Sie verwenden möchten. Beispiel: 2.0.
+ `SELECTED_FIELDS` (Liste<Zeichenfolge>) – Standard: leer(SELECT \$1). Zum Lesen verwendet. Spalten, die Sie für das Objekt auswählen möchten.

  Beispiel: SalesOrder
+ `FILTER_PREDICATE`(Zeichenfolge) – Standard: leer Zum Lesen verwendet. Muss das Spark-SQL-Format aufweisen.

  Beispiel: `SalesOrder = "10"`
+ `QUERY`(Zeichenfolge) – Standard: leer Zum Lesen verwendet. Vollständige Spark-SQL-Abfrage.

  Beispiel: `SELECT * FROM /sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder`
+ `PARTITION_FIELD`(Zeichenfolge) – Zum Lesen verwendet. Feld, das zur Partitionierung der Abfrage verwendet werden soll.

  Beispiel: `ValidStartDate`
+ `LOWER_BOUND`(Zeichenfolge) – Zum Lesen verwendet. Ein inklusiver Untergrenzwert des ausgewählten Partitionsfelds.

  Beispiel: `"2000-01-01T00:00:00.000Z"`
+ `UPPER_BOUND`(Zeichenfolge) – Zum Lesen verwendet. Ein exklusiver Obergrenzwert des ausgewählten Partitionsfeldes.

  Beispiel: `"2024-01-01T00:00:00.000Z"`
+ `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen.
+ `INSTANCE_URL` (Zeichenfolge) – Die Host-URL der SAP-Instance-Anwendung.

  Beispiel: `https://example-externaldata.sierra.aws.dev`
+ `SERVICE_PATH` (Zeichenfolge) – Der Service-Pfad für die SAP-Instance-Anwendung.

  Beispiel: `/sap/opu/odata/iwfnd/catalogservice;v=2`
+ `CLIENT_NUMBER` (Zeichenfolge) – Die Kundennummer der SAP-Instance-Anwendung.

  Beispiel: 100
+ `PORT_NUMBER` (Zeichenfolge) – Standard: Die Portnummer der SAP-Instance-Anwendung.

  Beispiel: 443
+ `LOGON_LANGUAGE` (Zeichenfolge) – Die Anmeldesprache der SAP-Instance-Anwendung.

  Beispiel: `EN`
+ `ENABLE_CDC` (Zeichenfolge) – Definiert, ob ein Auftrag mit aktiviertem CDC ausgeführt werden soll, d. h. mit Änderungen nachverfolgen.

  Beispiel: `True/False`
+ `DELTA_TOKEN` (Zeichenfolge) – Führt einen inkrementellen Datenabruf auf der Grundlage des angegebenen gültigen Delta-Tokens aus. 

  Beispiel: `D20241107043437_000463000`
+ `PAGE_SIZE` (Ganzzahl) – Definiert die Seitengröße für die Abfrage der Datensätze. Die Standardgröße der Seite ist 50.000. Wenn eine Seitengröße angegeben ist, gibt SAP nur die definierte Anzahl von Datensätzen pro API-Aufruf zurück, nicht den gesamten Datensatz. Der Connector stellt weiterhin die Gesamtzahl der Datensätze bereit und verarbeitet die Seitennummerierung unter Verwendung der von Ihnen angegebenen Seitengröße. Wenn Sie eine größere Seitengröße benötigen, können Sie einen beliebigen Wert bis zu 500.000 (der maximal zulässige Wert) wählen. Jede angegebene Seitengröße, die den Wert 500.000 überschreitet, wird ignoriert. Stattdessen verwendet das System die maximal zulässige Seitengröße. Sie können die Seitengröße in der AWS Glue Studio Benutzeroberfläche angeben, indem Sie eine Verbindungsoption `PAGE_SIZE` mit dem gewünschten Wert hinzufügen. 

  Beispiel: `20000`

# OData SAP-Entitäts- und Felddetails
<a name="sap-odata-entity-field-details"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/sap-odata-entity-field-details.html)

# Verbindung herstellen zu SendGrid
<a name="connecting-to-data-sendgrid"></a>

SendGrid ist eine Kundenkommunikationsplattform für Transaktions- und Marketing-E-Mails.
+ SendGrid Connector hilft bei der Erstellung und Verwaltung von Kontaktlisten sowie bei der Erstellung von E-Mail-Marketingkampagnen.
+ SendGrid ermöglicht es Online-Unternehmen, gemeinnützigen Organisationen und anderen Online-Organisationen, Marketing-E-Mails zu erstellen und an ein großes Publikum zu senden und die Interaktion mit diesen E-Mails zu überwachen.

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

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

AWS Glue unterstützt SendGrid wie folgt:

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

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

**Unterstützte SendGrid API-Versionen**  
Die folgenden SendGrid API-Versionen werden unterstützt:
+ v3

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="sendgrid-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.

# Konfiguration SendGrid
<a name="sendgrid-configuring"></a>

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein SendGrid Konto mit einem API-Schlüssel.
+ Ihr SendGrid Konto hat API-Zugriff mit einer gültigen Lizenz.

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem SendGrid Konto herstellen. Für typische Verbindungen müssen Sie nichts weiter tun SendGrid.

# SendGrid Verbindungen konfigurieren
<a name="sendgrid-configuring-connections"></a>

SendGrid unterstützt benutzerdefinierte Authentifizierung.

Öffentliche SendGrid Dokumentation zur Generierung der erforderlichen API-Schlüssel für die benutzerdefinierte Authentifizierung finden Sie unter [Authentifizierung](https://www.twilio.com/docs/sendgrid/api-reference/how-to-use-the-sendgrid-v3-api/authentication).

So konfigurieren Sie eine SendGrid 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 das Verbrauchergeheimnis der verbundenen App mit `api_key` 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 eines **Verbindungstyps** SendGrid.

   1. Geben Sie die SendGrid Instanz `INSTANCE_URL` an, zu der Sie eine Verbindung herstellen möchten.

   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.

# Aus SendGrid Entitäten lesen
<a name="sendgrid-reading-from-entities"></a>

**Voraussetzung**

Ein SendGrid Objekt, aus dem Sie lesen möchten. Sie benötigen den Objektnamen, z. B. `lists`, `singlesends` oder `segments`.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Listen | Nein | Ja | Nein | Ja | Nein | 
| Einzelne Sendungen | Ja | Ja | Nein | Ja | Nein | 
| Statistiken zu Marketingkampagnen – Automatisierungen | Ja | Ja | Nein | Ja | Nein | 
| Statistiken zu Marketingkampagnen – Einzelne Sendungen | Ja | Ja | Nein | Ja | Nein | 
| Segmente | Ja | Nein | Nein | Ja | Nein | 
| Kontakte | Ja | Nein | Nein | Ja | Nein | 
| Kategorie | Nein | Nein | Nein | Ja | Nein | 
| Statistiken | Ja | Nein | Nein | Ja | Nein | 
| Gruppen abmelden | Ja | Nein | Nein | Ja | Nein | 

**Beispiel:**

```
sendgrid_read = glueContext.create_dynamic_frame.from_options(
    connection_type="sendgrid",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "lists",
        "API_VERSION": "v3",
        "INSTANCE_URL": "instanceUrl"
    }
```

**SendGrid Entitäts- und Felddetails**:

Entitäten mit statischen Metadaten:

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

**Anmerkung**  
Die Datentypen Struct und List werden in den Datentyp String konvertiert, und der DateTime Datentyp wird in der Antwort der Konnektoren in Timestamp konvertiert.

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

SendGrid unterstützt keine filterbasierte Partitionierung oder datensatzbasierte Partitionierung.

# SendGrid Verbindungsoptionen
<a name="sendgrid-connection-options"></a>

Im Folgenden finden Sie Verbindungsoptionen für SendGrid:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in SendGrid.
+ `API_VERSION`(Zeichenfolge) — (Erforderlich) Wird zum Lesen verwendet. SendGrid Rest-API-Version, die Sie verwenden möchten.
+ `INSTANCE_URL` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Eine gültige SendGrid Instanz-URL.
+ `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.

# SendGrid Einschränkungen
<a name="sendgrid-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für SendGrid:
+ Der inkrementelle Abruf wird nur von der Stats-Entität für das `start_date`-Feld und von der Contact-Entität für das Feld `event_timestamp` unterstützt.
+ Paginierung wird nur von den Entitäten „Statistiken zu Marketingkampagnen (Automatisierungen)“, „Statistiken zu Marketingkampagnen (Einzelne Sendungen)“, „Einzelne Sendungen“ und „Listen“ unterstützt.
+ Für die Stats-Entität ist `start_date` ein obligatorischer Filterparameter.
+ Ein API-Schlüssel mit eingeschränktem Zugriff kann keinen Lesezugriff für die E-Mail-API- und Statistik-Entitäten unterstützen. Verwenden Sie einen API-Schlüssel mit Vollzugriff. Weitere Informationen finden Sie unter [API-Übersicht](https://www.twilio.com/docs/sendgrid/api-reference/api-keys/create-api-keys#api-overview).

# Verbindung herstellen zu ServiceNow
<a name="connecting-to-data-servicenow"></a>

ServiceNow ist eine Cloud-basierte SaaS-Plattform zur Automatisierung von IT-Management-Workflows. Die ServiceNow Plattform lässt sich problemlos in andere Tools integrieren, sodass Benutzer Projekte, Teams und Kundeninteraktionen mithilfe einer Vielzahl von Apps und Plugins verwalten können. Als ServiceNow Benutzer können Sie eine Verbindung AWS Glue zu Ihrem ServiceNow Konto herstellen. Anschließend können Sie es ServiceNow als Datenquelle für Ihre ETL-Jobs verwenden. Führen Sie diese Jobs aus, um Daten ServiceNow zwischen AWS Diensten oder anderen unterstützten Anwendungen zu übertragen.

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

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

AWS Glue unterstützt ServiceNow wie folgt:

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

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

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

Informationen zur Unterstützung von Entitäten pro Version finden Sie unter „Unterstützte Entitäten für Quelle“.

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="servicenow-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.

# Konfiguration ServiceNow
<a name="servicenow-configuring"></a>

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein ServiceNow Konto mit E-Mail und Passwort. Weitere Informationen finden Sie unter [Ein ServiceNow Konto erstellen](#servicenow-configuring-creating-servicenow-account).
+ Ihr ServiceNow Konto ist für den API-Zugriff aktiviert. Jegliche Nutzung der ServiceNow API ist ohne zusätzliche Kosten möglich.

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

## Ein ServiceNow Konto erstellen
<a name="servicenow-configuring-creating-servicenow-account"></a>

Um ein ServiceNow Konto zu erstellen:

1. Rufen Sie die Anmeldeseite auf servicenow.com auf, geben Sie Ihre Zugangsdaten ein und klicken Sie auf **Weiter**.

1. Sie erhalten einen Bestätigungscode an Ihre hinterlegte E-Mail-Adresse. Geben Sie diesen Code ein und wählen Sie **Bestätigen**.

1. Richten Sie die Multi-Faktor-Authentifizierung ein oder überspringen Sie diesen Schritt.

Ihr Konto wurde erstellt und Ihr Profil ServiceNow wird angezeigt.

## Eine ServiceNow Entwicklerinstanz erstellen
<a name="servicenow-configuring-creating-servicenow-developer-instance"></a>

Fordern Sie eine Entwicklerinstanz an, nachdem Sie sich angemeldet haben ServiceNow.

1. Geben Sie auf der [ServiceNow Anmeldeseite](https://signon.service-now.com/x_snc_sso_auth.do?pageId=username) Ihre Kontoanmeldeinformationen ein.

1. Wählen Sie das **ServiceNow Entwicklerprogramm**.  
![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/servicenow-dev-program.png)

1. Wählen Sie oben rechts die Option **Instance anfordern** aus.

1. Geben Sie Ihre Aufgabenbereiche ein. Stimmen Sie den Nutzungsbedingungen zu und wählen Sie **Einrichtung abschließen**.

1. Notieren Sie sich nach der Erstellung der Instance Ihre Instance-URL und Ihre Anmeldeinformationen.

## Anmeldeinformationen werden abgerufen BasicAuth
<a name="servicenow-configuring-basic-auth"></a>

So rufen Sie BasicAuth-Anmeldeinformationen für ein kostenloses Konto ab:

1. Geben Sie auf der [ServiceNow Anmeldeseite](https://signon.service-now.com/x_snc_sso_auth.do?pageId=username) Ihre Kontoanmeldeinformationen ein.

1. Wählen Sie auf der Startseite den Abschnitt „Profil bearbeiten“ (oben rechts) und anschließend **Instance-Passwort verwalten**.

1. Rufen Sie die Anmeldeinformationen wie Benutzername, Passwort und Instance-URL ab.

**Anmerkung**  
Wenn MFA für das Konto aktiviert ist, fügen Sie das MFA-Token am Ende des Benutzerpassworts in der Basisauthentifizierung hinzu: <Benutzername>:<Passwort><MFA-Token>.

Weitere Informationen finden Sie in der ServiceNow Dokumentation unter [Anwendungen erstellen](https://docs.servicenow.com/bundle/xanadu-application-development/page/build/custom-application/concept/build-applications.html).

## OAuth 2.0-Anmeldeinformationen werden erstellt
<a name="servicenow-configuring-basic-auth"></a>

Um OAuth2 2.0 im ServiceNow Connector zu verwenden, müssen Sie einen eingehenden Client () erstellen, um die Client-ID und den geheimen Clientschlüssel zu generieren:

1. Geben Sie auf der [ServiceNow Anmeldeseite](https://signon.service-now.com/x_snc_sso_auth.do?pageId=username) Ihre Kontoanmeldeinformationen ein.

1. Wählen Sie auf der Startseite die Option **Entwicklung starten** aus.

1. Suchen Sie auf der Seite „App Engine Studio“ nach **Anwendungsverzeichnis**.

1. Wählen Sie oben rechts **Neu**.

1. Wählen Sie die **Option OAuth API-Endpunkt für externe Clients erstellen**.

1. Nehmen Sie alle erforderlichen Änderungen an der OAuth Konfiguration vor und wählen Sie **Aktualisieren**.

   Beispiel für die Weiterleitungs-URL: https://us-east-1.console.aws.amazon.com/gluestudio/ oauth

1. Wählen Sie die neu erstellte OAuth Client-App aus, um die Client-ID und das Client-Geheimnis abzurufen.

1. Speichern Sie die Client-ID und den geheimen Client-Schlüssel für die weitere Verarbeitung.

So konfigurieren Sie die Konfiguration OAuth in einem Entwickler-Konto, das nicht für die Produktion bestimmt ist:

1. Erstellen Sie mithilfe des Themas [Authentifizierungsprofil erstellen in der ServiceNow Dokumentation ein Authentifizierungsprofil](https://docs.servicenow.com/bundle/washingtondc-platform-security/page/integrate/authentication/task/create-an-authentication-profile.html).

1. **Wählen Sie im Authentifizierungsprofil für OAuth die Option **Typ** als aus OAuth und wählen Sie den oben erstellten Inbound-Client aus, um die OAuth Entität festzulegen.**

1. Wenn es mehrere Clients gibt, müssen Sie mehrere Authentifizierungsprofile erstellen, um die erforderliche OAuth Entität im Authentifizierungsprofil festzulegen.

1. Falls noch nicht konfiguriert, erstellen Sie eine REST-API-Zugriffsrichtlinie, um Zugriff auf die TABLE-API zu gewähren. Siehe [Erstellen einer REST-API-Zugriffsrichtlinie](https://docs.servicenow.com/bundle/washingtondc-platform-security/page/integrate/authentication/task/create-api-access-policy.html).

# ServiceNow Verbindungen konfigurieren
<a name="servicenow-configuring-connections"></a>

Die Art der Gewährung bestimmt, wie mit Ihren Daten AWS Glue kommuniziert wird ServiceNow , um Zugriff auf diese anzufordern. Ihre Wahl wirkt sich auf die Anforderungen aus, die Sie erfüllen müssen, bevor Sie die Verbindung herstellen. ServiceNow unterstützt nur den Grant-Typ AUTHORIZATION\$1CODE für 2.0. OAuth 
+ Dieser Gewährungstyp wird als „dreibeiniges“ angesehen, OAuth da er darauf angewiesen ist, dass Benutzer zur Authentifizierung des Benutzers an einen Autorisierungsserver eines Drittanbieters umgeleitet werden. Er wird verwendet, wenn Verbindungen über die Konsole hergestellt werden. AWS Glue Die AWS Glue Konsole leitet den Benutzer ServiceNow dorthin weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine ServiceNow Instanz gewähren muss.
+ Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in zu erstellen ServiceNow und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin weitergeleitet, ServiceNow um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.
+ Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.
+ Öffentliche ServiceNow Dokumentation zur Erstellung einer verbundenen App für den OAuth Autorisierungscodefluss finden Sie unter [Einrichten OAuth](https://docs.servicenow.com/bundle/vancouver-platform-security/page/administer/security/task/t_SettingUpOAuth.html).

So konfigurieren Sie eine ServiceNow Verbindung:

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

   1. Für die Standardauthentifizierung muss das Geheimnis das Verbrauchergeheimnis der verbundenen App mit `USERNAME` und `PASSWORD` als Schlüssel enthalten.

   1. Bei einem Autorisierungscode-Gewährungstyp muss das Geheimnis das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten.

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

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 eines **Verbindungstyps** ServiceNow.

   1. Geben Sie die INSTANCE\$1URL der ServiceNow Instanz an, zu der Sie eine Verbindung herstellen möchten.

   1. Wählen Sie die AWS IAM-Rolle aus, die die folgenden AWS Glue Aktionen übernehmen 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 den **Authentifizierungstyp** aus, den Sie für diese Verbindung in AWS Glue verwenden möchten.

      1. Basic Auth: Dieser Authentifizierungstyp eignet sich gut für Automatisierungsszenarien, da er es ermöglicht, Benutzername und Passwort im Voraus mit den Berechtigungen eines bestimmten Benutzers in der Instanz zu verwenden. ServiceNow AWS Glue ist in der Lage, den Benutzernamen und das Passwort zur Authentifizierung zu verwenden. ServiceNow APIs Machen Sie die folgenden Eingaben nur bei der Standardauthentifizierung: `Username` und `Password`.

      1. OAuth2: Geben Sie die folgenden Eingaben nur für OAuth2:`ClientId`,, `ClientSecret``Authorization URL`, `Authorization Token URL` ein.

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

   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.

# Aus ServiceNow Entitäten lesen
<a name="servicenow-reading-from-entities"></a>

**Voraussetzung**

Ein ServiceNow Tables-Objekt, aus dem Sie lesen möchten. Sie benötigen den Objektnamen wie „pa\$1bucket“ oder „incident“.

**Beispiel:**

```
servicenow_read = glueContext.create_dynamic_frame.from_options(
    connection_type="servicenow",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "pa_buckets",
        "API_VERSION": "v2"
        "instanceUrl": "https://<instance-name>.service-now.com"
    }
)
```

**ServiceNow Entitäts- und Felddetails**:

 ServiceNow Stellt für die folgenden Entitäten Endpunkte zum dynamischen Abrufen von Metadaten bereit, sodass die Operatorunterstützung für jede Entität auf Datentypebene erfasst wird.

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

**Anmerkung**  
Der Datentyp Struktur wird in der Antwort des Connectors in einen Zeichenfolge-Datentyp konvertiert.

**Anmerkung**  
`DML_STATUS`ist ein zusätzliches benutzerdefiniertes Attribut, das für die Nachverfolgung von Datensätzen verwendet wird. CREATED/UPDATED 

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

**Feldbasierte Partitionierung**:

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.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/servicenow-reading-from-entities.html)
+ `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-01-30T06:47:51.000Z"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: die Anzahl der Partitionen.

In der folgenden Tabelle sind Details zur Unterstützung der Partitionierung von Entitäten beschrieben:

Beispiel:

```
servicenow_read = glueContext.create_dynamic_frame.from_options(
    connection_type="servicenow",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "pa_buckets",
        "API_VERSION": "v2",
        "instanceUrl": "https://<instance-name>.service-now.com"
        "PARTITION_FIELD": "sys_created_on"
        "LOWER_BOUND": "2024-01-30T06:47:51.000Z"
        "UPPER_BOUND": "2024-06-30T06:47:51.000Z"
        "NUM_PARTITIONS": "10"
    }
```

**Datensatzbasierte Partitionierung**:

Sie können die zusätzliche Spark-Option `NUM_PARTITIONS` angeben, wenn Sie Parallelität in Spark nutzen möchten. Mit diesem Parameter wird die ursprüngliche Abfrage in `NUM_PARTITIONS` Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.

Bei der datensatzbasierten Partitionierung wird die Gesamtzahl der vorhandenen Datensätze von der ServiceNow API abgefragt und durch die angegebene Zahl dividiert. `NUM_PARTITIONS` Die resultierende Anzahl von Datensätzen wird dann gleichzeitig von jeder Unterabfrage abgerufen.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
servicenow_read = glueContext.create_dynamic_frame.from_options(
    connection_type="servicenow",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "pa_buckets",
        "API_VERSION": "v2",
        "instanceUrl": "https://<instance-name>.service-now.com"
        "NUM_PARTITIONS": "2"
    }
```

# ServiceNow Verbindungsoptionen
<a name="servicenow-connection-options"></a>

Im Folgenden finden Sie Verbindungsoptionen für ServiceNow:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in ServiceNow.
+ `API_VERSION`(Zeichenfolge) — (Erforderlich) Wird zum Lesen verwendet. ServiceNow Rest-API-Version, die Sie verwenden möchten. Beispiel: v1, v2, v3, v4.
+ `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. Beispiel: 2024-01-30T 06:47:51.000 Z.
+ `UPPER_BOUND`(Zeichenfolge) – Zum Lesen verwendet. Ein exklusiver Obergrenzwert des ausgewählten Partitionsfeldes. Beispiel: 2024-06-30T06:47:51.000Z.
+ `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen. Beispiel: 10
+ `INSTANCE_URL`(String) — (Erforderlich) Eine gültige ServiceNow Instanz-URL im Format https://<instance-name>.service-now.com.
+ `PAGE_SIZE`(Integer) – Definiert die Seitengröße für die Abfrage der Datensätze. Die Standardgröße der Seite ist 1 000. Wenn eine Seitengröße angegeben ist, wird nur die definierte Anzahl von Datensätzen pro API-Aufruf ServiceNow zurückgegeben, nicht der gesamte Datensatz. Der Connector stellt weiterhin die Gesamtzahl der Datensätze bereit und verarbeitet die Seitennummerierung unter Verwendung der von Ihnen angegebenen Seitengröße. Wenn Sie eine größere Seitengröße benötigen, können Sie einen beliebigen Wert bis zu 10 000 (der maximal zulässige Wert) wählen. Jede angegebene Seitengröße, die den Wert 10 000 überschreitet, wird ignoriert. Stattdessen verwendet das System die maximal zulässige Seitengröße. Sie können die Seitengröße auf der Benutzeroberfläche von AWS Glue Studio angeben, indem Sie die Verbindungsoption `PAGE_SIZE` mit dem gewünschten Wert hinzufügen. Beispiel: 5 000

# Einschränkungen und Hinweise für ServiceNow Connector
<a name="servicenow-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den ServiceNow Konnektor:
+ Gemäß der [SaaS-Dokumentation](https://www.servicenow.com/docs/bundle/washingtondc-application-development/page/build/applications/reference/r_GlobalDefaultFields.html) sind `sys_created_on`, `sys_updated_on` und `sys_mod_count` vom System generierte Felder. Der Connector verwendet SaaS APIs , um diese Felder im Antworttext bereitzustellen.
  + Wenn SaaS diese Felder für keine Entität generiert, kann die filterbasierte Partitionierung nicht unterstützt werden.
+ Wenn SaaS APIs keine `sys_updated_on` Felder in der Antwort zurückgibt`sys_created_on`, `DML_STATUS` kann dies nicht berechnet werden.
+ Verbessern von Leseleistung und Effizienz
  + Der ServiceNow Konnektor sortiert die Datensätze jetzt automatisch in aufsteigender Reihenfolge nach dem `sys_id` Feld (muss in den Metadaten vorhanden sein), wenn vom Benutzer keine ORDER BY-Klausel angegeben wurde. In diesem Fall werden die Datensätze mit der neuen optimierten Keyset-basierten Paginierung paginiert.
  + Wenn die ORDER BY-Klausel angegeben ist, wird die neue Optimierung nicht verwendet und die Datensätze werden mit der vorhandenen Methode (benutzerdefinierte und auf der ORDER BY-Klausel und dem Offset-Limit basierende Paginierung) abgerufen.

# Herstellen einer Verbindung mit Slack in AWS Glue Studio
<a name="connecting-to-data-slack"></a>

 Slack ist eine Kommunikations-App für Unternehmen, mit der Benutzer Nachrichten und Anhänge über verschiedene öffentliche und private Kanäle versenden können. Wenn du ein Slack-Nutzer bist, kannst du dich mit deinem Slack-Account AWS Glue verbinden. Anschließend können Sie Slack als Datenquelle in Ihren ETL-Aufträgen verwenden. Führe diese Jobs aus, um Daten zwischen Slack und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen. 

**Topics**
+ [AWS Glue Unterstützung für Slack](slack-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](slack-configuring-iam-permissions.md)
+ [Konfigurieren von Slack](slack-configuring.md)
+ [Konfiguration von Slack-Verbindungen](slack-configuring-connections.md)
+ [Lesen aus Slack-Entitäten](slack-reading-from-entities.md)
+ [Slack-Verbindungsoptionen](slack-connection-options.md)
+ [Einschränkungen](slack-limitations.md)
+ [Erstellen eines neuen Slack-Accounts und Konfigurieren der Client-App](slack-new-account-creation.md)

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

AWS Glue unterstützt Slack wie folgt:

**Als Quelle unterstützt?**  
Ja. Du kannst AWS Glue ETL-Jobs verwenden, um Daten von Slack abzufragen.

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

**Unterstützte Slack-API-Versionen**  
 Slack API v2. 

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

 Die folgende Beispielrichtlinie beschreibt die erforderlichen -IAM-Berechtigungen für die Erstellung und Verwendung 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 und Amazon EC2. Amazon CloudWatch Logs 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 Slack
<a name="slack-configuring"></a>

Bevor du Daten AWS Glue zu oder von Slack übertragen kannst, musst du die folgenden Anforderungen erfüllen:

## Mindestanforderungen
<a name="slack-configuring-min-requirements"></a>
+  Sie benötigen ein Slack-Konto. Weitere Informationen finden Sie unter [Erstellen eines neuen Slack-Accounts und Konfigurieren der Client-App](slack-new-account-creation.md). 

 Wenn du diese Anforderungen erfüllst, bist du bereit, dich mit deinem Slack-Account AWS Glue zu verbinden. 

# Konfiguration von Slack-Verbindungen
<a name="slack-configuring-connections"></a>

 Slack unterstützt den `AUTHORIZATION_CODE` Grant-Typ für OAuth 2. 

 Diese Art der Gewährung wird als „dreibeiniges“ angesehen, OAuth da sie 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 Die AWS Glue Konsole leitet den Benutzer zu Slack weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Slack-Instanz gewähren muss. 

 Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in Slack 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 Slack weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 

 Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken läuft nach 1 Stunde nach der Erstellung ab. Ein neues Zugriffstoken kann mit dem Aktualisierungstoken abgerufen werden. 

 Weitere Informationen zur Erstellung einer verbundenen App für den Authorization Code OAuth Flow findest du unter [Slack-API](https://api.slack.com/quickstart). 

Konfigurieren einer Verbindung mit Slack:

1.  Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details. Sie müssen ein Geheimnis für die Verbindung in AWS Glue erstellen. 

   1.  Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 

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** Slack aus.

   1. Geben Sie die Slack-Umgebung 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.  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 Slack-Entitäten
<a name="slack-reading-from-entities"></a>

 **Voraussetzungen** 
+  Ein Slack-Objekt, aus dem gelesen werden soll. 

 **Unterstützte Entitäten** 


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Konversationen | Ja | Ja | Nein | Ja | Ja | 

 **Beispiel** 

```
slack_read = glueContext.create_dynamic_frame.from_options(
    connection_type="slack",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "conversations/C058W38R5J8"
    }
)
```

 **Slack-Entitäts- und Felddetails** 


| Entität | Feld | Datentyp | Unterstützte Operatoren | 
| --- | --- | --- | --- | 
| Konversationen | Anlagen | Auflisten | N/A | 
| Konversationen | bot\$1id | Zeichenfolge | N/A | 
| Konversationen | blocks | Auflisten | N/A | 
| Konversationen | client\$1msg\$1id | Zeichenfolge | N/A | 
| Konversationen | is\$1starred | Boolesch | N/A | 
| Konversationen | last\$1read | Zeichenfolge | N/A | 
| Konversationen | latest\$1reply | Zeichenfolge | N/A | 
| Konversationen | Reaktionen | Auflisten | N/A | 
| Konversationen | Antworten | Auflisten | N/A | 
| Konversationen | reply\$1count | Ganzzahl | N/A | 
| Konversationen | reply\$1users | Auflisten | N/A | 
| Konversationen | reply\$1users\$1count | Ganzzahl | N/A | 
| Konversationen | abonniert | Boolesch | N/A | 
| Konversationen | Subtyp | Zeichenfolge | N/A | 
| Konversationen | text | Zeichenfolge | N/A | 
| Konversationen | Team | Zeichenfolge | N/A | 
| Konversationen | thread\$1ts | Zeichenfolge | N/A | 
| Konversationen | ts | Zeichenfolge | EQUAL\$1TO, BETWEEN, LESS\$1THAN, LESS\$1THAN\$1OR\$1EQUAL\$1TO, GREATER\$1THAN, GREATER\$1THAN\$1OR\$1EQUAL\$1TO | 
| Konversationen | type | Zeichenfolge | N/A | 
| Konversationen | user | Zeichenfolge | N/A | 
| Konversationen | Einladungsabsender | Zeichenfolge | N/A | 
| Konversationen | Root | Struct | N/A | 
| Konversationen | is\$1locked | Boolesch | N/A | 
| Konversationen | files | Auflisten | N/A | 
| Konversationen | Raum | Struct | N/A | 
| Konversationen | Hochladen | Boolesch | N/A | 
| Konversationen | display\$1as\$1bot | Boolesch | N/A | 
| Konversationen | channel | Zeichenfolge | N/A | 
| Konversationen | no\$1notifications | Boolesch | N/A | 
| Konversationen | Permalink | Zeichenfolge | N/A | 
| Konversationen | pinned\$1to | Auflisten | N/A | 
| Konversationen | pinned\$1info | Struct | N/A | 
| Konversationen | bearbeitet | Struct | N/A | 
| Konversationen | app\$1id | Zeichenfolge | N/A | 
| Konversationen | bot\$1profile | Struct | N/A | 
| Konversationen | Metadaten | Struct | N/A | 

 **Partitionierung von Abfragen** 

 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ültigen Wert: `"2024-07-01T00:00:00.000Z"`. 
+  `UPPER_BOUND`: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds. 
+  `NUM_PARTITIONS`: Anzahl der Partitionen. 

 Details zur Unterstützung von Feldern für die entitätsbezogene Partitionierung sind in der folgenden Tabelle aufgeführt. 


| Entity Name | Partitionierungsfeld | Datentyp | 
| --- | --- | --- | 
| Konversationen | ts | Zeichenfolge | 

 **Beispiel** 

```
slack_read = glueContext.create_dynamic_frame.from_options(
    connection_type="slack",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "conversations/C058W38R5J8",
        "PARTITION_FIELD": "ts"
        "LOWER_BOUND": "2022-12-01T00:00:00.000Z"
        "UPPER_BOUND": "2024-09-23T15:00:00.000Z"
        "NUM_PARTITIONS": "2"
    }
)
```

# Slack-Verbindungsoptionen
<a name="slack-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Slack aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Unterstützter Entitätsname. Beispiel: `conversations/C058W38R5J8`. 
+  `SELECTED_FIELDS` (Liste<Zeichenfolge>) – Standard: leer(SELECT \$1). Zum Lesen verwendet. Felder, 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. 
+  `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen. 

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

Die folgenden Einschränkungen gelten für den Slack-Connector:
+  Die datensatzbasierte Partitionierung wird nicht unterstützt, da der Connector keine Möglichkeit bietet, die Gesamtzahl der in einer bestimmten Konversation verfügbaren Datensätze (Nachrichten) abzurufen. 

# Erstellen eines neuen Slack-Accounts und Konfigurieren der Client-App
<a name="slack-new-account-creation"></a>

**Erstellen eines Slack-Accounts**

1. Öffnen Sie die [Slack-Startseite](https://slack.com/intl/en-in/), um sich für einen Account zu registrieren. 

1. Wählen Sie **MIT E-MAIL-ADRESSE ANMELDEN** aus. Geben Sie Ihre E-Mail-Adresse ein und wählen Sie **Weiter**.

1. Geben Sie den sechsstelligen Code ein, der an Ihre E-Mail-Adresse gesendet wurde. Sie werden dann aufgefordert, einen Workspace zu erstellen oder einem bestehenden Workspace beizutreten.

1. Wählen Sie **Workspace erstellen** aus, um einen neuen Workspace zu erstellen. Im Rahmen des Einrichtungsprozesses werden Sie aufgefordert, einige Fragen zu beantworten.
   + Name des Unternehmens
   + Ihr Name
   + So fügen Sie Kollegen per E-Mail hinzu
   + Woran arbeitet Ihr Team? (Dies wird der Kanalname sein.)

1. Füllen Sie die Eingabefelder für diese Fragen aus und fahren Sie fort. Ihr Account ist jetzt einsatzbereit.



**Erstellen einer Slack-Entwickler-App**

1. Melden Sie sich bei Ihrem Slack-Account an und melden Sie sich in Ihrem Slack-Workspace an.

1. Wählen Sie im Workspace-Menü **Tools und Einstellungen** und dann **Apps verwalten** aus.

1. Wählen Sie im Slack-App-Verzeichnismenü die Option **Erstellen** aus.

1. Wählen Sie auf der Seite **Deine Apps** die Option **App erstellen** aus.

1. Wählen Sie auf der Seite **App erstellen** die Option **Von Grund auf** aus.

1. Fügen Sie im sich öffnenden Dialogfeld **App benennen und Workspace auswählen** einen App-Namen hinzu und **wählen Sie einen Workspace aus, in dem Ihre App bereitgestellt** werden soll. Wählen Sie dann **App erstellen** aus.

1. Notieren Sie sich Ihre Client-ID und Ihr Geheimnis, die in den App-Anmeldeinformationen angezeigt werden.

1. Gehen Sie in der Seitenleiste OAuth & Berechtigungen zu Bereiche und wählen Sie Bereich **hinzufügen** aus. OAuth Du kannst die Weiterleitung URLs zur Konfiguration zu deiner App hinzufügen, um automatisch die Schaltfläche „Zu Slack hinzufügen“ zu generieren oder deine App zu verteilen. Scrolle nach oben zum URLs Abschnitt „Weiterleitung“ und wähle „**Neue Weiterleitungs-URL hinzufügen**“ und speichere. 

1. Scrollen Sie dann zum Abschnitt OAuth Tokens für Ihren Workspace und wählen Sie In **Workspace installieren** aus.

1. Ein Dialogfeld wird geöffnet, das Sie darüber informiert, dass die von Ihnen erstellte App um Erlaubnis bittet, auf den Slack-Workspace zuzugreifen, mit dem Sie sie verbinden möchten. Wählen Sie hier die Option **Zulassen** aus.

1. Nach erfolgreichem Abschluss zeigt die Konsole den Bildschirm „ OAuth Tokens für deinen Workspace“ an.

1. Kopieren und speichern Sie auf dem Bildschirm „ OAuth Tokens für Ihren Workspace“ das OAuth Token, mit dem Sie sich verbinden möchten AWS Glue

1. Als Nächstes rufen Sie Ihre Slack-Team-ID ab. Wählen Sie im Workspace-Menü von Slack **Tools und Einstellungen und** dann **Apps verwalten** aus. Sie finden Ihre Team-ID in der URL der Seite, die geöffnet wird.

1. Um Ihre App öffentlich zu verteilen, können Sie sie aktivieren, indem Sie in der Seitenleiste auf die Schaltfläche **Verteilung verwalten** klicken. Scrollen Sie nach unten zum Abschnitt „Deine App mit anderen Workspaces teilen“ und wählen Sie **Hardcodierte Informationen entfernen** aus. Erteilen Sie Ihre Zustimmung und wählen Sie **Aktive öffentliche Verteilung** aus. 

1. Ihre App wird jetzt öffentlich verteilt. Um auf die Entität zuzugreifen APIs, muss die App zu jedem Workspace-Kanal hinzugefügt werden, von dem aus der Benutzer zugreifen möchte.

1. Melden Sie sich in Ihrem Slack-Account an und öffnen Sie den Workspace, auf dessen Channel zugegriffen werden muss.

1. Öffnen Sie im Workspace den Channel, auf den die App zugreifen möchte, und wählen Sie den Channel-Titel aus. Wählen Sie im Dialogfenster den Tab **Integrationen** aus und fügen Sie die App hinzu. Auf diese Weise wird die App in den Channel integriert, um Zugriff auf dessen API zu erhalten.

   Die OAuth 2.0-Client-ID muss über eine oder mehrere autorisierte Weiterleitungen verfügen URLs. Weiterleitungen URLs haben das folgende Format:
**Anmerkung**  
 Appflow-Weiterleitungen können URLs sich ändern, nachdem die Weiterleitung URLs für die AWS Glue Plattform verfügbar ist. Client ID und Client Secret stammen aus den Einstellungen für Ihre OAuth 2.0-Client-ID.     
<a name="slack-redirect-url-detail"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/slack-new-account-creation.html)

# Herstellen einer Verbindung mit Smartsheet
<a name="connecting-to-smartsheet"></a>

Smartsheet ist ein SaaS-Produkt für Arbeitsmanagement und Zusammenarbeit. Im Wesentlichen ermöglicht Smartsheet den Benutzern, mit tabellenkalkulationsähnlichen Objekten Geschäftsdaten zu erstellen, zu speichern und zu nutzen.

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

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

AWS Glue unterstützt Smartsheet wie folgt:

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

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

**Unterstützte Smartsheet-API-Versionen**  
 v2.0 

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="smartsheet-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": "*"
    }
  ]
}
```

------

Wenn Sie die vorstehende 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, 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 Smartsheet
<a name="smartsheet-configuring"></a>

Bevor Sie die Übertragung von Smartsheet verwenden AWS Glue können, müssen Sie die folgenden Anforderungen erfüllen:

## Mindestanforderungen
<a name="smartsheet-configuring-min-requirements"></a>
+ Sie haben ein Smartsheet-Konto mit E-Mail-Adresse und Passwort. Weitere Informationen zum Erstellen eines Kontos finden Sie unter [Erstellen eines Smartsheet-Kontos](smartsheet-create-account.md). 
+ Ihr Smartsheet-Konto verfügt über API-Zugriff mit gültiger Lizenz.
+ Ihr Smartsheet-Konto verfügt über einen **Pro**-Preisplan für `Sheets`-Entität und einen Enterprise-Preisplan mit dem Add-On „Event Reporting“ für die `Events`-Entität.

Wenn Sie diese Anforderungen erfüllen, sind Sie bereit, eine Verbindung AWS Glue zu Ihrem Smartsheet-Konto herzustellen. Für typische Verbindungen müssen Sie in Smartsheet nichts weiter tun.

# Konfigurieren von Smartsheet-Verbindungen
<a name="smartsheet-configuring-connections"></a>

 Smartsheet unterstützt den `AUTHORIZATION_CODE` Zuschusstyp für OAuth2. 

Dieser Gewährungstyp wird als „dreibeiniges“ `OAuth` betrachtet, da er darauf angewiesen ist, dass Benutzer zur Authentifizierung an den Autorisierungsserver eines Drittanbieters weitergeleitet werden. Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Smartsheet zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zu Smartsheet weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 

Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden. 

[Eine öffentliche Smartsheet-Dokumentation zur Erstellung einer verbundenen App für den OAuth AUTHORIZATION\$1CODE-Flow finden Sie unter Smartsheet. APIs](https://smartsheet.redoc.ly/#section/OAuth-Walkthrough) 

Konfigurieren einer Smartsheet-Verbindung:

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

   Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 
**Anmerkung**  
Sie müssen für jede Verbindung in AWS Glue ein Geheimnis erstellen.

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

   1. Wählen Sie als **Verbindungstyp** Smartsheet aus.

   1. Geben Sie die `instanceUrl` von Smartsheet an, zu der eine Verbindung hergestellt werden soll.

   1. Wählen Sie die IAM-Rolle aus, für die AWS Glue Sie die folgenden Aktionen übernehmen können und über Berechtigungen verfügen: 

------
#### [ 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 Smartsheet-Entitäten
<a name="smartsheet-reading-from-entities"></a>

 **Voraussetzungen** 

Ein `Smartsheet`-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 | 
| --- | --- | --- | --- | --- | --- | 
| Listenblatt | Ja | Ja | Nein | Ja | Nein | 
| Zeilenmetadaten | Ja | Ja | Nein | Ja | Nein | 
| Blattmetadaten | Nein | Nein | Nein | Ja | Nein | 
| Blattdaten | Ja | Ja | Ja | Ja | Nein | 
| Veranstaltung | Ja | Ja | Nein | Ja | Nein | 

 **Beispiel** 

```
Smartsheet_read = glueContext.create_dynamic_frame.from_options(
    connection_type="smartsheet",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "list-sheets",
        "API_VERSION": "2.0",
        "INSTANCE_URL": "https://api.smartsheet.com"
    })
```

 **Smartsheet-Entitäts- und Felddetails** 

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

**Entitäten mit dynamischen Metadaten:**

Für die folgende Entität bietet Smartsheet einen Endpunkt zum dynamischen Abrufen von Metadaten, sodass die Bedienerunterstützung auf Datentypebene erfasst werden kann.


| Entität |  Datentyp  | Unterstützte Operatoren | 
| --- | --- | --- | 
|  Blattdaten  |  Zeichenfolge  | N/A | 
| Blattdaten |  Long  | "=" | 
| Blattdaten | Ganzzahl | N/A | 
| Blattdaten | DateTime | > | 

 **Beispiel** 

```
Smartsheet_read = glueContext.create_dynamic_frame.from_options(
    connection_type="smartsheet",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "list-sheets",
        "API_VERSION": "2.0",
        "INSTANCE_URL": "https://api.smartsheet.com"
    }
```

# Smartsheet-Verbindungsoptionen
<a name="smartsheet-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Smartsheet aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Smartsheet. 
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der Smartsheet-REST-API, die Sie verwenden möchten. Beispiel: v2.0. 
+ `INSTANCE_URL` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. URL der Smartsheet-Instance.
+ `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. 

# Erstellen eines Smartsheet-Kontos
<a name="smartsheet-create-account"></a>

1. Melden Sie sich für ein Smartsheet-Konto an, indem Sie zur [Smartsheet-Anmeldeseite](https://app.smartsheet.com/home) navigieren. 

1. Wählen Sie **Erstellen** aus, um ein neues Konto zu erstellen, oder melden Sie sich mit Ihrem registrierten Google-, Microsoft- oder Apple-Konto an.

1.   Geben Sie Ihre geschäftliche E-Mail-Adresse ein, wenn Sie dazu aufgefordert werden.   

1.   Wählen Sie **Weiter** aus und verifizieren Sie, falls erforderlich, Ihre Identität.  

1. Öffnen Sie die Bestätigungs-E-Mail von Smartsheet und klicken Sie auf den Bestätigungslink, um Ihr Konto zu verifizieren. 

   Sie abonnieren standardmäßig den Testplan. 

1. Wählen Sie unten links das Symbol **Konto** und dann **Lizenzen/Upgrade hinzufügen** aus, um Ihren Preisplan zu aktualisieren.
**Anmerkung**  
Dies ist für den Zugriff auf die **Ereignisberichterstattung** erforderlich, die ein Add-on im Plan **Enterprise** ist.

1. Wählen Sie im Plan **Enterprise** die Option **Kontaktieren Sie uns** aus, um beim Supportteam ein Konto-Upgrade anzufordern.

1. Geben Sie im Formular für Supportanfragen die erforderlichen Details und Ihre Anforderungen für ein Upgrade des Plans an.

   Damit ist das Upgrade auf den Plan **Enterprise** abgeschlossen.

**Erstellen von `OAuth2.0`-Anmeldeinformationen**

1. Nachdem Sie den Preisplan Ihres Kontos aktualisiert haben, um Zugriff auf die **Entwicklertools** zu erhalten, greifen Sie auf [Smartsheet-Entwickler](https://developers.smartsheet.com/) zu. 

   Sie erhalten eine Aktivierungs-E-Mail.

1. Öffnen Sie die Aktivierungs-E-Mail von Smartsheet und klicken Sie auf den Aktivierungslink, um die Entwicklertools für Ihr Konto zu aktivieren. 

   Mit dem Entwicklertool können Sie die App erstellen.

1. Öffnen Sie die Startseite Ihres Smartsheet-Kontos und wählen Sie **Konto** aus, um den Zugriff zu überprüfen.

1. Wählen Sie **Entwicklertools** aus der Liste der Dienste aus und geben Sie die Details des **Entwicklerprofils** ein.

1. Wählen Sie **Neue App erstellen** aus.

1. Geben Sie die folgenden Details in das App-Registrierungsformular ein:
   + **Name**: Name der App.
   + **Beschreibung**: Beschreibung der App.
   + **URL**: URL, mit der Sie Ihre App starten können, oder die URL der Startseite.
   + **Kontakt/Support**: Kontaktinformationen des Supportteams.
   + **Weiterleitungs-URL** — URL (auch als Rückruf-URL bezeichnet) in Ihrer Anwendung, die die [OAuth 2.0-Anmeldeinformationen](https://.console.aws.amazon.com/appflow/oauth) erhält. 

1. Wählen Sie **Speichern**.

   Smartsheet weist der App eine Client-ID und einen geheimen Client-Schlüssel zu. Notieren Sie diese für die nächsten Schritte. Sie können sie auch später im Abschnitt **Entwicklertools** erneut einsehen.

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

Smartsheet unterstützt keine feldbasierte oder datensatzbasierte Partitionierung.

# Herstellen einer Verbindung mit Snapchat Ads in AWS Glue Studio
<a name="connecting-to-data-snapchat-ads"></a>

 Snapchat ist eine Multimedia-Instant-Messaging-App und ein Service, der von Snap Inc., ursprünglich Snapchat Inc., entwickelt wurde. Eine der Hauptfunktionen von Snapchat besteht darin, dass Bilder und Nachrichten in der Regel nur für kurze Zeit verfügbar sind, bevor sie für die Empfänger nicht mehr zugänglich sind. Bei Snapchat Marketing handelt es sich um Posts, für die Unternehmen bezahlen können, um sie Snapchat-Benutzern anzuzeigen. 

**Topics**
+ [AWS Glue Unterstützung für Snapchat-Anzeigen](snapchat-ads-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](snapchat-ads-configuring-iam-permissions.md)
+ [Konfigurieren von Snapchat Ads](snapchat-ads-configuring.md)
+ [Konfigurieren von Snapchat-Ads-Verbindungen](snapchat-ads-configuring-connections.md)
+ [Lesen aus Snapchat-Ads-Entitäten](snapchat-ads-reading-from-entities.md)
+ [Verbindungsoptionen für Snapchat Ads](snapchat-ads-connection-options.md)
+ [Erstellen eines Snapchat-Ad-Accounts und Konfigurieren der Client-App](connecting-to-data-snapchat-ads-new-account.md)
+ [Erstellen einer App in Ihrem Snapchat-Ads-Konto](connecting-to-data-snapchat-ads-managed-client-application.md)

# AWS Glue Unterstützung für Snapchat-Anzeigen
<a name="snapchat-ads-support"></a>

AWS Glue unterstützt Snapchat-Anzeigen wie folgt:

**Als Quelle unterstützt?**  
Ja. Du kannst AWS Glue ETL-Jobs verwenden, um Daten aus Snapchat Ads abzufragen.

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

**Unterstützte API-Versionen von Snapchat Ads**  
 v1. 

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="snapchat-ads-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 und Amazon EC2. Amazon CloudWatch Logs 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 Snapchat Ads
<a name="snapchat-ads-configuring"></a>

Bevor du die Übertragung von Snapchat Ads verwenden AWS Glue kannst, musst du die folgenden Voraussetzungen erfüllen:

## Mindestanforderungen
<a name="snapchat-ads-configuring-min-requirements"></a>
+  Sie haben ein Snapchat-Ads-Konto. Weitere Informationen zum Erstellen eines Kontos finden Sie unter [Erstellen eines Snapchat-Ad-Accounts und Konfigurieren der Client-App](connecting-to-data-snapchat-ads-new-account.md). 
+  Du hast in deinem Snapchat Ads-Konto eine OAuth2 App erstellt. Diese Integration stellt die Anmeldeinformationen bereit, die AWS Glue für den sicheren Zugriff auf Ihre Daten verwendet, wenn authentifizierte Aufrufe an Ihr Konto erfolgen. Weitere Informationen finden Sie unter [Erstellen einer App in Ihrem Snapchat-Ads-Konto](connecting-to-data-snapchat-ads-managed-client-application.md). 

 Wenn du diese Anforderungen erfüllst, bist du bereit, dich mit deinem Snapchat Ads-Konto AWS Glue zu verbinden. In Snapchat Ads ist eine verbundene App ein Framework, das externen Anwendungen beispielsweise AWS Glue den Zugriff auf deine Snapchat Ads-Daten ermöglicht. 

# Konfigurieren von Snapchat-Ads-Verbindungen
<a name="snapchat-ads-configuring-connections"></a>

 Snapchat Ads unterstützt nur den Gewährungstyp `AUTHORIZATION_CODE`. 

 Dieser Gewährungstyp 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 (AWS Glue verwaltete Client-Anwendung) verlassen, für die er außer der URL seiner Snapchat Ads-Instanz keine OAuth zugehörigen Informationen angeben muss. Die AWS Glue Konsole leitet den Nutzer zu Snapchat Ads weiter, wo er sich anmelden und die angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Snapchat Ads-Instanz gewähren muss. 

 Nutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in Snapchat Ads zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zu Snapchat Ads weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 

 Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken läuft nach 1 Stunde nach der Erstellung ab. Ein neues Zugriffstoken kann mit dem Aktualisierungstoken abgerufen werden. 

 Weitere Informationen zum Erstellen einer verbundenen App für den OAuth Autorisierungscode-Flow findest du unter [Ads API](https://marketingapi.snapchat.com/docs/#authentication). 

Konfigurieren einer Snapchat-Ads-Verbindung:

1.  Erstellen Sie in AWS Secrets Manager ein Geheimnis 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_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 

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** Snapchat Ads aus.

   1. Stellen Sie die Snapchat-Ads-Umgebung bereit.

   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.  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 Snapchat-Ads-Entitäten
<a name="snapchat-ads-reading-from-entities"></a>

 **Voraussetzungen** 
+  Ein Snapchat-Ads--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 | 
| --- | --- | --- | --- | --- | --- | 
| Organisation | Nein | Nein | Nein | Ja | Nein | 
| Anzeigenkonto | Nein | Nein | Nein | Ja | Nein | 
| Creative | Nein | Nein | Nein | Ja | Nein | 
| Medien | Nein | Nein | Nein | Ja | Nein | 
| Kampagne | Ja | Nein | Nein | Ja | Nein | 
| Anzeige unter Anzeigenkonto | Ja | Nein | Nein | Ja | Nein | 
| Anzeige unter Kampagne | Nein | Nein | Nein | Ja | Nein | 
| Ad Squad | Ja | Nein | Nein | Ja | Nein | 
| Segment | Nein | Nein | Nein | Ja | Nein | 

 **Beispiel** 

```
snapchatads_read = glueContext.create_dynamic_frame.from_options(
    connection_type="snapchatAds",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "organization",
        "API_VERSION": "v1"
    }
)
```

 **Snapchat-Ads-Entitäts- und Felddetails** 

 Snapchat Ads lädt die verfügbaren Felder dynamisch unter der ausgewählten Entität. Je nach Datentyp des Felds werden folgende Filteroperatoren unterstützt. 


| Felddatentyp | Unterstützte Filteroperatoren | 
| --- | --- | 
| Boolesch | = | 

 **Partitionierung von Abfragen** 
+  Feldbasierte Partitionierung: Nicht unterstützt. 
+  Datensatzbasierte Partitionierung: Nicht unterstützt. 

# Verbindungsoptionen für Snapchat Ads
<a name="snapchat-ads-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Snapchat Ads aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name der Snapchat-Ads-Entität. Beispiel: ` campaign `. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der REST-API von Snapchat Ads, die Sie verwenden möchten. Der Wert wird v1 sein, da Snapchat Ads derzeit nur Version v1 unterstützt. 
+  `SELECTED_FIELDS` (Liste<Zeichenfolge>) – Standard: leer(SELECT \$1). Zum Lesen verwendet. Kommagetrennte Liste von Spalten, die Sie für die ausgewählte Entität 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. 

# Erstellen eines Snapchat-Ad-Accounts und Konfigurieren der Client-App
<a name="connecting-to-data-snapchat-ads-new-account"></a>

**Topics**
+ [Registrieren bei Snapchat Ads](#snapchat-ads-sign-up)
+ [Schritte zum Erstellen eines Snapchat-Ad-Accounts](#snapchat-ads-create-ad-account)

## Registrieren bei Snapchat Ads
<a name="snapchat-ads-sign-up"></a>

**So registrieren Sie sich bei Snapchat Ads:**

1.  Navigieren Sie zum [Snapchat Ads Manager](https://ads.snapchat.com/). Wählen Sie **Registrieren** neben **Neu bei Snapchat?** aus. 

1.  Folgen Sie auf dem Bildschirm **Account erstellen** den Anweisungen, um Ihren Firmennamen, Ihre E-Mail-Adresse, Ihr Passwort und so weiter einzugeben. Wählen Sie **Weiter** aus. 

1.  Geben Sie auf dem Bildschirm **Ihr Profil erstellen** Werte für „Benutzername“ und „Website“ (optional) ein, und wählen Sie **Konto erstellen** aus. Dadurch haben Sie die Möglichkeit, auf dem Bildschirm **Ihr Profil bearbeiten** ein Profilfoto und eine Bio hinzuzufügen. Wählen Sie **Bestätigen** aus. 

1.  Füllen Sie auf dem Bildschirm mit den **Geschäftsinformationen** die erforderlichen Felder wie Land, Währung, Telefonnummer, GSTIN und so weiter aus, und schließen Sie die Kontoerstellung ab, indem Sie **Weiter** auswählen. 

## Schritte zum Erstellen eines Snapchat-Ad-Accounts
<a name="snapchat-ads-create-ad-account"></a>

**So erstellen Sie ein Snapchat-Ad-Account:**

1.  Melden Sie sich bei **Ads Manager** an. Klicken Sie dann auf das Navigationsmenü oben links und wählen Sie **Ad Accounts** aus. 

1.  Wählen Sie **\$1 Neuer Ad Account** aus. Geben Sie Ihre Daten als Werbetreibender ein: 
   +  Wählen Sie aus, ob Sie eine Agentur sind, die Anzeigen im Namen eines Werbetreibenden kauft. Wenn Sie „Ja“ auswählen, kann Ihre Anzeige abgelehnt werden, wenn darin Targeting-Parameter wie Alter, Geschlecht oder Postleitzahl verwendet werden. Das Mindestalter für das Targeting kann auf 21 Jahre festgelegt werden. 
   +  Wählen Sie aus, ob in Ihrem Ad Account Wohnungs-, Kredit- oder Stellenanzeigen geschaltet werden sollen. Wenn Sie „Ja“ auswählen, kann Ihre Anzeige abgelehnt werden, wenn darin Targeting-Parameter wie Alter, Geschlecht oder Postleitzahl verwendet werden. Das Mindestalter für das Targeting kann auf 21 Jahre festgelegt werden. 
   +  Wählen Sie aus, ob Sie den Ad Account für politische Anzeigen verwenden möchten. Wenn Sie eine politische Anzeige schalten, geben Sie die politische Organisation oder Interessengruppe ein, die die Anzeige bezahlt. Wenn Sie die politische Organisation nicht korrekt angeben, können Ihre Anzeigen abgelehnt werden. Sie müssen zudem das obligatorische, verlinkte Formular zur Überprüfung von politischen Anzeigen ausfüllen, bevor Sie Anzeigen einreichen können. 

1.  Wählen Sie **Account Details** aus, und geben Sie Ihre Ad-Account-Informationen ein:     
<a name="snapchat-ads-account-details"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/connecting-to-data-snapchat-ads-new-account.html)

1.  Wählen Sie **Account erstellen** aus. Ihr Ad Account wird erstellt, und Sie finden es im Abschnitt „Ad Accounts“ im Ads Manager. Um mit der Schaltung von Anzeigen zu beginnen, müssen Sie eine Zahlungsmethode eingeben. Sie können auch Mitglieder zu Ihrem Ad Account hinzufügen. 

1.  Legen Sie fest, ob Sie eine vorhandene Zahlungsmethode verwenden oder eine neue erstellen möchten. Wählen Sie dann **Zahlungsmethode speichern** aus. 

1.  Wählen Sie alle [Mitglieder aus, die Sie zu Ihrem Unternehmen eingeladen haben](https://businesshelp.snapchat.com/s/article/manage-members?language=en_US), um sie dem Ad Account hinzuzufügen. Weitere Informationen zu den Rollen und Berechtigungen, die zugewiesen werden können, finden Sie unter [Unternehmens-Rollen und -Berechtigungen](https://businesshelp.snapchat.com/s/article/roles-permissions?language=en_US). Hinzugefügte Mitglieder können sich dann beim Ads Manager anmelden und auf diesen Ad Account zugreifen. Wenn Sie fertig sind, speichern Sie Ihre Mitglieder. 

 Weitere Informationen zu Werbekonten findest du unter [https://businesshelp.snapchat.com/s/article/roles-permissions?language=en_US](https://businesshelp.snapchat.com/s/article/roles-permissions?language=en_US) https://businesshelp.snapchat.com/s/ article/roles-permissions? language=de\$1DE 

# Erstellen einer App in Ihrem Snapchat-Ads-Konto
<a name="connecting-to-data-snapchat-ads-managed-client-application"></a>

 Vergewissern Sie sich, dass Sie ein Geschäftskonto eingerichtet haben, um den Zugriff auf die Marketing-API von Snapchat zu aktivieren. Führen Sie anschließend folgende Schritte durch: 

1.  Melden Sie sich bei Ads Manager an. Wähle Sie im Menü oben links **Business Dashboard** und dann **Business Details** aus. 

1.  Wählen Sie **\$1 OAuth App**. 

1.  Geben Sie Ihren App-Namen ein und fügen Sie die folgende URL als Snap-Redirect-URI `https://<aws-region>.console.aws.amazon.com/gluestudio/oauth` hinzu. Wenn Sie beispielsweise die Region us-west-1 verwenden, wäre die URL `https://us-west-1.console.aws.amazon.com/gluestudio/oauth) and choose Create OAuth App`. Wählen Sie „** OAuth App erstellen**“. 

1.  Ihre App-Anmeldeinformationen (Client-ID und Client-Geheinmis) werden angezeigt. Speichern Sie diese, da sie für das Erstellen einer Verbindung erforderlich sind. 

# Herstellen einer Verbindung zu Snowflake in AWS Glue Studio
<a name="connecting-to-data-snowflake"></a>

**Anmerkung**  
 Sie können AWS Glue für Spark zum Lesen und Schreiben in Tabellen in Snowflake in AWS Glue 4.0 und späteren Versionen verwenden. Informationen zur programmgesteuerten Konfiguration einer Snowflake-Verbindung mit AWS Glue-Aufträgen finden Sie unter [Redshift-Verbindungen](aws-glue-programming-etl-connect-redshift-home.md). 

 AWS Glue bietet integrierte Unterstützung für Snowflake. AWS Glue Studio stellt eine visuelle Benutzeroberfläche bereit, um eine Verbindung zu Snowflake herzustellen, Datenintegrationsaufträge zu verfassen und diese in der AWS Glue Studio-Serverless-Spark-Laufzeit auszuführen. 

 AWS Glue Studio erstellt eine einheitliche Verbindung für Snowflake. Weitere Informationen finden Sie unter [Überlegungen](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

**Topics**
+ [Erstellen einer Snowflake-Verbindung](creating-snowflake-connection.md)
+ [Erstellen eines Snowflake-Quellknotens](creating-snowflake-source-node.md)
+ [Erstellen eines Snowflake-Zielknotens](creating-snowflake-target-node.md)
+ [Erweiterte Optionen](#creating-snowflake-connection-advanced-options)

# Erstellen einer Snowflake-Verbindung
<a name="creating-snowflake-connection"></a>

**Anmerkung**  
 Bei vereinheitlichten Verbindungen (Verbindung v2) verwenden alle Verbindungen standardmäßig `USERNAME`-, `PASSWORD`-Schlüssel für Anmeldeinformationen der Standardauthentifizierung. Sie können dennoch eine v1-Verbindung über die API mit Geheimnissen erstellen, die `sfUser`, `sfPassword` enthalten. 

 Beim Hinzufügen einer **Datenquelle — Snowflake-Knoten** in AWS Glue Studio können Sie eine bestehende AWS Glue Snowflake-Verbindung auswählen oder eine neue Verbindung erstellen. Sie müssen einen `SNOWFLAKE`-Verbindungstyp auswählen und keinen `JDBC`-Verbindungstyp, der für die Verbindung mit Snowflake konfiguriert ist. Gehen Sie wie folgt vor, um eine Snowflake-Verbindung herzustellen: AWS Glue 

**So erstellen Sie eine Snowflake-Verbindung**

1. Generieren Sie in Snowflake einen Benutzer und ein Passwort. *snowflakeUser* *snowflakePassword* 

1. Ermitteln Sie, mit welchem Snowflake-Warehouse dieser Benutzer interagieren wird,. *snowflakeWarehouse* Stellen Sie es entweder *snowflakeUser* in Snowflake als `DEFAULT_WAREHOUSE` für ein oder merken Sie es sich für den nächsten Schritt.

1. Erstellen Sie in AWS Secrets Manager ein Geheimnis mit Ihren Snowflake-Anmeldeinformationen. Um ein Geheimnis in Secrets Manager zu erstellen, folgen Sie dem Tutorial, das in der AWS Secrets Manager Dokumentation unter [Create an AWS Secrets Manager Secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html#create_secret_cli) verfügbar ist. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Geheimnamen *secretName* für den nächsten Schritt bei. 
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für *snowflakeUser* mit dem Schlüssel. `sfUser`
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für *snowflakePassword* mit dem Schlüssel. `sfPassword`
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für *snowflakeWarehouse* mit dem Schlüssel. `sfWarehouse` Dies ist nicht erforderlich, wenn in Snowflake ein Standardwert festgelegt ist. 

1. Erstellen Sie im AWS Glue Datenkatalog eine Verbindung, indem Sie den Schritten unter Verbindung [hinzufügen](https://docs.aws.amazon.com//glue/latest/dg/console-connections.html) folgen. AWS Glue Behalten Sie nach dem Erstellen der Verbindung den Verbindungsnamen für den nächsten Schritt bei. *connectionName* 
   + Wählen Sie bei der Auswahl eines **Verbindungstyps** Snowflake aus.
   + Geben Sie bei der Auswahl der **Snowflake-URL** den Hostnamen Ihrer Snowflake-Instance an. Die URL verwendet einen Hostnamen im Format `account_identifier.snowflakecomputing.com`.
   + Geben Sie bei der Auswahl eines **AWS Geheimnisses** Folgendes an*secretName*.

# Erstellen eines Snowflake-Quellknotens
<a name="creating-snowflake-source-node"></a>

## Berechtigungen erforderlich
<a name="creating-snowflake-source-node-permissions"></a>

 AWS Glue Studio Jobs, die Snowflake-Datenquellen verwenden, erfordern zusätzliche Berechtigungen. Weitere Informationen zum Hinzufügen von Berechtigungen zu ETL-Aufträgen finden Sie unter [Überprüfen der für ETL-Aufträge erforderlichen IAM-Berechtigungen](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job). 

 `SNOWFLAKE` AWS Glue Verbindungen verwenden ein AWS Secrets Manager Geheimnis, um Anmeldeinformationen bereitzustellen. Ihre Job- und Datenvorschau-Rollen in AWS Glue Studio müssen berechtigt sein, dieses Geheimnis zu lesen.

## Hinzufügen einer Snowflake-Datenquelle
<a name="creating-snowflake-source-node-add"></a>

**Voraussetzungen:**
+ Ein AWS Secrets Manager Geheimnis für Ihre Snowflake-Anmeldeinformationen
+ Eine Datenkatalogverbindung vom Typ Snowflake AWS Glue 

**So fügen Sie einen Knoten **Datenquelle – Snowflake** hinzu:**

1.  Wählen Sie die Verbindung für Ihre Snowflake-Datenquelle. Dabei wird davon ausgegangen, dass die Verbindung bereits besteht und Sie aus bestehenden Verbindungen auswählen können. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **Snowflake-Verbindung erstellen**. Weitere Informationen finden Sie unter [Übersicht über die Verwendung von Konnektoren und Verbindungen](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#using-connectors-overview). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. Informationen zur Verbindung sind sichtbar, einschließlich URL, Sicherheitsgruppen, Subnetz, Verfügbarkeitszone, Beschreibung sowie erstellte (UTC) und letzte aktualisierte (UTC) Zeitstempel. 

1.  Wählen Sie eine Snowflake-Quellenoption: 
   +  **Eine einzelne Tabelle auswählen** – dies ist die Tabelle, die die Daten enthält, auf die Sie aus einer einzelnen Snowflake-Tabelle zugreifen möchten. 
   +  **Benutzerdefinierte Abfrage eingeben** – ermöglicht Ihnen den Zugriff auf einen Datensatz aus mehreren Snowflake-Tabellen basierend auf Ihrer benutzerdefinierten Abfrage. 

1.  Wenn Sie eine einzelne Tabelle ausgewählt haben, geben Sie den Namen eines Snowflake-Schemas ein. 

    Oder wählen Sie **Benutzerdefinierte Abfrage eingeben** aus. Wählen Sie diese Option, um aus mehreren Snowflake-Tabellen auf einen benutzerdefinierten Datensatz zuzugreifen. Wenn Sie diese Option auswählen, geben Sie die Snowflake-Abfrage ein. 

1.  Unter **Leistungs- und Sicherheitsoptionen** (optional) 
   +  **Abfrage-Pushdown aktivieren** – wählen Sie aus, wenn Sie die Arbeit an die Snowflake Instance auslagern möchten. 

1.  Geben Sie in den **benutzerdefinierten Snowflake-Eigenschaften** (optional) nach Bedarf Parameter und Werte ein. 

# Erstellen eines Snowflake-Zielknotens
<a name="creating-snowflake-target-node"></a>

## Berechtigungen erforderlich
<a name="creating-snowflake-target-node-permissions"></a>

 AWS Glue Studio Jobs, die Snowflake-Datenquellen verwenden, erfordern zusätzliche Berechtigungen. Weitere Informationen zum Hinzufügen von Berechtigungen zu ETL-Aufträgen finden Sie unter [Überprüfen der für ETL-Aufträge erforderlichen IAM-Berechtigungen](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job). 

 `SNOWFLAKE` AWS Glue Verbindungen verwenden ein AWS Secrets Manager Geheimnis, um Anmeldeinformationen bereitzustellen. Ihre Job- und Datenvorschau-Rollen in AWS Glue Studio müssen berechtigt sein, dieses Geheimnis zu lesen.

## Hinzufügen eines Snowflake-Datenziels
<a name="creating-snowflake-target-node-add"></a>

**So erstellen Sie einen Snowflake-Zielknoten:**

1.  Wählen Sie eine vorhandene Snowflake-Tabelle als Ziel oder geben Sie einen neuen Tabellennamen ein. 

1.  Wenn Sie den Zielknoten **Datenziel – Snowflake** verwenden, können Sie aus den folgenden Optionen wählen: 
   +  **APPEND** – Wenn eine Tabelle bereits vorhanden ist, übertragen Sie alle neuen Daten als Einfügung in diese Tabelle. Wenn die Tabelle nicht vorhanden ist, erstellen Sie sie und fügen Sie dann alle neuen Daten ein. 
   +  **MERGE** – AWS Glue aktualisiert oder fügt Daten basierend auf den von Ihnen angegebenen Bedingungen an Ihre Zieltabelle an. 

      Wählen Sie die Optionen aus: 
     + **Schlüssel und einfache Aktionen auswählen** – wählen Sie die Spalten, die als übereinstimmende Schlüssel zwischen den Quelldaten und Ihrem Zieldatensatz verwendet werden sollen. 

       Geben Sie bei Übereinstimmung die folgenden Optionen an:
       + Aktualisieren Sie den Datensatz in Ihrem Zieldatensatz mit Daten aus der Quelle.
       + Löschen Sie den Datensatz in Ihrem Zieldatensatz.

       Geben Sie die folgenden Optionen an, wenn keine Übereinstimmung vorliegt:
       + Fügen Sie Quelldaten als neue Zeile in Ihren Zieldatensatz ein.
       + Nichts unternehmen.
     + **Eine benutzerdefinierte MERGE-Anweisung eingeben** – Sie können dann **Zusammenführungs-Anweisung** validieren auswählen, um zu überprüfen, ob die Anweisung gültig oder ungültig ist.
   +  **TRUNCATE** – Wenn bereits eine Tabelle vorhanden ist, kürzen Sie die Tabellendaten, indem Sie zunächst den Inhalt der Zieltabelle löschen. Wenn das Kürzen erfolgreich ist, fügen Sie alle Daten ein. Wenn die Tabelle nicht vorhanden ist, erstellen Sie die Tabelle und fügen Sie alle Daten ein. Wenn das Kürzen nicht erfolgreich ist, schlägt der Vorgang fehl. 
   +  **DROP** – Wenn eine Tabelle bereits vorhanden ist, löschen Sie die Tabellenmetadaten und -daten. Wenn der Löschvorgang erfolgreich ist, fügen Sie alle Daten ein. Wenn die Tabelle nicht vorhanden ist, erstellen Sie die Tabelle und fügen Sie alle Daten ein. Wenn das Löschen nicht erfolgreich ist, schlägt der Vorgang fehl. 

## Erweiterte Optionen
<a name="creating-snowflake-connection-advanced-options"></a>

Weitere Informationen finden Sie im AWS Glue Entwicklerhandbuch unter [Snowflake-Verbindungen](https://docs.aws.amazon.com//glue/latest/dg/aws-glue-programming-etl-connect-snowflake-home.html). 

# Herstellen einer Verbindung mit Stripe in AWS Glue Studio
<a name="connecting-to-data-stripe"></a>

 Stripe ist eine Online-Plattform für die Zahlungsabwicklung und Kreditkartenverarbeitung für Unternehmen. Mit der Stripe-Plattform können Unternehmen Online-Zahlungen akzeptieren, Abonnements (wiederkehrende Abrechnungen) für E-Commerce erstellen und ein Bankkonto einrichten, um Auszahlungen zu erhalten. Stripe unterstützt auch Mehrparteienzahlungen, bei denen Unternehmen ihren Marktplatz einrichten und Zahlungen einziehen können, um diese dann über ein verbundenes Konto an Verkäufer oder Dienstleister auszuzahlen. 

**Topics**
+ [AWS Glue Unterstützung für Stripe](stripe-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](stripe-configuring-iam-permissions.md)
+ [Konfiurieren von Stripe](stripe-configuring.md)
+ [Konfiguration von Stripe-Verbindungen](stripe-configuring-connections.md)
+ [Lesen aus Stripe-Entitäten](stripe-reading-from-entities.md)
+ [Stripe-Verbindungsoptionen](stripe-connection-options.md)
+ [Einschränkungen](stripe-limitations.md)
+ [Erstellen eines neuen Stripe-Kontos und Konfigurieren der Client-App](stripe-new-account-creation.md)

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

AWS Glue unterstützt Stripe wie folgt:

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

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

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

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

 Die folgende Beispielrichtlinie beschreibt die erforderlichen -IAM-Berechtigungen für die Erstellung und Verwendung 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 und Amazon EC2. Amazon CloudWatch Logs 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. 

# Konfiurieren von Stripe
<a name="stripe-configuring"></a>

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

## Mindestanforderungen
<a name="stripe-configuring-min-requirements"></a>
+  Sie müssen über ein Stripe-Konto mit E-Mail und Passwort verfügen. Weitere Informationen finden Sie unter [Erstellen eines neuen Stripe-Kontos und Konfigurieren der Client-App](stripe-new-account-creation.md). 
+  Ihr Stripe-Konto ist für den API-Zugriff aktiviert. Die Nutzung der Stripe-API ist ohne zusätzliche Kosten möglich. 

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

# Konfiguration von Stripe-Verbindungen
<a name="stripe-configuring-connections"></a>

 Stripe unterstützt benutzerdefinierte Authentifizierung. Weitere Informationen zur Generierung der erforderlichen API-Schlüssel für die benutzerdefinierte Autorisierung finden Sie in der [Dokumentation zur STRIPE-REST-API](https://docs.stripe.com/api/authentication). 

Konfigurieren einer Stripe-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_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 

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** Stripe aus.

   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.  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 Stripe-Entitäten
<a name="stripe-reading-from-entities"></a>

 **Voraussetzungen** 
+  Ein Stripe-Objekt, aus dem Sie lesen möchten. 

 **Unterstützte Entitäten** 


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Balance | Nein | Nein | Nein | Ja | Nein | 
| Ausgleichstransaktionen | Ja | Ja | Nein | Ja | Ja | 
| Gebühren | Ja | Ja | Nein | Ja | Ja | 
| Streitfälle | Ja | Ja | Nein | Ja | Ja | 
| Datei-Links | Ja | Ja | Nein | Ja | Ja | 
| PaymentIntents | Ja | Ja | Nein | Ja | Ja | 
| SetupIntents | Ja | Ja | Nein | Ja | Ja | 
| Auszahlungen | Ja | Ja | Nein | Ja | Ja | 
| Erstattungen | Ja | Ja | Nein | Ja | Ja | 
| Produkte | Ja | Ja | Nein | Ja | Ja | 
| Preise | Ja | Ja | Nein | Ja | Ja | 
| Coupons | Ja | Ja | Nein | Ja | Ja | 
| Angebotscodes | Ja | Ja | Nein | Ja | Ja | 
| Steuercodes | Nein | Ja | Nein | Ja | Nein | 
| Steuersätze | Ja | Ja | Nein | Ja | Ja | 
| Versandkosten | Ja | Ja | Nein | Ja | Ja | 
| Sitzungen | Ja | Ja | Nein | Ja | Ja | 
| Gutschriften | Ja | Ja | Nein | Ja | Ja | 
| Customer | Ja | Ja | Nein | Ja | Ja | 
| Rechnungen | Ja | Ja | Nein | Ja | Ja | 
| Rechnungspositionen | Ja | Ja | Nein | Ja | Nein | 
| Plans (Pläne) | Ja | Ja | Nein | Ja | Ja | 
| Angebote | Ja | Ja | Nein | Ja | Nein | 
| Subscriptions (Abonnements) | Ja | Ja | Nein | Ja |  | 
| Abonnementartikel | Nein | Ja | Nein | Ja | Nein | 
| Abonnementpläne | Ja | Ja | Nein | Ja | Ja | 
| Konten | Nein | Ja | Nein | Ja | Ja | 
| Anwendungsgebühren | Ja | Ja | Nein | Ja | Ja | 
| Länderspezifikationen | Nein | Ja | Nein | Ja | Nein | 
| Weiterleitungen | Ja | Ja | Nein | Ja | Ja | 
| Vorzeitige Betrugswarnungen | Ja | Ja | Nein | Ja | Ja | 
| Berichtstypen | Nein | Nein | Nein | Ja | Nein | 

 **Beispiel** 

```
stripe_read = glueContext.create_dynamic_frame.from_options(
    connection_type="stripe",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "coupons",
        "API_VERSION": "v1"
    }
)
```

 **Stripe-Entität und Felddetails** 


| Entität | Feld | Datentyp | Unterstützte Operatoren | 
| --- | --- | --- | --- | 
| Balance |  |  |  | 
|  | available | Auflisten |  | 
|  | connect\$1reserved | Auflisten |  | 
|  | ausstehend | Auflisten |  | 
|  | livemode | Boolesch |  | 
|  | object | Zeichenfolge |  | 
|  | instant\$1available | Auflisten |  | 
|  | issuing | Struct |  | 
| Ausgleichstransaktionen |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | Betrag | Ganzzahl |  | 
|  | available\$1on | DateTime | =, >=, <=,<,> | 
|  | created | DateTime | =, >=, <=,<,> | 
|  | currency | Zeichenfolge |  | 
|  | description | Zeichenfolge |  | 
|  | exchange\$1rate | BigDecimal |  | 
|  | fee | Ganzzahl |  | 
|  | fee\$1details | Auflisten |  | 
|  | net | Ganzzahl |  | 
|  | reporting\$1category | Zeichenfolge |  | 
|  | Quelle | Zeichenfolge | = | 
|  | Status | Zeichenfolge |  | 
|  | type | Zeichenfolge | = | 
|  | cross\$1border\$1classification | Zeichenfolge |  | 
| Gebühren |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | Betrag | Ganzzahl | =, <, > | 
|  | amount\$1captured | Ganzzahl |  | 
|  | amount\$1refunded | Ganzzahl |  | 
|  | Anwendung | Zeichenfolge |  | 
|  | application\$1fee | Zeichenfolge |  | 
|  | application\$1fee\$1amount | Ganzzahl |  | 
|  | balance\$1transaction | Zeichenfolge |  | 
|  | billing\$1details | Struct |  | 
|  | calculated\$1statement\$1descriptor | Zeichenfolge |  | 
|  | captured | Boolesch |  | 
|  | created | DateTime | =, >=, <=,<,> | 
|  | currency | Zeichenfolge |  | 
|  | customer | Zeichenfolge | = | 
|  | description | Zeichenfolge |  | 
|  | Ziel | Zeichenfolge |  | 
|  | dispute | Zeichenfolge |  | 
|  | disputed | Boolesch | = | 
|  | failure\$1balance\$1transaction | Zeichenfolge |  | 
|  | failure\$1code | Zeichenfolge |  | 
|  | failure\$1message | Zeichenfolge |  | 
|  | fraud\$1details | Struct |  | 
|  | Rechnung | Zeichenfolge |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | on\$1behalf\$1of | Zeichenfolge |  | 
|  | order | Zeichenfolge |  | 
|  | outcome | Struct |  | 
|  | paid | Boolesch |  | 
|  | payment\$1intent | Zeichenfolge | = | 
|  | payment\$1method | Zeichenfolge |  | 
|  | payment\$1method\$1details | Struct |  | 
|  | receipt\$1email | Zeichenfolge |  | 
|  | receipt\$1number | Zeichenfolge |  | 
|  | receipt\$1url | Zeichenfolge |  | 
|  | refunded | Boolesch | = | 
|  | refunds | Struct |  | 
|  | review | Zeichenfolge |  | 
|  | shipping | Struct |  | 
|  | Quelle | Struct |  | 
|  | source\$1transfer | Zeichenfolge |  | 
|  | statement\$1descriptor | Zeichenfolge |  | 
|  | statement\$1descriptor\$1suffix | Zeichenfolge |  | 
|  | Status | Zeichenfolge |  | 
|  | Übertragung | Zeichenfolge |  | 
|  | transfer\$1data | Struct |  | 
|  | transfer\$1group | Zeichenfolge | = | 
| Streitfälle |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | Betrag | Ganzzahl | =, <, > | 
|  | balance\$1transaction | Zeichenfolge |  | 
|  | balance\$1transactions | Auflisten |  | 
|  | charge | Zeichenfolge | = | 
|  | created | DateTime | =, >=, <=,<,> | 
|  | currency | Zeichenfolge |  | 
|  | evidence | Struct |  | 
|  | evidence\$1details | Struct |  | 
|  | is\$1charge\$1refundable | Boolesch |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | payment\$1intent | Zeichenfolge | = | 
|  | Grund | Zeichenfolge | = | 
|  | Status | Zeichenfolge |  | 
|  | payment\$1method\$1details | Struct |  | 
| Datei-Links |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | created | DateTime | =, >=, <=,<,> | 
|  | expired | Boolesch | = | 
|  | expires\$1at | DateTime |  | 
|  | file | Zeichenfolge | = | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | URL | Zeichenfolge |  | 
| PaymentIntents |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | Betrag | Ganzzahl |  | 
|  | amount\$1capturable | Ganzzahl |  | 
|  | amount\$1details | Struct |  | 
|  | amount\$1received | Ganzzahl |  | 
|  | Anwendung | Zeichenfolge |  | 
|  | application\$1fee\$1amount | Ganzzahl |  | 
|  | automatic\$1payment\$1methods | Struct |  | 
|  | canceled\$1at | DateTime |  | 
|  | cancellation\$1reason | Zeichenfolge |  | 
|  | capture\$1method | Zeichenfolge |  | 
|  | client\$1secret | Zeichenfolge |  | 
|  | confirmation\$1method | Zeichenfolge |  | 
|  | created | DateTime | =, >=, <=,<,> | 
|  | currency | Zeichenfolge |  | 
|  | customer | Zeichenfolge | = | 
|  | description | Zeichenfolge |  | 
|  | Rechnung | Zeichenfolge |  | 
|  | last\$1payment\$1error | Struct |  | 
|  | latest\$1charge | Zeichenfolge |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | next\$1action | Struct |  | 
|  | on\$1behalf\$1of | Zeichenfolge |  | 
|  | payment\$1method | Zeichenfolge |  | 
|  | payment\$1method\$1options | Struct |  | 
|  | payment\$1method\$1types | Auflisten |  | 
|  | payment\$1method\$1configuration\$1details | Struct |  | 
|  | Verarbeitung | Struct |  | 
|  | receipt\$1email | Zeichenfolge |  | 
|  | review | Zeichenfolge |  | 
|  | setup\$1future\$1usage | Zeichenfolge |  | 
|  | shipping | Struct |  | 
|  | Quelle | Zeichenfolge |  | 
|  | statement\$1descriptor | Zeichenfolge |  | 
|  | statement\$1descriptor\$1suffix | Zeichenfolge |  | 
|  | Status | Zeichenfolge |  | 
|  | transfer\$1data | Struct |  | 
|  | transfer\$1group | Zeichenfolge |  | 
| SetupIntents |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | Anwendung | Zeichenfolge |  | 
|  | cancellation\$1reason | Zeichenfolge |  | 
|  | client\$1secret | Zeichenfolge |  | 
|  | created | DateTime | =, >=, <=,<,> | 
|  | customer | Zeichenfolge | = | 
|  | description | Zeichenfolge |  | 
|  | flow\$1directions | Auflisten |  | 
|  | last\$1setup\$1error | Struct |  | 
|  | latest\$1attempt | Zeichenfolge |  | 
|  | livemode | Boolesch |  | 
|  | mandate | Zeichenfolge |  | 
|  | Metadaten | Struct |  | 
|  | next\$1action | Struct |  | 
|  | on\$1behalf\$1of | Zeichenfolge |  | 
|  | payment\$1method | Zeichenfolge |  | 
|  | payment\$1method\$1options | Struct |  | 
|  | payment\$1method\$1types | Auflisten |  | 
|  | single\$1use\$1mandate | Zeichenfolge |  | 
|  | Status | Zeichenfolge |  | 
|  | Nutzung | Zeichenfolge |  | 
|  | automatic\$1payment\$1methods | Struct |  | 
| Auszahlungen |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | Betrag | Ganzzahl | =, <, > | 
|  | arrival\$1date | DateTime | =, >=, <=,<,> | 
|  | automatic | Boolesch |  | 
|  | balance\$1transaction | Zeichenfolge |  | 
|  | created | DateTime | =, >=, <=,<,> | 
|  | currency | Zeichenfolge |  | 
|  | description | Zeichenfolge | = | 
|  | Ziel | Zeichenfolge |  | 
|  | failure\$1balance\$1transaction | Zeichenfolge |  | 
|  | failure\$1code | Zeichenfolge |  | 
|  | failure\$1message | Zeichenfolge |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | Methode | Zeichenfolge |  | 
|  | original\$1payout | Zeichenfolge |  | 
|  | reversed\$1by | Zeichenfolge |  | 
|  | reconciliation\$1status | Zeichenfolge |  | 
|  | source\$1type | Zeichenfolge |  | 
|  | statement\$1descriptor | Zeichenfolge |  | 
|  | Status | Zeichenfolge |  | 
|  | type | Zeichenfolge |  | 
|  | application\$1fee | Zeichenfolge |  | 
|  | application\$1fee\$1amount | Ganzzahl |  | 
| Erstattungen |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | Betrag | Ganzzahl |  | 
|  | balance\$1transaction | Zeichenfolge |  | 
|  | charge | Zeichenfolge | = | 
|  | created | DateTime | =, >=, <=,<,> | 
|  | currency | Zeichenfolge |  | 
|  | Metadaten | Struct |  | 
|  | destination\$1details | Struct |  | 
|  | payment\$1intent | Zeichenfolge | = | 
|  | Grund | Zeichenfolge |  | 
|  | receipt\$1number | Zeichenfolge |  | 
|  | source\$1transfer\$1reversal | Zeichenfolge |  | 
|  | Status | Zeichenfolge |  | 
|  | transfer\$1reversal | Zeichenfolge |  | 
| Produkte |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | aktiv | Boolesch | = | 
|  | Attribute | Auflisten |  | 
|  | created | DateTime | =, >=, <=,<,> | 
|  | default\$1price | Zeichenfolge |  | 
|  | description | Zeichenfolge |  | 
|  | images | Auflisten |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | Name | Zeichenfolge |  | 
|  | package\$1dimensions | Struct |  | 
|  | shippable | Boolesch |  | 
|  | statement\$1descriptor | Zeichenfolge |  | 
|  | tax\$1code | Zeichenfolge |  | 
|  | type | Zeichenfolge | = | 
|  | unit\$1label | Zeichenfolge |  | 
|  | Aktualisiert | DateTime |  | 
|  | URL | Zeichenfolge |  | 
|  | features | Auflisten |  | 
| Preise |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | aktiv | Boolesch | = | 
|  | billing\$1scheme | Zeichenfolge |  | 
|  | created | DateTime | =, >=, <=,<,> | 
|  | currency | Zeichenfolge | = | 
|  | custom\$1unit\$1amount | Struct |  | 
|  | livemode | Boolesch |  | 
|  | lookup\$1key | Zeichenfolge |  | 
|  | Metadaten | Struct |  | 
|  | Spitzname | Zeichenfolge |  | 
|  | product | Zeichenfolge | = | 
|  | recurring | Struct |  | 
|  | tax\$1behavior | Zeichenfolge |  | 
|  | tiers\$1mode | Zeichenfolge |  | 
|  | transform\$1quantity | Struct |  | 
|  | type | Zeichenfolge | = | 
|  | unit\$1amount | Ganzzahl |  | 
|  | unit\$1amount\$1decimal | Zeichenfolge |  | 
| Coupons |  |  |  | 
|  | Id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | amount\$1off | Ganzzahl |  | 
|  | created | DateTime | =, >=, <=,<,> | 
|  | currency | Zeichenfolge | = | 
|  | duration | Zeichenfolge | = | 
|  | duration\$1in\$1months | Ganzzahl | =,<,> | 
|  | livemode | Boolesch |  | 
|  | max\$1redemptions | Ganzzahl | =, <, > | 
|  | Metadaten | Struct |  | 
|  | Name | Zeichenfolge |  | 
|  | percent\$1off | Double | = | 
|  | redeem\$1by | DateTime | =, >=, <=, <, > | 
|  | times\$1redeemed | Ganzzahl |  | 
|  | valid | Boolesch |  | 
| Angebotscodes |  |  |  | 
|  | Id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | aktiv | Boolesch | = | 
|  | Code | Zeichenfolge | = | 
|  | coupon | Struct |  | 
|  | created | DateTime | =,>=,<=,<,> | 
|  | customer | Zeichenfolge |  | 
|  | expires\$1at | DateTime |  | 
|  | livemode | Boolesch |  | 
|  | max\$1redemptions | Ganzzahl |  | 
|  | Metadaten | Struct |  | 
|  | Einschränkungen | Struct |  | 
|  | times\$1redeemed | Ganzzahl |  | 
| Steuercodes |  |  |  | 
|  | Id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | description | Zeichenfolge |  | 
|  | Name | Zeichenfolge |  | 
| Steuersätze |  |  |  | 
|  | Id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | aktiv | Boolesch | = | 
|  | country | Zeichenfolge |  | 
|  | created | DateTime | =, >=, <=, <, > | 
|  | description | Zeichenfolge |  | 
|  | Anzeige\$1name | Zeichenfolge |  | 
|  | inclusive | Boolesch | = | 
|  | jurisdiction | Zeichenfolge |  | 
|  | jurisdiction\$1level | Zeichenfolge |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | percentage | Double |  | 
|  | effective\$1percentage | Double |  | 
|  | state | Zeichenfolge |  | 
|  | tax\$1type | Zeichenfolge |  | 
| Versandkosten |  |  |  | 
|  | Id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | aktiv | Boolesch | = | 
|  | created | DateTime | =, >=, <=, <, > | 
|  | delivery\$1estimate | Struct |  | 
|  | Anzeige\$1name | Zeichenfolge |  | 
|  | fixed\$1amount | Struct |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | tax\$1behavior | Zeichenfolge |  | 
|  | tax\$1code | Zeichenfolge |  | 
|  | type | Zeichenfolge |  | 
| Sitzungen |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | after\$1expiration | Struct |  | 
|  | allow\$1promotion\$1codes | Boolesch |  | 
|  | amount\$1subtotal | Ganzzahl |  | 
|  | amount\$1total | Ganzzahl |  | 
|  | automatic\$1tax | Struct |  | 
|  | billing\$1address\$1collection | Zeichenfolge |  | 
|  | cancel\$1url | Zeichenfolge |  | 
|  | client\$1reference\$1id | Zeichenfolge |  | 
|  | consent | Struct |  | 
|  | consent\$1collection | Struct |  | 
|  | created | DateTime | =, >=, <=, <, > | 
|  | currency | Zeichenfolge |  | 
|  | custom\$1text | Struct |  | 
|  | customer | Zeichenfolge |  | 
|  | customer\$1creation | Zeichenfolge |  | 
|  | customer\$1details | Struct |  | 
|  | customer\$1email | Zeichenfolge |  | 
|  | expires\$1at | DateTime |  | 
|  | Rechnung | Zeichenfolge |  | 
|  | invoice\$1creation | Struct |  | 
|  | livemode | Boolesch |  | 
|  | locale | Zeichenfolge |  | 
|  | Metadaten | Struct |  | 
|  | mode | Zeichenfolge |  | 
|  | payment\$1intent | Zeichenfolge | = | 
|  | payment\$1link | Zeichenfolge |  | 
|  | payment\$1method\$1collection | Zeichenfolge |  | 
|  | payment\$1method\$1options | Struct |  | 
|  | payment\$1method\$1types | Auflisten |  | 
|  | payment\$1status | Zeichenfolge |  | 
|  | phone\$1number\$1collection | Struct |  | 
|  | recovered\$1from | Zeichenfolge |  | 
|  | setup\$1intent | Zeichenfolge |  | 
|  | shipping\$1address\$1collection | Struct |  | 
|  | shipping\$1cost | Struct |  | 
|  | shipping\$1details | Struct |  | 
|  | shipping\$1options | Auflisten |  | 
|  | Status | Zeichenfolge |  | 
|  | submit\$1type | Zeichenfolge |  | 
|  | Abonnement | Zeichenfolge |  | 
|  | success\$1url | Zeichenfolge |  | 
|  | tax\$1id\$1collection | Struct |  | 
|  | total\$1details | Struct |  | 
|  | URL | Zeichenfolge |  | 
|  | ui\$1mode | Zeichenfolge |  | 
| Gutschriften |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | Betrag | Ganzzahl |  | 
|  | created | DateTime | =, >=, <=, <, > | 
|  | currency | Zeichenfolge |  | 
|  | customer | Zeichenfolge | = | 
|  | customer\$1balance\$1transaction | Zeichenfolge |  | 
|  | discount\$1amount | Ganzzahl |  | 
|  | discount\$1amounts | Auflisten |  | 
|  | Rechnung | Zeichenfolge | = | 
|  | lines | Struct |  | 
|  | livemode | Boolesch |  | 
|  | memo | Zeichenfolge |  | 
|  | Metadaten | Struct |  | 
|  | number | Zeichenfolge |  | 
|  | out\$1of\$1band\$1amount | Ganzzahl |  | 
|  | pdf | Zeichenfolge |  | 
|  | Grund | Zeichenfolge |  | 
|  | refund | Zeichenfolge |  | 
|  | Status | Zeichenfolge |  | 
|  | subtotal | Ganzzahl |  | 
|  | subtotal\$1excluding\$1tax | Ganzzahl |  | 
|  | tax\$1amounts | Auflisten |  | 
|  | total | Ganzzahl |  | 
|  | total\$1excluding\$1tax | Ganzzahl |  | 
|  | type | Zeichenfolge |  | 
|  | voided\$1at | DateTime |  | 
|  | amount\$1shipping | Ganzzahl |  | 
|  | effective\$1at | DateTime |  | 
|  | shipping\$1cost | Struct |  | 
| Customer |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | address | Struct |  | 
|  | balance | Ganzzahl |  | 
|  | created | DateTime |  | 
|  | currency | Zeichenfolge | =, >=, <=, <, > | 
|  | default\$1source | Zeichenfolge |  | 
|  | delinquent | Boolesch | = | 
|  | description | Zeichenfolge |  | 
|  | discount | Struct |  | 
|  | E-Mail | Zeichenfolge | = | 
|  | invoice\$1prefix | Zeichenfolge |  | 
|  | invoice\$1settings | Struct |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | Name | Zeichenfolge |  | 
|  | next\$1invoice\$1sequence | Ganzzahl |  | 
|  | phone | Zeichenfolge |  | 
|  | preferred\$1locales | Auflisten |  | 
|  | shipping | Struct |  | 
|  | tax\$1exempt | Zeichenfolge |  | 
|  | test\$1clock | Zeichenfolge |  | 
| Rechnungen |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | account\$1country | Zeichenfolge |  | 
|  | Konto\$1Bezeichnung | Zeichenfolge |  | 
|  | account\$1tax\$1ids | Auflisten |  | 
|  | amount\$1due | Ganzzahl |  | 
|  | amount\$1paid | Ganzzahl |  | 
|  | amount\$1remaining | Ganzzahl |  | 
|  | Anwendung | Zeichenfolge |  | 
|  | application\$1fee\$1amount | Ganzzahl |  | 
|  | attempt\$1count | Ganzzahl |  | 
|  | attempted | Boolesch | = | 
|  | auto\$1advance | Boolesch | = | 
|  | automatic\$1tax | Struct |  | 
|  | billing\$1reason | Zeichenfolge |  | 
|  | charge | Zeichenfolge |  | 
|  | collection\$1method | Zeichenfolge | = | 
|  | created | DateTime | =, >=, <=, <, > | 
|  | currency | Zeichenfolge |  | 
|  | custom\$1fields | Auflisten |  | 
|  | customer | Zeichenfolge | = | 
|  | customer\$1address | Struct |  | 
|  | customer\$1email | Zeichenfolge |  | 
|  | customer\$1name | Zeichenfolge |  | 
|  | customer\$1phone | Zeichenfolge |  | 
|  | customer\$1shipping | Struct |  | 
|  | customer\$1tax\$1exempt | Zeichenfolge |  | 
|  | customer\$1tax\$1ids | Auflisten |  | 
|  | default\$1payment\$1method | Zeichenfolge |  | 
|  | default\$1source | Zeichenfolge |  | 
|  | default\$1tax\$1rates | Auflisten |  | 
|  | description | Zeichenfolge |  | 
|  | discount | Struct |  | 
|  | discounts | Auflisten |  | 
|  | due\$1date | DateTime | =, >=, <=, <, > | 
|  | ending\$1balance | Ganzzahl |  | 
|  | footer | Zeichenfolge |  | 
|  | from\$1invoice | Struct |  | 
|  | hosted\$1invoice\$1url | Zeichenfolge |  | 
|  | invoice\$1pdf | Zeichenfolge |  | 
|  | last\$1finalization\$1error | Struct |  | 
|  | latest\$1revision | Zeichenfolge |  | 
|  | lines | Struct |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | next\$1payment\$1attempt | DateTime |  | 
|  | number | Zeichenfolge |  | 
|  | on\$1behalf\$1of | Zeichenfolge |  | 
|  | paid | Boolesch | = | 
|  | paid\$1out\$1of\$1band | Boolesch |  | 
|  | payment\$1intent | Zeichenfolge |  | 
|  | payment\$1settings | Struct |  | 
|  | period\$1end | DateTime | =, >=, <=, <, > | 
|  | period\$1start | DateTime | =, >=, <=, <, > | 
|  | post\$1payment\$1credit\$1notes\$1amount | Ganzzahl |  | 
|  | pre\$1payment\$1credit\$1notes\$1amount | Ganzzahl |  | 
|  | quote | Zeichenfolge |  | 
|  | receipt\$1number | Zeichenfolge |  | 
|  | rendering | Struct |  | 
|  | rendering\$1options | Struct |  | 
|  | starting\$1balance | Ganzzahl |  | 
|  | statement\$1descriptor | Zeichenfolge |  | 
|  | Status | Zeichenfolge | = | 
|  | status\$1transitions | Struct |  | 
|  | Abonnement | Zeichenfolge |  | 
|  | subscription\$1details | Struct |  | 
|  | subtotal | Ganzzahl | =, <, > | 
|  | subtotal\$1excluding\$1tax | Ganzzahl |  | 
|  | tax | Ganzzahl |  | 
|  | test\$1clock | Zeichenfolge |  | 
|  | total | Ganzzahl | =, <, > | 
|  | total\$1discount\$1amounts | Auflisten |  | 
|  | total\$1excluding\$1tax | Ganzzahl |  | 
|  | total\$1tax\$1amounts | Auflisten |  | 
|  | transfer\$1data | Struct |  | 
|  | webhooks\$1delivered\$1at | DateTime |  | 
|  | automatically\$1finalizes\$1at | DateTime |  | 
|  | effective\$1at | DateTime |  | 
|  | Aussteller | Struct |  | 
| Rechnungspositionen |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | Betrag | Ganzzahl | =, <, > | 
|  | currency | Zeichenfolge |  | 
|  | customer | Zeichenfolge | = | 
|  | date | DateTime |  | 
|  | description | Zeichenfolge |  | 
|  | discountable | Boolesch |  | 
|  | discounts | Auflisten |  | 
|  | Rechnung | Zeichenfolge | = | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | Zeitraum | Struct |  | 
|  | plan | Struct |  | 
|  | price | Struct |  | 
|  | proration | Boolesch | = | 
|  | quantity | Ganzzahl |  | 
|  | Abonnement | Zeichenfolge |  | 
|  | subscription\$1item | Zeichenfolge |  | 
|  | tax\$1rates | Auflisten |  | 
|  | test\$1clock | Zeichenfolge |  | 
|  | unit\$1amount | Ganzzahl |  | 
|  | unit\$1amount\$1decimal | Zeichenfolge |  | 
| Plans (Pläne) |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | aktiv | Boolesch | = | 
|  | aggregate\$1usage | Zeichenfolge |  | 
|  | Betrag | Ganzzahl |  | 
|  | amount\$1decimal | Zeichenfolge |  | 
|  | billing\$1scheme | Zeichenfolge |  | 
|  | created | DateTime | =, >=, <=, <, > | 
|  | currency | Zeichenfolge | = | 
|  | Intervall | Zeichenfolge | = | 
|  | interval\$1count | Ganzzahl |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | Spitzname | Zeichenfolge |  | 
|  | product | Zeichenfolge | = | 
|  | tiers\$1mode | Zeichenfolge |  | 
|  | transform\$1usage | Struct |  | 
|  | trial\$1period\$1days | Ganzzahl | =, <, > | 
|  | usage\$1type | Zeichenfolge |  | 
|  | Gebührenerfassung | Zeichenfolge |  | 
| Angebote |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | amount\$1subtotal | Ganzzahl |  | 
|  | amount\$1total | Ganzzahl |  | 
|  | Anwendung | Zeichenfolge |  | 
|  | application\$1fee\$1amount | Ganzzahl |  | 
|  | application\$1fee\$1percent | Double |  | 
|  | automatic\$1tax | Struct |  | 
|  | collection\$1method | Zeichenfolge |  | 
|  | computed | Struct |  | 
|  | created | DateTime |  | 
|  | currency | Zeichenfolge |  | 
|  | customer | Zeichenfolge | = | 
|  | default\$1tax\$1rates | Auflisten |  | 
|  | description | Zeichenfolge |  | 
|  | discounts | Auflisten |  | 
|  | expires\$1at | DateTime |  | 
|  | footer | Zeichenfolge |  | 
|  | from\$1quote | Struct |  | 
|  | header | Zeichenfolge |  | 
|  | Rechnung | Zeichenfolge |  | 
|  | invoice\$1settings | Struct |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | number | Zeichenfolge |  | 
|  | on\$1behalf\$1of | Zeichenfolge |  | 
|  | Status | Zeichenfolge | = | 
|  | status\$1transitions | Struct |  | 
|  | Abonnement | Zeichenfolge |  | 
|  | subscription\$1data | Struct |  | 
|  | subscription\$1schedule | Zeichenfolge |  | 
|  | test\$1clock | Zeichenfolge |  | 
|  | total\$1details | Struct |  | 
|  | transfer\$1data | Struct |  | 
| Subscriptions (Abonnements) |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | Anwendung | Zeichenfolge |  | 
|  | application\$1fee\$1percent | Double |  | 
|  | automatic\$1tax | Struct |  | 
|  | billing\$1cycle\$1anchor | DateTime |  | 
|  | billing\$1thresholds | Struct |  | 
|  | cancel\$1at | DateTime |  | 
|  | cancel\$1at\$1period\$1end | Boolesch |  | 
|  | canceled\$1at | DateTime |  | 
|  | collection\$1method | Zeichenfolge | = | 
|  | created | DateTime | =, >=, <=,<,> | 
|  | currency | Zeichenfolge |  | 
|  | current\$1period\$1end | DateTime | =, >=, <= | 
|  | current\$1period\$1start | DateTime | =, >=, <= | 
|  | customer | Zeichenfolge | = | 
|  | days\$1until\$1due | Ganzzahl |  | 
|  | default\$1payment\$1method | Zeichenfolge |  | 
|  | default\$1source | Zeichenfolge |  | 
|  | default\$1tax\$1rates | Auflisten |  | 
|  | description | Zeichenfolge |  | 
|  | discount | Struct |  | 
|  | ended\$1at | DateTime |  | 
|  | Elemente | Struct |  | 
|  | latest\$1invoice | Zeichenfolge |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | next\$1pending\$1invoice\$1item\$1invoice | DateTime |  | 
|  | pause\$1collection | Struct |  | 
|  | payment\$1settings | Struct |  | 
|  | pending\$1invoice\$1item\$1interval | Struct |  | 
|  | pending\$1setup\$1intent | Zeichenfolge |  | 
|  | pending\$1update | Struct |  | 
|  | plan | Struct |  | 
|  | quantity | Ganzzahl |  | 
|  | schedule | Zeichenfolge |  | 
|  | start\$1date | DateTime |  | 
|  | Status | Zeichenfolge | = | 
|  | test\$1clock | Zeichenfolge |  | 
|  | transfer\$1data | Struct |  | 
|  | trial\$1end | DateTime |  | 
|  | trial\$1start | DateTime |  | 
| Abonnementartikel |  |  |  | 
|  | Id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | billing\$1thresholds | Struct |  | 
|  | created | DateTime | =, >=, <=, <, > | 
|  | Metadaten | Struct |  | 
|  | plan | Struct |  | 
|  | price | Struct |  | 
|  | Abonnement | Zeichenfolge |  | 
|  | tax\$1rates | Auflisten |  | 
|  | discounts | Auflisten |  | 
| Abonnementpläne |  |  |  | 
|  | object | Zeichenfolge |  | 
|  | Anwendung | Zeichenfolge |  | 
|  | canceled\$1at | DateTime |  | 
|  | completed\$1at | DateTime |  | 
|  | created | DateTime |  | 
|  | current\$1phase | Struct |  | 
|  | customer | Zeichenfolge | = | 
|  | default\$1settings | Struct |  | 
|  | end\$1behavior | Zeichenfolge |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | phases | Auflisten |  | 
|  | released\$1at | DateTime |  | 
|  | released\$1subscription | Zeichenfolge |  | 
|  | renewal\$1interval | Zeichenfolge |  | 
|  | Status | Zeichenfolge |  | 
|  | Abonnement | Zeichenfolge |  | 
|  | test\$1clock | Zeichenfolge |  | 
| Konten |  |  |  | 
|  | details\$1submitted | Boolesch |  | 
|  | tos\$1acceptance | Struct |  | 
|  | type | Zeichenfolge |  | 
|  | Metadaten | Struct |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | default\$1currency | Zeichenfolge |  | 
|  | Funktionen | Struct |  | 
|  | charges\$1enabled | Boolesch |  | 
|  | Einstellungen | Struct |  | 
|  | requirements | Struct |  | 
|  | payouts\$1enabled | Boolesch |  | 
|  | future\$1requirements | Struct |  | 
|  | external\$1accounts | Struct |  | 
|  | Controller | Struct |  | 
|  | country | Zeichenfolge |  | 
|  | E-Mail | Zeichenfolge |  | 
|  | created | DateTime | =, >=, <=, <, > | 
|  | business\$1profile | Struct |  | 
|  | business\$1type | Zeichenfolge |  | 
|  | company | Struct |  | 
| Anwendungsgebühren |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | Konto | Zeichenfolge |  | 
|  | Betrag | Ganzzahl | =, <, > | 
|  | amount\$1refunded | Ganzzahl | =, <, > | 
|  | Anwendung | Zeichenfolge |  | 
|  | balance\$1transaction | Zeichenfolge |  | 
|  | charge | Zeichenfolge | = | 
|  | created | DateTime |  | 
|  | currency | Zeichenfolge |  | 
|  | livemode | Boolesch |  | 
|  | originating\$1transaction | Zeichenfolge |  | 
|  | refunded | Boolesch | = | 
|  | refunds | Struct |  | 
|  | fee\$1source | Struct |  | 
| Länderspezifikationen |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | default\$1currency | Zeichenfolge |  | 
|  | supported\$1bank\$1account\$1currencies | Struct |  | 
|  | supported\$1payment\$1currencies | Auflisten |  | 
|  | supported\$1payment\$1methods | Auflisten |  | 
|  | supported\$1transfer\$1countries | Auflisten |  | 
|  | verification\$1fields | Struct |  | 
| Weiterleitungen |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | Betrag | Ganzzahl | =, <, > | 
|  | amount\$1reversed | Ganzzahl |  | 
|  | balance\$1transaction | Zeichenfolge |  | 
|  | created | DateTime | =, >=, <=, <, > | 
|  | currency | Zeichenfolge | = | 
|  | description | Zeichenfolge |  | 
|  | Ziel | Zeichenfolge | = | 
|  | destination\$1payment | Zeichenfolge |  | 
|  | livemode | Boolesch |  | 
|  | Metadaten | Struct |  | 
|  | reversals | Struct |  | 
|  | reversed | Boolesch |  | 
|  | source\$1transaction | Zeichenfolge |  | 
|  | source\$1type | Zeichenfolge |  | 
|  | transfer\$1group | Zeichenfolge | = | 
| Vorzeitige Betrugswarnungen |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | actionable | Boolesch |  | 
|  | charge | Zeichenfolge | = | 
|  | created | DateTime | =, >=, <=, <, > | 
|  | fraud\$1type | Zeichenfolge |  | 
|  | livemode | Boolesch |  | 
|  | payment\$1intent | Zeichenfolge | = | 
| Berichtstypen |  |  |  | 
|  | id | Zeichenfolge |  | 
|  | object | Zeichenfolge |  | 
|  | data\$1available\$1end | DateTime |  | 
|  | data\$1available\$1start | DateTime |  | 
|  | default\$1columns | Auflisten |  | 
|  | livemode | Boolesch |  | 
|  | Name | Zeichenfolge |  | 
|  | Aktualisiert | DateTime |  | 
|  | version | Ganzzahl |  | 

 **Partinionieren von Abfragen** 

 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ültigen Wert: `"2024-07-01T00:00:00.000Z"`. 
+  `UPPER_BOUND`: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds. 
+  `NUM_PARTITIONS`: Anzahl der Partitionen. 

 Details zur Unterstützung von Feldern für die entitätsbezogene Partitionierung sind in der folgenden Tabelle aufgeführt. 


| Entity Name | Partitionierungsfeld | Datentyp | 
| --- | --- | --- | 
| Ausgleichstransaktionen | created | DateTime | 
| Gebühren | created | DateTime | 
| Streitfälle | created | DateTime | 
| Datei-Links | created | DateTime | 
| PaymentIntents | created | DateTime | 
| SetupIntents | created | DateTime | 
| Auszahlungen | created | DateTime | 
| Erstattungen | created | DateTime | 
| Produkte | created | DateTime | 
| Preise | created | DateTime | 
| Coupons | created | DateTime | 
| Angebotscodes | created | DateTime | 
| Steuersätze | created | DateTime | 
| Versandkosten | created | DateTime | 
| Sitzungen | created | DateTime | 
| Gutschriften | created | DateTime | 
| Customer | created | DateTime | 
| Rechnungen | created | DateTime | 
| Plans (Pläne) | created | DateTime | 
| Subscriptions (Abonnements) | created | DateTime | 
| Abonnementpläne | created | DateTime | 
| Konten | created | DateTime | 
| Anwendungsgebühren | created | DateTime | 
| Weiterleitungen | created | DateTime | 
| Vorzeitige Betrugswarnungen | created | DateTime | 

 **Beispiel** 

```
stripe_read = glueContext.create_dynamic_frame.from_options(
    connection_type="stripe",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "coupons",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "created"
        "LOWER_BOUND": "2024-05-01T20:55:02.000Z"
        "UPPER_BOUND": "2024-07-11T20:55:02.000Z"
        "NUM_PARTITIONS": "10"
    }
)
```

# Stripe-Verbindungsoptionen
<a name="stripe-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Stripe aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Stripe. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der Stripe-REST-API, die Sie verwenden möchten. 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="stripe-limitations"></a>

Die folgenden Einschränkungen gelten für den Stripe-Connector:
+  Nur die feldbasierte Partitionierung wird vom Connector unterstützt. 
+  Die datensatzbasierte Partitionierung wird vom Connector nicht unterstützt, es besteht keine Möglichkeit, die Gesamtzahl der Datensätze abzurufen. 
+  Der Primärschlüssel-Datentyp ist „Zeichenfolge“, sodass die ID-basierte Partitionierung „Nach Connectoren“ nicht unterstützt. 

# Erstellen eines neuen Stripe-Kontos und Konfigurieren der Client-App
<a name="stripe-new-account-creation"></a>

**Erstellen eines Stripe-Kontos**

1. Wählen Sie auf dem Link **https://dashboard.stripe.com/registrieren.**

1. Geben Sie Ihre E-Mail-Adresse, Ihren vollständigen Namen und Ihr Passwort ein und wählen Sie **Konto erstellen**.

1. Nachdem Sie sich mit dem Konto angemeldet haben, bestätigen Sie das Konto, indem Sie **Gmail öffnen** wählen.

1. Bestätigen Sie das Konto, indem Sie auf den Bestätigungslink klicken, den Sie per E-Mail erhalten haben.

1. Nachdem Sie auf die Option zum Bestätigen der E-Mail-Adresse geklickt haben, werden Sie zu einer anderen Seite weitergeleitet

1. Nachdem Sie auf **Zahlungen aktivieren** geklickt haben, um das Konto zu aktivieren, wird es zur Seite Zahlungen aktivieren (**https://dashboard.stripe.com/welcome**) weitergeleitet. Stellen Sie sicher, dass Sie alle Ihre gültigen Daten eingegeben haben, und klicken Sie anschließend auf **Weiter**.



**Erstellen einer Slack-Entwickler-App**

1. Melden Sie sich bei [Stripe](https://dashboard.stripe.com/login) an.

1. Wählen Sie **Entwickler** aus, wie im folgenden Bild ganz oben angezeigt.

1. Wählen Sie unter „Entwickler“ die Option **API-Schlüssel** aus.

1. Wählen Sie **Testschlüssel anzeigen**, um die API-Schlüssel abzurufen.

# Verbindung zu Teradata Vantage in AWS Glue Studio herstellen
<a name="connecting-to-data-teradata"></a>

 AWS Glue bietet integrierte Unterstützung für Teradata Vantage. AWS Glue Studio stellt eine visuelle Benutzeroberfläche bereit, um eine Verbindung zu Teradata herzustellen, Datenintegrationsaufträge zu verfassen und diese in der AWS Glue Studio-Serverless-Spark-Laufzeit auszuführen. 

 AWS Glue Studio schafft eine einheitliche Verbindung für Teradata Vantage. Weitere Informationen finden Sie unter [Überlegungen](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

**Topics**
+ [Erstellen einer Teradata-Vantage-Verbindung](creating-teradata-connection.md)
+ [Erstellen eines Teradata-Quellknotens](creating-teradata-source-node.md)
+ [Erstellen eines Teradata-Zielknotens](creating-teradata-target-node.md)
+ [Erweiterte Optionen](#creating-teradata-connection-advanced-options)

# Erstellen einer Teradata-Vantage-Verbindung
<a name="creating-teradata-connection"></a>

Um von aus eine Verbindung zu Teradata Vantage herzustellen AWS Glue, müssen Sie Ihre Teradata-Anmeldeinformationen erstellen und in einem AWS Secrets Manager Secret speichern und dieses Secret dann mit einer Teradata-Verbindung verknüpfen. AWS Glue 

**Voraussetzungen:**
+ Wenn Sie über Amazon VPC auf Ihre Teradata-Umgebung zugreifen, konfigurieren Sie Amazon VPC so, dass Ihr AWS Glue Job mit der Teradata-Umgebung kommunizieren kann. Wir raten davon ab, über das öffentliche Internet auf die Teradata-Umgebung zuzugreifen.

  Identifizieren oder erstellen Sie in Amazon VPC eine **VPC**, ein **Subnetz** und eine **Sicherheitsgruppe**, die bei der Ausführung des Jobs verwendet AWS Glue werden. Darüber hinaus muss Amazon VPC so konfiguriert sein, dass der Netzwerkdatenverkehr zwischen Ihrer Teradata-Instance und diesem Standort zugelassen wird. Ihr Auftrag muss eine TCP-Verbindung mit Ihrem Teradata-Client-Port herstellen. Weitere Informationen zu Teradata-Ports finden Sie in der [Teradata-Dokumentation](https://docs.teradata.com/r/Teradata-VantageTM-on-AWS-DIY-Installation-and-Administration-Guide/April-2020/Before-Deploying-Vantage-on-AWS-DIY/Security-Groups-and-Ports).

  Abhängig von Ihrem Netzwerklayout kann eine sichere VPC-Konnektivität Änderungen an Amazon VPC und anderen Netzwerkdiensten erfordern. Weitere Informationen zur Konnektivität finden Sie unter AWS [Konnektivitätsoptionen in der AWS Teradata-Dokumentation](https://docs.teradata.com/r/Teradata-VantageCloud-Enterprise/Get-Started/Connecting-Your-Environment/AWS-Connectivity-Options).

**So konfigurieren Sie eine AWS Glue Teradata-Verbindung:**

1. Identifizieren oder erstellen Sie in Ihrer Teradata-Konfiguration einen Benutzer und ein Passwort, mit dem eine Verbindung hergestellt AWS Glue wird, und. *teradataUser* *teradataPassword* Weitere Informationen finden Sie in der Teradata-Dokumentation unter [Vantage Security Overview.](https://docs.teradata.com/r/Configuring-Teradata-VantageTM-After-Installation/January-2021/Security-Overview/Vantage-Security-Overview)

1. Erstellen Sie AWS Secrets Manager unter Verwendung Ihrer Teradata-Anmeldeinformationen ein Geheimnis. Um ein Geheimnis in Secrets Manager zu erstellen, folgen Sie dem Tutorial, das in der AWS Secrets Manager Dokumentation unter [Create an AWS Secrets Manager Secret](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) verfügbar ist. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Geheimnamen *secretName* für den nächsten Schritt bei. 
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `user` mit dem Wert. *teradataUsername*
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `password` mit dem Wert. *teradataPassword*

1. Stellen Sie in der AWS Glue Konsole eine Verbindung her, indem Sie den Schritten unter folgen. [AWS Glue Verbindung hinzufügen](console-connections.md) Nachdem Sie die Verbindung hergestellt haben, behalten Sie den Verbindungsnamen für den nächsten Schritt bei. *connectionName* 
   + Wählen Sie als **Verbindungstyp** Teradata aus.
   + Wenn Sie die **IDBC-URL** angeben, geben Sie die URL für Ihre Instance an. Sie können auch bestimmte durch Kommas getrennte Verbindungsparameter in Ihrer JDBC-URL fest codieren. Die URL muss dem folgenden Format entsprechen: `jdbc:teradata://teradataHostname/ParameterName=ParameterValue,ParameterName=ParameterValue`

     Zu den unterstützten URL-Parametern gehören:
     + `DATABASE` – Name der Datenbank auf dem Host, auf die standardmäßig zugegriffen werden soll.
     + `DBS_PORT` – der Datenbankport, der verwendet wird, wenn nicht der standardmäßige Port genutzt wird.
   + Wählen Sie bei der Auswahl eines **Anmeldeinformationstyps** die Option **AWS Secrets Manager**und setzen Sie dann **AWS Geheim** auf*secretName*.

1. In den folgenden Situationen ist möglicherweise eine zusätzliche Konfiguration erforderlich:
   + 

     Für Teradata-Instances, die AWS in einer Amazon VPC gehostet werden
     + Sie müssen Amazon VPC-Verbindungsinformationen für die Verbindung bereitstellen, die Ihre AWS Glue Teradata-Sicherheitsanmeldedaten definiert. Wenn Sie Ihre Verbindung erstellen oder aktualisieren, legen Sie **VPC**, **Subnetz** und **Sicherheitsgruppen** in den **Netzwerkoptionen** fest.

# Erstellen eines Teradata-Quellknotens
<a name="creating-teradata-source-node"></a>

## Voraussetzungen
<a name="creating-teradata-source-node-prerequisites"></a>
+ Eine AWS Glue Teradata Vantage-Verbindung, konfiguriert mit einem AWS Secrets Manager Geheimnis, wie im vorherigen Abschnitt beschrieben,. [Erstellen einer Teradata-Vantage-Verbindung](creating-teradata-connection.md)
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Eine Teradata-Tabelle, aus der Sie lesen, oder abfragen möchten. *tableName* *targetQuery*

## Hinzufügen einer Teradata-Datenquelle
<a name="creating-teradata-source-node-add"></a>

**Einen Knoten **Datenquelle – Teradata** fügen Sie wie folgt hinzu:**

1.  Wählen Sie die Verbindung für die Teradata-Datenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **Neue Verbindung erstellen** aus. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Erstellen einer Teradata-Vantage-Verbindung](creating-teradata-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1.  Wählen Sie eine Option für **Teradata-Quelle** aus: 
   +  **Eine einzelne Tabelle auswählen** – rufen Sie alle Daten aus einer einzigen Tabelle ab. 
   +  **Benutzerdefinierte Abfrage eingeben** – rufen Sie einen Datensatz aus mehreren Tabellen ab, basierend auf Ihrer benutzerdefinierten Abfrage. 

1.  Wenn Sie eine einzelne Tabelle ausgewählt haben, geben Sie ein. *tableName* 

    Wenn Sie **Benutzerdefinierte Abfrage eingeben** ausgewählt haben, geben Sie eine SQL-SELECT-Abfrage ein. 

1.  Geben Sie unter **Benutzerdefinierte Teradata-Eigenschaften** nach Bedarf Parameter und Werte ein. 

# Erstellen eines Teradata-Zielknotens
<a name="creating-teradata-target-node"></a>

## Voraussetzungen
<a name="creating-teradata-target-node-prerequisites"></a>
+ Eine AWS Glue Teradata Vantage-Verbindung, konfiguriert mit einem AWS Secrets Manager Geheimnis, wie im vorherigen Abschnitt beschrieben,. [Erstellen einer Teradata-Vantage-Verbindung](creating-teradata-connection.md)
+ Entsprechende Berechtigungen für Ihren Auftrag zum Lesen des von der Verbindung verwendeten Secrets.
+ Eine Teradata-Tabelle, in die Sie schreiben möchten,. *tableName*

## Hinzufügen eines Teradata-Datenziels
<a name="creating-teradata-target-node-add"></a>

**Einen Knoten **Datenziel – Teradata** fügen Sie wie folgt hinzu:**

1.  Wählen Sie die Verbindung für die Teradata-Datenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **Teradata-Verbindung erstellen** aus. Weitere Informationen finden Sie unter [Übersicht über die Verwendung von Konnektoren und Verbindungen](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#using-connectors-overview). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Konfigurieren Sie den **Tabellennamen**, indem Sie Folgendes angeben. *tableName*

1.  Geben Sie unter **Benutzerdefinierte Teradata-Eigenschaften** nach Bedarf Parameter und Werte ein. 

## Erweiterte Optionen
<a name="creating-teradata-connection-advanced-options"></a>

Sie können bei der Erstellung eines Teradata-Knotens erweiterte Optionen angeben. Diese Optionen sind dieselben wie bei der Programmierung AWS Glue für Spark-Skripte.

Siehe [Teradata-Vantage-Verbindungen](aws-glue-programming-etl-connect-teradata-home.md). 

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

Twilio bietet programmierbare Kommunikationstools zum Tätigen und Empfangen von Telefonanrufen, zum Senden und Empfangen von Textnachrichten sowie zum Ausführen anderer Kommunikationsfunktionen mithilfe seines Webdienstes. APIs Twilio APIs unterstützt seine Kommunikationsplattform. Dahinter verbirgt APIs sich eine Softwareschicht, die Kommunikationsnetzwerke auf der ganzen Welt verbindet und optimiert, sodass Ihre Benutzer weltweit jeden anrufen und Nachrichten senden können. Als Twilio-Benutzer können Sie eine Verbindung AWS Glue zu Ihrem Twilio-Konto herstellen. Anschließend können Sie Twilio als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Twilio und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen.

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

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

AWS Glue unterstützt Twilio wie folgt:

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

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

**Unterstützte Twilio-API-Versionen**  
Die folgenden Twilio-API-Versionen werden unterstützt:
+ v1
+ 2010-04-01

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

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Twilio-Konto mit Benutzername und Passwort.
+ Ihr Twilio-Konto ist für den API-Zugriff aktiviert.

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Twilio-Konto herstellen. Für typische Verbindungen müssen Sie in Twilio nichts weiter tun.

# Konfiguration von Twilio-Verbindungen
<a name="twilio-configuring-connections"></a>

Twilio unterstützt Benutzername und Passwort für die Standardauthentifizierung. Die Standardauthentifizierung ist eine einfache Authentifizierungsmethode, bei der Clients Anmeldeinformationen direkt eingeben, um auf geschützte Ressourcen zuzugreifen. AWS Glue kann den Benutzernamen (Konto-SID) und das Passwort (Auth Token) verwenden, um Twilio zu authentifizieren. APIs

[Die öffentliche Twilio-Dokumentation zum Ablauf der Standardauthentifizierung finden Sie unter Standardauthentifizierung \$1 Twilio.](https://www.twilio.com/docs/glossary/what-is-basic-authentication)

Konfigurieren einer Twilio-Verbindung:

1. Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details:
   + Für die Standardauthentifizierung: Das Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit der **Konto-SID** (Benutzername) und dem **Auth-Token** (Passwort) enthalten.
**Anmerkung**  
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 als **Verbindungstyp** Twilio aus.

   1. Geben Sie die `[Edge\$1Location](https://www.twilio.com/docs/global-infrastructure/edge-locations)` der Twilio-Instance an, mit der Sie eine Verbindung herstellen möchten.

   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 Twilio-Entitäten
<a name="twilio-reading-from-entities"></a>

**Voraussetzung**

Ein Twilio-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen wie `SMS-Message` oder `SMS-CountryPricing`.

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


| Entität | Schnittstelle | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | --- | 
| SMS-Message | REST | Ja | Ja | Nein | Ja | Ja | 
| SMS- CountryPricing | REST | Nein | Nein | Nein | Ja | Nein | 
| Voice-Call | REST | Ja | Ja | Nein | Ja | Nein | 
| Voice-Application | REST | Ja | Ja | Nein | Ja | Nein | 
| OutgoingCallerSprach-ID | REST | Ja | Ja | Nein | Ja | Nein | 
| Voice-Queue | REST | Ja | Ja | Nein | Ja | Nein | 
| Conversations-Conversation | REST | Ja | Ja | Nein | Ja | Nein | 
| Conversations-User | REST | Nein | Ja | Nein | Ja | Nein | 
| Conversations-Role | REST | Nein | Ja | Nein | Ja | Nein | 
| Conversations-Configuration | REST | Nein | Nein | Nein | Ja | Nein | 
| Gespräche- AddressConfiguration | REST | Ja | Ja | Nein | Ja | Nein | 
| Gespräche- WebhookConfiguration | REST | Nein | Nein | Nein | Ja | Nein | 
| Gespräche- ParticipantConversation | REST | Nein | Nein | Nein | Ja | Nein | 
| Conversations-Credential | REST | Nein | Ja | Nein | Ja | Nein | 
| Gespräche- ConversationService | REST | Nein | Ja | Nein | Ja | Nein | 

**Beispiel:**

```
twilio_read = glueContext.create_dynamic_frame.from_options(
    connection_type="twilio",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "sms-message",
        "API_VERSION": "2010-04-01",
        "Edge_Location": "sydney.us1"
    }
```

**Twilio-Entitäts- und Felddetails**

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

## Partitionieren von Abfragen
<a name="twilio-reading-partitioning-queries"></a>

**Felder, die Partitionierung unterstützen**:

In Twilio unterstützen die DateTime Datentypfelder die feldbasierte Partitionierung.

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-05-01T20:55:02.000Z"
  ```
+ `UPPER_BOUND`: ein **exklusiver** Obergrenzwert des ausgewählten Partitionsfelds.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
twilio_read = glueContext.create_dynamic_frame.from_options(
    connection_type="twilio",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "sms-message",
        "API_VERSION": "2010-04-01",
        "PARTITION_FIELD": "date_sent"
        "LOWER_BOUND": "2024-05-01T20:55:02.000Z"
        "UPPER_BOUND": "2024-06-01T20:55:02.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Twilio-Verbindungsoptionen
<a name="twilio-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Twilio aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Twilio.
+ `EDGE_LOCATION`(Zeichenfolge) – (Erforderlich) Ein gültiger Twilio-Edge-Standort.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der Twilio-REST-API, die Sie verwenden möchten. Twilio unterstützt zwei API-Versionen: „v1“ und „2010-04-01“.
+ `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 Partitionen zum Lesen.
+ `INSTANCE_URL` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Eine gültige Twilio-Instance-URL.

# Einschränkungen und Hinweise für den Twilio-Connector
<a name="twilio-connector-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für den Twilio-Connector:
+ Die datensatzbasierte Partitionierung wird nicht unterstützt, denn es besteht keine Möglichkeit, die Gesamtzahl der Datensätze aus Twilio abzurufen.
+ Die Felder `date_sent`, `start_time` und `end_time` haben den Datentyp „Datetime“, aber beim Filtern unterstützen sie nur Datumswerte (Zeitkomponenten werden nicht berücksichtigt).
+ Das Filtern der Felder „from“ oder „to“ funktioniert nur, wenn die Werte kein Präfix enthalten (beispielsweise ein Protokoll oder eine Bezeichnung). Wenn ein Präfix existiert, funktioniert das Filtern nach dem entsprechenden Feld nicht. Wenn Sie beispielsweise „to“: „whatsapp:\$114xxxxxxxxxx“ als Filter übergeben, gibt Twilio keine Antwort zurück. Sie müssen „to“: „\$114xxxxxxxx“ übergeben, dann werden Datensätze zurückgegeben, sofern sie existieren.
+ Der Feldfilter „identity“ ist bei der Abfrage der Entität `conversation-participant-conversation` obligatorisch.

# Verbindung zu Vertica in AWS Glue Studio herstellen
<a name="connecting-to-data-vertica"></a>

 AWS Glue bietet integrierte Unterstützung für Vertica. AWS Glue Studio stellt eine visuelle Benutzeroberfläche bereit, um eine Verbindung zu Vertica herzustellen, Datenintegrationsaufträge zu verfassen und diese in der AWS Glue Studio-Serverless-Spark-Laufzeit auszuführen. 

 AWS Glue Studio erstellt eine einheitliche Verbindung für Vertica. Weitere Informationen finden Sie unter [Überlegungen](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

**Topics**
+ [Erstellen einer Vertica-Verbindung](creating-vertica-connection.md)
+ [Erstellen eines Vertica-Quellknotens](creating-vertica-source-node.md)
+ [Erstellen eines Vertica-Zielknotens](creating-vertica-target-node.md)
+ [Erweiterte Optionen](#creating-vertica-connection-advanced-options)

# Erstellen einer Vertica-Verbindung
<a name="creating-vertica-connection"></a>

**Voraussetzungen:**
+ Ein Amazon S3 S3-Bucket oder -Ordner, der als temporärer Speicher verwendet wird, wenn aus der Datenbank gelesen und in die Datenbank geschrieben wird, auf den von*tempS3Path*.
**Anmerkung**  
Wenn Sie Vertica in der Vorschau von AWS Glue Auftragsdaten verwenden, werden temporäre Dateien möglicherweise nicht automatisch entfernt. *tempS3Path* Um sicherzustellen, dass temporäre Dateien entfernt werden, beenden Sie die Datenvorschau-Sitzung direkt, indem Sie im Bereich **Datenvorschau** die Option **Sitzung beenden** wählen.  
Wenn Sie nicht garantieren können, dass die Datenvorschau-Sitzung direkt beendet wird, sollten Sie die Amazon-S3-Lifecycle-Konfiguration so einrichten, dass alte Daten entfernt werden. Wir empfehlen, Daten zu entfernen, die älter als 49 Stunden sind, basierend auf der maximalen Auftragslaufzeit zuzüglich einer Marge. Weitere Informationen zur Konfiguration des Amazon-S3-Lebenszyklus finden Sie in der Amazon-S3-Dokumentation unter [Verwalten Ihres Speicherlebenszyklus](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html).
+ Eine IAM-Richtlinie mit entsprechenden Berechtigungen für Ihren Amazon S3 S3-Pfad, die Sie Ihrer AWS Glue beruflichen Rolle zuordnen können.
+ Wenn sich Ihre Vertica-Instance in einer Amazon VPC befindet, konfigurieren Sie Amazon VPC so, dass Ihr AWS Glue Job mit der Vertica-Instance kommunizieren kann, ohne dass der Datenverkehr das öffentliche Internet durchquert. 

  Identifizieren oder erstellen Sie in Amazon VPC eine **VPC**, ein **Subnetz** und eine **Sicherheitsgruppe**, die bei der Ausführung des Jobs verwendet AWS Glue werden. Darüber hinaus muss Amazon VPC so konfiguriert sein, dass der Netzwerkdatenverkehr zwischen Ihrer Vertica-Instance und diesem Standort zugelassen wird. Ihr Auftrag muss eine TCP-Verbindung mit Ihrem Vertica-Client-Port (Standard 5433) herstellen. Abhängig von Ihrem Netzwerklayout kann dies Änderungen an den Sicherheitsgruppenregeln, dem Netzwerk ACLs, den NAT-Gateways und den Peering-Verbindungen erfordern.

**Eine Verbindung zu Vertica konfigurieren Sie wie folgt:**

1. Erstellen Sie AWS Secrets Manager unter Verwendung Ihrer Vertica-Anmeldeinformationen einen geheimen Schlüssel, und. *verticaUsername* *verticaPassword* Um ein Geheimnis in Secrets Manager zu erstellen, folgen Sie dem Tutorial, das in der AWS Secrets Manager Dokumentation unter [Create an AWS Secrets Manager Secret](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) verfügbar ist. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Geheimnamen *secretName* für den nächsten Schritt bei. 
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `user` mit dem Wert. *verticaUsername*
   + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für den Schlüssel `password` mit dem Wert. *verticaPassword*

1. Stellen Sie in der AWS Glue Konsole eine Verbindung her, indem Sie den Schritten unter folgen. [AWS Glue Verbindung hinzufügen](console-connections.md) Nachdem Sie die Verbindung hergestellt haben, behalten Sie den Verbindungsnamen für den nächsten Schritt bei. *connectionName* 
   + Wählen Sie als **Verbindungstyp** Vertica aus.
   + Geben Sie als **Vertica-Host** den Hostnamen Ihrer Vertica-Installation an.
   + Geben Sie als **Vertica-Port** den Port an, über den Ihre Vertica-Installation verfügbar ist.
   + Geben Sie bei der Auswahl eines **AWS Geheimnisses** Folgendes an*secretName*.

1. In den folgenden Situationen ist möglicherweise eine zusätzliche Konfiguration erforderlich:
   + 

     Für Vertica-Instances, die AWS in einer Amazon VPC gehostet werden
     + Geben Sie Amazon VPC-Verbindungsinformationen für die Verbindung ein, die Ihre AWS Glue Vertica-Sicherheitsanmeldedaten definiert. Wenn Sie Ihre Verbindung erstellen oder aktualisieren, legen Sie **VPC**, **Subnetz** und **Sicherheitsgruppen** in den **Netzwerkoptionen** fest.

Sie müssen die folgenden Schritte ausführen, bevor Sie Ihren Job ausführen können AWS Glue :
+ Erteilen Sie die mit Ihrem AWS Glue Job verknüpfte IAM-Rolle auf*tempS3Path*.
+ Erteilen Sie der mit Ihrem AWS Glue Job verknüpften IAM-Rolle die Leseberechtigung. *secretName*

# Erstellen eines Vertica-Quellknotens
<a name="creating-vertica-source-node"></a>

## Voraussetzungen
<a name="creating-vertica-source-node-prerequisites"></a>
+ Eine AWS Glue Datenkatalogverbindung vom Typ Vertica *connectionName* und ein temporärer Amazon S3 S3-Standort*tempS3Path*, wie im vorherigen Abschnitt beschrieben,[Erstellen einer Vertica-Verbindung](creating-vertica-connection.md).
+ Eine Vertica-Tabelle, aus der Sie lesen*tableName*, oder abfragen möchten. *targetQuery*

## Hinzufügen einer Vertica-Datenquelle
<a name="creating-vertica-source-node-add"></a>

**Einen Knoten **Datenquelle – Vertica** fügen Sie wie folgt hinzu:**

1.  Wählen Sie die Verbindung für Ihre Vertica-Datenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **Vertica-Verbindung erstellen** aus. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Erstellen einer Vertica-Verbindung](creating-vertica-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Wählen Sie die **Datenbank** aus, die Ihre Tabelle enthält.

1. Wählen Sie den **Staging-Bereich in Amazon S3** und geben Sie eine S3A-URI für ein. *tempS3Path*

1. Wählen Sie die **Vertica-Quelle** aus.
   +  **Eine einzelne Tabelle auswählen** – rufen Sie alle Daten aus einer einzigen Tabelle ab. 
   +  **Benutzerdefinierte Abfrage eingeben** – rufen Sie einen Datensatz aus mehreren Tabellen ab, basierend auf Ihrer benutzerdefinierten Abfrage. 

1.  **Wenn Sie eine einzelne Tabelle ausgewählt haben, geben Sie ein Schema ein *tableName* und wählen Sie es optional aus.** 

    Wenn Sie **Benutzerdefinierte Abfrage eingeben** ausgewählt haben, geben Sie eine SQL-SELECT-Abfrage ein und wählen Sie optional ein **Schema** aus. 

1.  Geben Sie unter **Benutzerdefinierte Vertica-Eigenschaften** nach Bedarf Parameter und Werte ein. 

# Erstellen eines Vertica-Zielknotens
<a name="creating-vertica-target-node"></a>

## Voraussetzungen
<a name="creating-vertica-target-node-prerequisites"></a>
+ Eine AWS Glue Datenkatalogverbindung vom Typ Vertica *connectionName* und ein temporärer Amazon S3 S3-Standort*tempS3Path*, wie im vorherigen Abschnitt beschrieben,[Erstellen einer Vertica-Verbindung](creating-vertica-connection.md).

## Hinzufügen eines Vertica-Datenziels
<a name="creating-vertica-target-node-add"></a>

**Einen Knoten **Datenziel – Vertica** fügen Sie wie folgt hinzu:**

1.  Wählen Sie die Verbindung für Ihre Vertica-Datenquelle aus. Da Sie sie erstellt haben, sollte sie in der Dropdown-Liste verfügbar sein. Wenn Sie eine Verbindung erstellen müssen, wählen Sie **Vertica-Verbindung erstellen** aus. Weitere Informationen finden Sie im vorhergehenden Abschnitt [Erstellen einer Vertica-Verbindung](creating-vertica-connection.md). 

    Nachdem Sie eine Verbindung ausgewählt haben, können Sie die Verbindungseigenschaften anzeigen, indem Sie auf **Eigenschaften anzeigen** klicken. 

1. Wählen Sie die **Datenbank** aus, die Ihre Tabelle enthält.

1. Wählen Sie den **Staging-Bereich in Amazon S3** und geben Sie eine S3A-URI für ein. *tempS3Path*

1. **Geben Sie ein *tableName* Schema ein und wählen Sie es optional aus.** 

1.  Geben Sie unter **Benutzerdefinierte Vertica-Eigenschaften** nach Bedarf Parameter und Werte ein. 

## Erweiterte Optionen
<a name="creating-vertica-connection-advanced-options"></a>

Sie können bei der Erstellung eines Vertica-Knotens erweiterte Optionen angeben. Diese Optionen sind dieselben wie bei der Programmierung AWS Glue für Spark-Skripte.

Siehe [Vertica-Verbindungen](aws-glue-programming-etl-connect-vertica-home.md).

# Verbindung herstellen zu WooCommerce
<a name="connecting-to-data-woocommerce"></a>

WooCommerce ist eine flexible Open-Source-Softwarelösung, die für WordPress basierte Websites entwickelt wurde. Es wird häufig zur Erstellung von E-Commerce-Onlineshops verwendet. Mit dieser Softwarelösung lässt sich jede normale Website in einen voll funktionsfähigen Onlineshop verwandeln.

**Topics**
+ [AWS Glue Unterstützung für WooCommerce](woocommerce-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](woocommerce-configuring-iam-permissions.md)
+ [Konfiguration WooCommerce](woocommerce-configuring.md)
+ [WooCommerce Verbindungen konfigurieren](woocommerce-configuring-connections.md)
+ [Aus WooCommerce Entitäten lesen](woocommerce-reading-from-entities.md)
+ [WooCommerce Verbindungsoptionen](woocommerce-connection-options.md)

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

AWS Glue unterstützt WooCommerce wie folgt:

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

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

**Unterstützte WooCommerce API-Versionen**  
Die folgenden WooCommerce API-Versionen werden unterstützt:
+ v3

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="woocommerce-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.

# Konfiguration WooCommerce
<a name="woocommerce-configuring"></a>

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein WooCommerce Konto mit a `consumerKey` und `consumerSecret` a.
+ Ihr WooCommerce Konto hat API-Zugriff mit einer gültigen Lizenz.

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem WooCommerce Konto herstellen. Für typische Verbindungen müssen Sie nichts weiter tun WooCommerce.

# WooCommerce Verbindungen konfigurieren
<a name="woocommerce-configuring-connections"></a>

WooCommerce unterstützt benutzerdefinierte Authentifizierung. Öffentliche WooCommerce Dokumentation zur Generierung der erforderlichen API-Schlüssel für die benutzerdefinierte Autorisierung finden Sie unter [Authentifizierung — WooCommerce REST-API-Dokumentation](https://woocommerce.github.io/woocommerce-rest-api-docs/#authentication).

So konfigurieren Sie eine WooCommerce Verbindung:

1. Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details:
   + Für eine kundenseitig verwaltete verbundene App muss das Geheimnis das Verbrauchergeheimnis der verbundenen App mit `consumerKey` und `consumerSecret` als Schlüssel enthalten. Hinweis: Sie müssen für jede Verbindung in AWS Glue ein Geheimnis erstellen.

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 eines **Verbindungstyps** WooCommerce.

   1. Geben Sie die WooCommerce Instanz `INSTANCE_URL` an, zu der Sie eine Verbindung herstellen möchten.

   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.

# Aus WooCommerce Entitäten lesen
<a name="woocommerce-reading-from-entities"></a>

**Voraussetzung**

Ein WooCommerce Objekt, aus dem Sie lesen möchten. Sie benötigen den Objektnamen wie Gutschein, Bestellung, Produkt usw.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Coupon | Ja | Ja | Ja | Ja | Ja | 
| Coupon insgesamt | Nein | Nein | Nein | Ja | Nein | 
| Kunden insgesamt | Nein | Nein | Nein | Ja | Nein | 
| Order | Ja | Ja | Ja | Ja | Ja | 
| Bestellungen insgesamt | Nein | Nein | Nein | Ja | Nein | 
| Zahlungsgateway | Nein | Nein | Nein | Ja | Nein | 
| Produkt | Ja | Ja | Ja | Ja | Ja | 
| Produktattribut | Ja | Ja | Ja | Ja | Ja | 
| Produktkategorie | Ja | Ja | Ja | Ja | Ja | 
| Produktbewertung | Ja | Ja | Ja | Ja | Ja | 
| Versandklasse des Produkts | Ja | Ja | Ja | Ja | Ja | 
| Produkt-Tag | Ja | Ja | Ja | Ja | Ja | 
| Produktvariation | Ja | Ja | Ja | Ja | Ja | 
| Produkte insgesamt | Nein | Nein | Nein | Ja | Nein | 
| Bericht (Liste) | Nein | Nein | Nein | Ja | Nein | 
| Bewertungen insgesamt | Nein | Nein | Nein | Ja | Nein | 
| Verkaufsbericht | Ja | Nein | Nein | Ja | Nein | 
| Versandmethoden | Nein | Nein | Nein | Ja | Nein | 
| Versandzone | Nein | Nein | Nein | Ja | Nein | 
| Versandzonenstandort | Nein | Nein | Nein | Ja | Nein | 
| Versandzonenmethode | Nein | Nein | Nein | Ja | Nein | 
| Steuersatz | Ja | Ja | Ja | Ja | Ja | 
| Steuerklasse | Nein | Nein | Nein | Ja | Nein | 
| Bericht über Topseller | Ja | Nein | Nein | Ja | Nein | 

**Beispiel:**

```
woocommerce_read = glueContext.create_dynamic_frame.from_options(
    connection_type="glue.spark.woocommerce",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "coupon",
        "API_VERSION": "v3",
        "INSTANCE_URL": "instanceUrl"
    }
```

**WooCommerce Entitäts- und Felddetails**:

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

**Anmerkung**  
Die Datentypen Struct und List werden in den Datentyp String konvertiert, und der DateTime Datentyp wird in der Antwort der Konnektoren in Timestamp konvertiert.

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

**Datensatzbasierte Partitionierung**:

Sie können die zusätzliche Spark-Option `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.

Bei der datensatzbasierten Partitionierung wird die Gesamtzahl der vorhandenen Datensätze von der WooCommerce API abgefragt und durch eine angegebene Zahl dividiert. `NUM_PARTITIONS` Die resultierende Anzahl von Datensätzen wird dann gleichzeitig von jeder Unterabfrage abgerufen.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Die folgenden Entitäten unterstützen die datensatzbasierte Partitionierung:
+ coupon
+ order
+ product
+ product-attribute
+ product-attribute-term
+ product-category
+ product-review
+ product-shipping-class
+ product-tag
+ product-variation
+ tax-rate

Beispiel:

```
woocommerce_read = glueContext.create_dynamic_frame.from_options(
    connection_type="glue.spark.woocommerce",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "coupon",
        "API_VERSION": "v3",
        "INSTANCE_URL": "instanceUrl"
        "NUM_PARTITIONS": "10"
    }
```

**Datensatzbasierte Partitionierung**:

Die ursprüngliche Abfrage ist in `NUM_PARTITIONS` Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.
+ `NUM_PARTITIONS`: Die Anzahl an Partitionen.

Beispiel:

```
WooCommerce_read = glueContext.create_dynamic_frame.from_options(
    connection_type="WooCommerce",
    connection_options={
        "connectionName": "connectionName",
        "REALMID": "1234567890123456789",
        "ENTITY_NAME": "Bill",
        "API_VERSION": "v3",
        "NUM_PARTITIONS": "10"
    }
```

# WooCommerce Verbindungsoptionen
<a name="woocommerce-connection-options"></a>

Im Folgenden finden Sie Verbindungsoptionen für WooCommerce:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in WooCommerce.
+ `API_VERSION`(Zeichenfolge) — (Erforderlich) Wird zum Lesen verwendet. WooCommerce Rest-API-Version, die Sie verwenden möchten.
+ `REALM_ID`(Zeichenfolge) — Eine ID, die ein einzelnes WooCommerce Online-Unternehmen identifiziert, an das Sie Anfragen senden.
+ `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.
+ `INSTANCE_URL`(String) — (Erforderlich) Eine gültige WooCommerce Instanz-URL im Format: https://<instance>.wpcomstaging.com
+ `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen.

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

Zendesk ist eine cloudbasierte Helpdesk-Managementlösung, die anpassbare Tools zum Aufbau eines Kundendienstportals, einer Wissensdatenbank und Online-Communitys bietet.

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

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

AWS Glue unterstützt Zendesk wie folgt:

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

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

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

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

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Zendesk-Konto. Weitere Informationen finden Sie unter [Erstellen eines Zendesk-Kontos](#zendesk-configuring-creating-account).
+ Ihr Zendesk-Konto ist für den API-Zugriff aktiviert.
+ Mit Ihrem Zendesk-Konto können Sie verbundene Apps installieren.

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

## Erstellen eines Zendesk-Kontos
<a name="zendesk-configuring-creating-account"></a>

So erstellen Sie ein Zendesk-Konto:

1. Gehen Sie zur https://www.zendesk.com/in/ Registrierung/

1. Geben Sie die erforderlichen Angaben ein, z. B. geschäftliche E-Mail-Adresse, Vorname, Nachname, Telefonnummer, Berufsbezeichnung, Name Ihres Unternehmens, Anzahl der Mitarbeiter in Ihrem Unternehmen, Passwort und bevorzugte Sprache. Wählen Sie dann **Für Testversion registrieren**.

1. Sobald Ihr Konto erstellt wurde, klicken Sie auf den Bestätigungslink, den Sie erhalten haben, um Ihre E-Mail-Adresse zu bestätigen.

1. Nachdem Sie Ihre geschäftliche E-Mail-Adresse bestätigt haben, werden Sie zu Ihrem Zendesk-Konto weitergeleitet. Wählen Sie die Option **Zendesk kaufen** für Ihren bevorzugten Tarif. Hinweis: Für den Zendesk-Connector wird der Kauf des Suite-Enterprise-Tarifs empfohlen.

## Eine Client-App und OAuth 2.0-Anmeldeinformationen erstellen
<a name="zendesk-configuring-creating-client-app"></a>

So erstellen Sie eine Client-App und OAuth 2.0-Anmeldeinformationen:

1. Melden Sie sich bei Ihrem Zendesk-Konto an, in dem die OAuth 2.0-App erstellt https://www.zendesk.com/in/ werden soll login/

1. Klicken Sie auf das Zahnradsymbol. Wählen Sie den Link **Zum Admin Center**, um die Admin-Center-Seite zu öffnen.

1. **Wählen Sie in der linken Seitenleiste **Apps und Integrationen** und dann > Zendesk-API. **APIs****

1. **Wählen Sie auf der Zendesk-API-Seite den Tab Kunden aus. OAuth **

1. Wählen Sie auf der rechten Seite **OAuth-Client hinzufügen** aus.

1. Füllen Sie die folgenden Felder aus, um einen Client zu erstellen:

   1. Client-Name: Geben Sie einen Namen für Ihre App an. Dies ist der Name, den Benutzer sehen, wenn sie aufgefordert werden, Ihrer Anwendung Zugriff zu gewähren, und wenn sie die Liste der Drittanbieter-Apps überprüfen, die Zugriff auf ihr Zendesk haben.

   1. Beschreibung: optional. Eine kurze Beschreibung Ihrer App, die Benutzer sehen, wenn sie aufgefordert werden, Zugriff darauf zu gewähren.

   1. Unternehmen: optional. Der Name des Unternehmens, den Benutzer sehen, wenn sie aufgefordert werden, Ihrer Anwendung Zugriff zu gewähren. Die Informationen können ihnen helfen zu verstehen, wem sie Zugriff gewähren.

   1. Logo: optional. Dies ist das Logo, das Benutzer sehen, wenn sie aufgefordert werden, Ihrer Anwendung Zugriff zu gewähren. Das Format kann JPG, GIF oder PNG sein. Für beste Ergebnisse laden Sie ein quadratisches Bild hoch. Die Größe wird für die Autorisierungsseite angepasst.

   1. Eindeutiger Bezeichner: Das Feld wird automatisch mit einer neu formatierten Version des Namens ausgefüllt, den Sie für Ihre App eingegeben haben. Sie können ihn auf Wunsch ändern.

   1. Weiterleitung URLs — Geben Sie die URL ein URLs , die Zendesk verwenden soll, um die Entscheidung des Benutzers zu senden, Zugriff auf Ihre Anwendung zu gewähren.

      Zum Beispiel: oauth https://us-east-1.console.aws.amazon.com/gluestudio/

1. Klicken Sie auf **Speichern**.

1. Nach der Aktualisierung der Seite erscheint auf der unteren Seite ein neues, vorab ausgefülltes Feld **Geheimnis**. Dies ist der in der Spezifikation angegebene Wert für „client\$1secret“. OAuth2 Kopieren Sie den Wert in Ihre Zwischenablage und speichern Sie ihn an einem sicheren Ort. Hinweis: Die Zeichen können über die Breite des Textfeldes hinausragen. Stellen Sie daher sicher, dass Sie vor dem Kopieren alles ausgewählt haben.

1. Klicken Sie auf **Speichern**.

# Konfigurieren von Zendesk-Verbindungen
<a name="zendesk-configuring-connections"></a>

Der Zendesk-Connector unterstützt den Autorisierungscode-Gewährungstyp.
+ Dieser Gewährungstyp wird als „dreibeiniges“ angesehen, OAuth da er darauf beruht, dass Benutzer zur Authentifizierung des Benutzers an einen Autorisierungsserver eines Drittanbieters umgeleitet 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 (AWS Glue verwaltete Client-Anwendung) verlassen, für die er außer der URL seiner Zendesk-Instanz keine OAuth weiteren Informationen angeben muss. Die AWS Glue Konsole leitet den Benutzer zu Zendesk weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Zendesk-Instanz gewähren muss.
+ Sie können sich trotzdem dafür entscheiden, Ihre eigene verbundene App in Zendesk zu erstellen und beim Herstellen von Verbindungen über die Konsole Ihre eigene Kunden-ID und Ihr eigenes Kundengeheimnis anzugeben. AWS Glue In diesem Szenario werden Sie weiterhin zu Zendesk weitergeleitet, um sich anzumelden und den Zugriff auf Ihre Ressourcen AWS Glue zu autorisieren.
+ Dieser Gewährungstyp führt zu einem Zugriffstoken. Das Zugriffstoken läuft nie ab.

Eine öffentliche Zendesk-Dokumentation zur Erstellung einer verbundenen App für den OAuth Autorisierungscode-Flow finden Sie unter [OAuth Tokens for](https://developer.zendesk.com/api-reference/ticketing/oauth/grant_type_tokens/) Grant Types.

So konfigurieren Sie eine Zendesk-Verbindung:

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

   1. Für den AuthorizationCode Gewährungstyp: Für eine vom Kunden verwaltete verbundene App sollte das Geheimnis das Consumer Secret der verbundenen App mit einem `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` Schlüssel enthalten.

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

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** Zendesk aus.

   1. Geben Sie die INSTANCE\$1URL von Zendesk an, mit der Sie eine Verbindung herstellen möchten.

   1. Geben Sie die Zendesk-Umgebung an.

   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 Zendesk-Entitäten
<a name="zendesk-reading-from-entities"></a>

**Voraussetzung**

Ein Zendesk-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen wie Ticket, Benutzer oder Artikel, wie in folgender Tabelle angegeben.


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Ticket | Y | Y | Y | Y | N | 
| Benutzer | Y | Y | Y | Y | N | 
| Organisation | Y | Y | Y | Y | N | 
| Artikel | Y | Y | N | Y | N | 
| Ticket-Event | Y | Y | N | Y | N | 
| Ticket-Metrikereignis | Y | Y | N | Y | N | 
| Ticket-Kommentar | Y | Y | Y | Y | N | 
| Ticket-Feld | Y | Y | N | Y | N | 
| Ticket-Metrik | Y | Y | N | Y | N | 
| Ticket-Aktivität | Y | Y | N | Y | N | 
| Ticket überspringen | N | Y | N | Y | N | 
| Group (Gruppieren) | Y | Y | Y | Y | N | 
| Gruppenmitgliedschaft | N | Y | Y | Y | N | 
| Zufriedenheitsbewertung | Y | Y | N | Y | N | 
| Anzeigen | Y | Y | Y | Y | N | 
| Auslöser | Y | Y | Y | Y | N | 
| Auslöserkategorie | N | Y | Y | Y | N | 
| Makro | Y | Y | Y | Y | N | 
| Automatisierung | N | Y | Y | Y | N | 

**Beispiel:**

```
Zendesk_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Zendesk",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v2"
    }
```

**Zendesk-Entitäten und -Felddetails**:

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

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

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

Partitionen werden in Zendesk nicht unterstützt.

# Verbindungsoptionen für Zendesk
<a name="zendesk-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Zendesk aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name Ihres Objekts in Zendesk.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der Zendesk-REST-API, die Sie verwenden möchten. Beispiel: v2.
+ `SELECTED_FIELDS` (Liste<Zeichenfolge>) – Standard: leer(SELECT \$1). Zum Lesen verwendet. Spalten, die Sie für das Objekt auswählen möchten. Beispiel: id, name, url, created\$1at
+ `FILTER_PREDICATE`(Zeichenfolge) – Standard: leer Zum Lesen verwendet. Muss das Spark-SQL-Format aufweisen. Beispiel: group\$1id = 100
+ `QUERY`(Zeichenfolge) – Standard: leer Zum Lesen verwendet. Vollständige Spark-SQL-Abfrage. Beispiel: "SELECT id,url FROM users WHERE role=\$1"end-user\$1""
+ `PARTITION_FIELD`(Zeichenfolge) – Zum Lesen verwendet. Feld, das zur Partitionierung der Abfrage verwendet werden soll. Das Standardfeld ist `update_at` für Entitäten, welche die API für inkrementellen Export unterstützen (`created_at` für `ticket-events` und `time` für `ticket-metric-events`).
+ `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 Partitionsfeldes. Optional; diese Option wird vom Connector verarbeitet, sofern sie nicht in der Auftragsoption angegeben ist. Standardwert – "2024-05-01T20:55:02.000Z
+ `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen. Optional; diese Option wird vom Connector verarbeitet, sofern sie nicht in der Auftragsoption angegeben ist. Standardwert: 1.
+ `IMPORT_DELETED_RECORDS`(Zeichenfolge) – (Standard): FALSE. Zum Lesen verwendet. Zum Abruf der Löschdatensätze während der Abfrage.
+ `ACCESS_TOKEN` – Zugriffstoken, das in der Anforderung verwendet werden soll.
+ `INSTANCE_URL` – URL der Instance, in der der Benutzer die Vorgänge ausführen möchte. Zum Beispiel: https://\$1subdomain\$1/.zendesk.com

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

Die folgenden Einschränkungen gelten für den Zendesk-Connector:
+ Die offsetbasierte Paginierung begrenzt die Anzahl der Seiten, die abgerufen werden können, auf 100. Sie wird jedoch nicht empfohlen, da die Gesamtzahl der abrufbaren Datensätze 10 000 beträgt. Die für den Zendesk-Connector implementierte cursorbasierte Paginierung umgeht diese Einschränkung. Über die Zendesk-API wird nur der Filteroperator EQUAL\$1TO unterstützt.

  Aufgrund dieser Einschränkung wird die Partitionierung für den Zendesk-Connector nicht unterstützt.
+ Für die Entität „Ticket Event“ beträgt das Ratenlimit 10 Anforderungen pro Minute. Beim Ausführen eines AWS Glue ETL-Jobs erhalten Sie möglicherweise die Fehlermeldung 429 (zu viele Anfragen).

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

# Herstellen einer Verbindung mit Zoom Meetings
<a name="connecting-to-data-zoom-meetings"></a>

Zoom Meetings ist eine cloudbasierte Videokonferenzplattform, die für Videokonferenzen, Audiokonferenzen, Webinare, Besprechungsaufzeichnungen und Live-Chats genutzt werden kann.

**Topics**
+ [AWS Glue Unterstützung für Zoom Meetings](zoom-meetings-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](zoom-meetings-configuring-iam-permissions.md)
+ [Konfiguration von Zoom Meetings](zoom-meetings-configuring.md)
+ [Konfigurieren der Zoom-Meetings-Client-App](zoom-meetings-configuring-client-app.md)
+ [Konfigurieren von Zoom-Meetings-Verbindungen](zoom-meetings-configuring-connections.md)
+ [Aus Zoom-Meetings-Entitäten lesen](zoom-meetings-reading-from-entities.md)
+ [Verbindungsoptionen für Zoom Meetings](zoom-meetings-connection-options.md)
+ [Einschränkungen für Zoom Meetings](zoom-meetings-limitations.md)

# AWS Glue Unterstützung für Zoom Meetings
<a name="zoom-meetings-support"></a>

AWS Glue unterstützt Zoom Meetings wie folgt:

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

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

**Unterstützte API-Versionen von Zoom Meetings**  
Die folgenden Versionen der Zoom-Meetings-API werden unterstützt:
+   v2

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="zoom-meetings-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.

# Konfiguration von Zoom Meetings
<a name="zoom-meetings-configuring"></a>

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

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

Die folgenden Anforderungen sind Mindestanforderungen:
+ Sie haben ein Zoom-Meetings-Konto.
+ Ihr Zoom-Konto ist für den API-Zugriff aktiviert.
+ Sie haben in Ihrem Zoom Meetings-Konto eine OAuth2 App erstellt. Diese Integration stellt die Anmeldeinformationen bereit, die für den sicheren Zugriff auf Ihre Daten AWS Glue verwendet werden, wenn authentifizierte Anrufe an Ihr Konto getätigt werden. Weitere Informationen finden Sie unter [Konfigurieren der Zoom-Meetings-Client-App](zoom-meetings-configuring-client-app.md).

Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Zoom Meetings-Konto herstellen. Für typische Verbindungen müssen Sie in Zoom Meetings nichts weiter tun.

# Konfigurieren der Zoom-Meetings-Client-App
<a name="zoom-meetings-configuring-client-app"></a>

1. Melden Sie sich im Zoom App Marketplace an.

1. Wählen Sie **Develop** > **Build App** aus.

1. Wählen Sie **Allgemeine App** für eine OAuth 2.0-basierte App.

1. Fügen Sie auf der Seite mit den **Basisinformationen** Informationen zur App hinzu oder aktualisieren Sie sie, z. B. den Namen der App, die Art und Weise, wie die App verwaltet wird, die App-Anmeldeinformationen und OAuth Informationen.

1. Bestätigen Sie im Abschnitt **Select how the app is managed**, wie Ihre App verwaltet werden soll:

   1. **Admin-managed**: Kontoadministratoren fügen die App hinzu und verwalten sie

   1. **User-managed**: Einzelne Benutzer fügen die App hinzu und verwalten sie. Die App hat nur Zugriff auf die autorisierten Daten des Benutzers.

1. **App Credentials**: Der Erstellungs-Flow generiert automatisch App-Anmeldeinformationen (Client-ID und Client-Geheimnis) für Ihre App.

1. Richten Sie im Bereich OAuth OAuth Informationen Ihre App ein.

   1. **OAuth Weiterleitungs-URL** (erforderlich): Geben Sie Ihre Weiterleitungs-URL oder Ihren Endpunkt ein, um die OAuth Verbindung zwischen Ihrer App und Zoom einzurichten.

   1. **Use Strict Mode URL** (optional)

   1. **Subdomain check** (optional)

   1. **OAuth Zulassungslisten** (erforderlich): Fügen Sie alle eindeutigen Einträge hinzu URLs , die Zoom als gültige Weiterleitungen für Ihre OAuth Flows zulassen soll.

1. Wählen Sie auf der Seite **Scopes** die Zoom-API-Methoden aus, die Ihre App aufrufen darf. Die Bereiche definieren, welche Informationen und Funktionen Ihren Benutzern zur Verfügung stehen. Wählen Sie die folgenden detaillierten Bereiche aus:
   + user:read:list\$1users:admin
   + zoom\$1rooms:read:list\$1rooms:admin
   + group:read:list\$1members:admin
   + group:read:administrator:admin
   + group:read:list\$1groups:admin
   + report:read:admin
   + role:read:list\$1roles, role:read:list\$1roles:admin

   Sobald die Bereiche hinzugefügt wurden, wählen Sie **Continue** und die App ist einsatzbereit.

Weitere Informationen zum OAuth 2.0-Setup finden Sie unter [Integrationen (OAuth Apps)](https://developers.zoom.us/docs/integrations/).

# Konfigurieren von Zoom-Meetings-Verbindungen
<a name="zoom-meetings-configuring-connections"></a>

Zoom Meetings unterstützt den Zuschusstyp AUTHORIZATION\$1CODE für. OAuth2 Die Art des Zuschusses bestimmt, wie mit Zoom Meetings AWS Glue kommuniziert wird, um Zugriff auf Ihre Daten anzufordern.
+ Diese Art der Gewährung gilt als „dreibeiniges“, OAuth da sie 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 Der Benutzer, der eine Verbindung herstellt, muss OAuth zugehörige Informationen wie Client-ID und Client Secret für seine Zoom Meetings-Client-Anwendung angeben. Die AWS Glue Konsole leitet den Benutzer zu Zoom weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Zoom Meetings-Instanz gewähren muss.
+ Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene App in Zoom Meetings zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die AWS Glue Konsole herstellen. In diesem Szenario werden sie weiterhin zu Zoom Meetings weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren.
+ Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.
+ Die öffentliche Dokumentation zu Zoom Meetings zur Erstellung einer verbundenen App für den OAuth Autorisierungscodefluss finden Sie unter [Verwenden von OAuth 2.0](https://developers.zoom.us/docs/api/using-zoom-apis/#using-oauth-20).

So konfigurieren Sie eine Zoom-Meetings-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 das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` 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 als **Verbindungstyp** Zoom Meetings aus.

   1. Geben Sie die Zoom-Meetings-Umgebung an, zu der Sie eine Verbindung herstellen möchten.

   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.

# Aus Zoom-Meetings-Entitäten lesen
<a name="zoom-meetings-reading-from-entities"></a>

**Voraussetzung**

Ein Zoom-Meetings-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen, z. B. `Group` oder `Zoom Rooms`.

**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 | 
| --- | --- | --- | --- | --- | --- | 
| Zoom Rooms | Nein | Ja | Nein | Ja | Nein | 
| Group (Gruppieren) | Nein | Nein | Nein | Ja | Nein | 
| Gruppenmitglied | Ja | Ja | Nein | Ja | Nein | 
| Gruppen-Admin | Nein | Ja | Nein | Ja | Nein | 
| Bericht (täglich) | Ja | Nein | Nein | Ja | Nein | 
| Rollen | Nein | Nein | Nein | Ja | Nein | 
| Benutzer | Ja | Ja | Nein | Ja | Nein | 

**Beispiel:**

```
zoom_read = glueContext.create_dynamic_frame.from_options(
    connection_type="zoom",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "organization",
        "API_VERSION": "v2"
    }
)
```

**Entitäts- und Felddetails von Zoom Meetings**:

Zoom Meetings lädt dynamisch die verfügbaren Felder unter der ausgewählten Entität. Je nach Datentyp des Felds werden die folgenden Filteroperatoren unterstützt.

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

## Partitionierung von Abfragen
<a name="zoom-meetings-reading-partitioning-queries"></a>

Zoom Meetings unterstützt keine filterbasierte Partitionierung oder datensatzbasierte Partitionierung.

# Verbindungsoptionen für Zoom Meetings
<a name="zoom-meetings-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Zoom Meetings aufgeführt:
+ `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Der Name der Zoom-Meetings-Entität. Beispiel, `group`.
+ `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der REST-API von Zoom Meetings, die Sie verwenden möchten. Der Wert wird `v2` sein, da Zoom Meetings derzeit nur Version v2 unterstützt.
+ `SELECTED_FIELDS` (Liste<Zeichenfolge>) – Standard: leer(SELECT \$1). Zum Lesen verwendet. Eine kommagetrennte Liste von Spalten, die Sie für die ausgewählte Entität 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 für Zoom Meetings
<a name="zoom-meetings-limitations"></a>

Im Folgenden finden Sie Einschränkungen oder Hinweise für Zoom Meetings:
+ Zoom Meetings unterstützt „orderby“ nicht.
+ Zoom Meetings unterstützt keine filterbasierte Partitionierung, da es kein Feld gibt, das die erforderlichen Kriterien erfüllen kann.
+ Zoom Meetings unterstützt keine datensatzbasierte Partitionierung, da das Paginierungslimit und die Offset-basierte Paginierung nicht unterstützt werden.

# Hinzufügen einer JDBC-Verbindung mit Ihren eigenen JDBC-Treibern
<a name="console-connections-jdbc-drivers"></a>

 Sie können Ihren eigenen JDBC-Treiber verwenden, wenn Sie eine JDBC-Verbindung verwenden. Wenn der vom AWS Glue Crawler verwendete Standardtreiber keine Verbindung zu einer Datenbank herstellen kann, können Sie Ihren eigenen JDBC-Treiber verwenden. Wenn Sie beispielsweise SHA-256 mit Ihrer Postgres-Datenbank verwenden möchten und ältere Postgres-Treiber dies nicht unterstützen, können Sie Ihren eigenen JDBC-Treiber verwenden. 

## Unterstützte Datenquellen
<a name="w2aac25c27d135b5"></a>


| Unterstützte Datenquellen | Nicht unterstützte Datenquellen | 
| --- | --- | 
| MySQL | Snowflake | 
| Postgres |  | 
| Oracle |  | 
| Redshift |  | 
| SQL Server |  | 
| Aurora\$1 |  | 

 \$1Wird unterstützt, wenn der native JDBC-Treiber verwendet wird. Nicht alle Treiber-Features können genutzt werden. 

## Hinzufügen eines JDBC-Treibers zu einer JDBC-Verbindung
<a name="w2aac25c27d135b9"></a>

**Anmerkung**  
 Wenn Sie sich dafür entscheiden, Ihre eigenen JDBC-Treiberversionen zu verwenden, verbrauchen AWS Glue Crawler Ressourcen in AWS Glue Jobs und Amazon S3 S3-Buckets, um sicherzustellen, dass Ihr bereitgestellter Treiber in Ihrer Umgebung ausgeführt wird. Der zusätzliche Ressourcenverbrauch wird in Ihrem Konto angezeigt. Die Kosten für AWS Glue Crawler und Jobs werden unter der Kategorie „Abrechnung“ aufgeführt. AWS Glue Darüber hinaus bedeutet das Bereitstellen eines eigenen JDBC-Treibers nicht, dass der Crawler in der Lage ist, alle Features des Treibers zu nutzen. 

**So fügen Sie Ihren eigenen JDBC-Treiber zu einer JDBC-Verbindung hinzu:**

1.  Fügen Sie die JDBC-Treiberdatei einem Amazon-S3-Speicherort hinzu. Sie können einen and/or Bucket-Ordner erstellen oder einen vorhandenen and/or Bucket-Ordner verwenden. 

1.  Wählen Sie in der AWS Glue Konsole im Menü auf der linken Seite unter **Datenkatalog** die Option **Verbindungen** aus und erstellen Sie dann eine neue Verbindung. 

1.  Füllen Sie die Felder für **Verbindungseigenschaften** aus und wählen Sie JDBC als **Verbindungstyp** aus. 

1.  Geben Sie unter **Verbindungszugriff** die **JDBC-URL** und den **Namen der JDBC-Treiberklasse** ein – *optional*. Der Name der Treiberklasse muss für eine Datenquelle stehen, die von Crawlern unterstützt wird. AWS Glue   
![\[Der Screenshot zeigt eine Datenquelle mit ausgewähltem JDBC und einer Verbindung im Fenster „Datenquelle hinzufügen“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/add-connection-connection-access.png)

1.  Wählen Sie den Amazon-S3-Pfad, unter dem sich der JDBC-Treiber befindet, im Feld **Amazon-S3-Pfad des JDBC-Treibers aus** – *optional*. 

1.  Füllen Sie die Felder für den Anmeldeinformationstyp aus, wenn Sie einen Benutzernamen, ein Passwort oder ein Secret eingeben. Wenn der Vorgang abgeschlossen ist, wählen Sie **Verbindung erstellen** aus. 
**Anmerkung**  
 Das Testen der Verbindung wird derzeit nicht unterstützt. Beim Crawling der Datenquelle mit einem von Ihnen bereitgestellten JDBC-Treiber überspringt der Crawler diesen Schritt. 

1.  Fügen Sie die neu erstellte Verbindung einem Crawler hinzu. Wählen Sie in der AWS Glue Konsole im linken Menü unter **Datenkatalog** die Option **Crawler** aus und erstellen Sie dann einen neuen Crawler. 

1.  Wählen Sie im Assistenten zum **Hinzufügen von Crawlern** in Schritt 2 die Option **Datenquelle hinzufügen** aus.   
![\[Der Screenshot zeigt eine Datenquelle mit ausgewähltem JDBC und einer Verbindung im Fenster „Datenquelle hinzufügen“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/add-crawler-add-data-source.png)

1.  Wählen Sie **JDBC** als Datenquelle und wählen Sie die Verbindung aus, die in den vorherigen Schritten erstellt wurde. Complete 

1.  Um Ihren eigenen JDBC-Treiber mit einem AWS Glue Crawler zu verwenden, fügen Sie der vom Crawler verwendeten Rolle die folgenden Berechtigungen hinzu:
   +  Gewähren Sie Berechtigungen für die folgenden Auftragsaktionen: `CreateJob`, `DeleteJob`, `GetJob`, `GetJobRun`, `StartJobRun`. 
   +  Gewähren Sie Berechtigungen für IAM-Aktionen: `iam:PassRole` 
   +  Gewähren Sie Berechtigungen für alle Amazon-S3-Aktionen: `s3:DeleteObjects`, `s3:GetObject`, `s3:ListBucket`, `s3:PutObject`. 
   +  Gewähren Sie dem Dienstprinzipal Zugriff auf bucket/folder in der IAM-Richtlinie. 

    Beispiel für eine IAM-Richtlinie: 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "VisualEditor0",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:ListBucket",
           "s3:DeleteObject"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket/driver-parent-folder/driver.jar",
           "arn:aws:s3:::amzn-s3-demo-bucket"
         ]
       }
     ]
   }
   ```

------

    Der AWS Glue Crawler erstellt zwei Ordner: \$1glue\$1job\$1crawler und \$1crawler.

   Wenn sich die Treiber-JAR-Datei im Ordner `s3://amzn-s3-demo-bucket/driver.jar"` befindet, fügen Sie die folgenden Ressourcen hinzu: 

   ```
   "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/_glue_job_crawler/*",
     		 "arn:aws:s3:::amzn-s3-demo-bucket/_crawler/*"
               ]
   ```

   Wenn sich die Treiber-JAR-Datei im Ordner `s3://amzn-s3-demo-bucket/tmp/driver/subfolder/driver.jar"` befindet, fügen Sie die folgenden Ressourcen hinzu: 

   ```
   "Resource": [
                  "arn:aws:s3:::amzn-s3-demo-bucket/tmp/_glue_job_crawler/*",
     		"arn:aws:s3:::amzn-s3-demo-bucket/tmp/_crawler/*"
               ]
   ```

1.  Wenn Sie eine VPC verwenden, müssen Sie den Zugriff auf den AWS Glue Endpunkt zulassen, indem Sie den Schnittstellenendpunkt erstellen und ihn Ihrer Routentabelle hinzufügen. Weitere Informationen finden Sie unter [Erstellen eines Schnittstellen-VPC-Endpunkts für AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/vpc-interface-endpoints.html#vpc-endpoint-create) 

1.  Wenn Sie Verschlüsselung in Ihrem Datenkatalog verwenden, erstellen Sie den AWS KMS Schnittstellenendpunkt und fügen Sie ihn Ihrer Routentabelle hinzu. Weitere Informationen finden Sie unter [Erstellen eines VPC-Endpunkts für AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/kms-vpc-endpoint.html#vpce-create-endpoint). 

# Verwenden von benutzerdefinierten Connectors und Verbindungen mit AWS Glue Studio
<a name="connectors-chapter"></a>

AWS Glue bietet integrierte Unterstützung der gängigsten Datenspeicher (wie Amazon Redshift, Amazon Aurora, Microsoft SQL Server, MySQL, MongoDB und PostgreSQL) über JDBC-Verbindungen. Mit AWS Glue können Sie auch benutzerdefinierte JDBC-Treiber in Ihren ETL-Aufträgen (Extract, Transform, Load) verwenden. Für Datenspeicher, die nicht nativ unterstützt werden, z. B. SaaS Anwendungen, können Sie Connectors verwenden. 

Ein *Connector* ist ein optionales Codepaket für den Zugriff auf Datenspeicher in AWS Glue Studio. Sie können mehrere Connectors abonnieren, die in AWS Marketplace angeboten werden.

Beim Erstellen von ETL-Jobs können Sie einen nativ unterstützten Datenspeicher, einen Connector von AWS Marketplace oder Ihre eigenen benutzerdefinierten Konnektoren verwenden. Wenn Sie einen Connector verwenden, müssen Sie zunächst eine Verbindung für ihn erstellen. Eine *Verbindung* enthält die Eigenschaften, die für das Verbinden mit einem bestimmten Datenspeicher erforderlich sind. Sie verwenden die Verbindung mit Ihren Datenquellen und Datenzielen im ETL-Auftrag. Connectors und Verbindungen ermöglichen zusammen den Zugriff auf die Datenspeicher.

 Die folgenden Verbindungen sind verfügbar, wenn Verbindungen für Konnektoren erstellt werden: 
+  **Amazon Aurora** – eine skalierbare, leistungsstarke relationale Datenbank-Engine mit integrierter Sicherheit, Sicherung und Wiederherstellung sowie speicherinterner Beschleunigung. 
+  **Amazon DocumentDB** — ein skalierbarer, hochverfügbarer und vollständig verwalteter Dokumentendatenbankservice, der MongoDB und SQL unterstützt. APIs 
+  **Amazon Redshift**— ein skalierbarer, hochverfügbarer und vollständig verwalteter Dokumentendatenbankdienst, der MongoDB und SQL APIs unterstützt. 
+  **Azure SQL** – ein cloudbasierter relationaler Datenbankservice von Microsoft Azure, der skalierbare, zuverlässige und sichere Datenspeicher- und Verwaltungsfunktionen bietet. 
+  **Cosmos DB** – ein weltweit verteilter Cloud-Datenbankservice von Microsoft Azure, der skalierbare, leistungsstarke Datenspeicher- und Abfragefunktionen bietet. 
+  **Google BigQuery** — ein serverloses Cloud-Data Warehouse zum Ausführen schneller SQL-Abfragen für große Datensätze. 
+  **JDBC** – ein relationales Datenbankmanagementsystem (RDBMS), das eine Java-API für die Verbindung und Interaktion mit Datenverbindungen verwendet. 
+  **Kafka** – eine Open-Source-Stream-Verarbeitungsplattform, die für Datenstreaming und Messaging in Echtzeit verwendet wird. 
+  **MariaDB** – ein von der Community entwickelter Fork von MySQL, der verbesserte Leistung, Skalierbarkeit und Funktionen bietet. 
+  **MongoDB** – eine plattformübergreifende dokumentenorientierte Datenbank, die eine hohe Skalierbarkeit, Flexibilität und Leistung bietet. 
+  **MongoDB Atlas** — ein cloudbasiertes Database-as-a-Service (DBaaS) -Angebot von MongoDB, das die Verwaltung und Skalierung von MongoDB-Bereitstellungen vereinfacht. 
+  **Microsoft SQL Server** – ein relationales Datenbankmanagementsystem (RDBMS) von Microsoft, das robuste Datenspeicher-, Analyse- und Berichtsfunktionen bietet. 
+  **Mixpanel** – eine Analyseplattform, die Unternehmen dabei hilft, zu analysieren, wie Benutzer mit ihren Websites, mobilen Anwendungen und anderen digitalen Produkten interagieren. 
+  **MySQL** – ein relationales Open-Source-Datenbankmanagementsystem (RDBMS), das häufig in Webanwendungen verwendet wird und für seine Zuverlässigkeit und Skalierbarkeit bekannt ist. 
+  **Netzwerk** – Eine Netzwerkdatenquelle stellt eine über das Netzwerk zugängliche Ressource oder einen Service dar, auf den über eine Datenintegrationsplattform zugegriffen werden kann. 
+  **OpenSearch**— Eine OpenSearch Datenquelle ist eine Anwendung, mit der eine Verbindung hergestellt und Daten von dieser aufgenommen werden OpenSearch können. 
+  **Oracle** – ein relationales Datenbankmanagementsystem (RDBMS) von Oracle, das robuste Datenspeicher-, Analyse- und Berichtsfunktionen bietet. 
+  **PostgreSQL** – ein relationales Open-Source-Datenbankmanagementsystem (RDBMS), das robuste Datenspeicher-, Analyse- und Berichtsfunktionen bietet. 
+  **Salesforce** – Salesforce bietet Software für das Kundenbeziehungsmanagement (CRM), die Sie bei Vertrieb, Kundenservice, E-Commerce und vielem mehr unterstützt. Wenn Sie ein Salesforce-Benutzer sind, können Sie eine Verbindung AWS Glue zu Ihrem Salesforce-Konto herstellen. Anschließend können Sie Salesforce als Datenquelle oder Ziel in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Salesforce und AWS Services oder anderen unterstützten Anwendungen zu übertragen. 
+  **SAP HANA** – eine In-Memory-Datenbank und Analyseplattform, die schnelle Datenverarbeitung, fortschrittliche Analysen und Datenintegration in Echtzeit ermöglicht. 
+  **Snowflake** – ein cloudbasiertes Data Warehouse, das skalierbare, leistungsstarke Datenspeicher- und Analyseservices bietet. 
+  **Teradata** – ein relationales Datenbankmanagementsystem (RDBMS), das leistungsstarke Datenspeicher-, Analyse- und Berichtsfunktionen bietet. 
+  **Vertica** – ein spaltenorientiertes analytisches Data Warehouse, das für Big-Data-Analytik entwickelt wurde und schnelle Abfrageleistung, erweiterte Analysen und Skalierbarkeit bietet. 

# Erstellen von benutzerdefinierten Connectors
<a name="creating-custom-connectors"></a>

Sie können auch einen eigenen Connector erstellen und dann den Connector-Code in AWS Glue Studio hochladen. 

Benutzerdefinierte Connectors sind in AWS Glue Studio über die AWS Glue-Spark-Laufzeit-API integriert. Mit der AWS Glue-Spark-Laufzeit können Sie jeden Connector verbinden, der mit der Schnittstelle von Spark, Athena oder JDBC konform ist. So können Sie jede Verbindungsoption übergeben, die mit dem benutzerdefinierten Connector verfügbar ist. 

Sie können alle Ihre Verbindungseigenschaften mit [AWS Glue-Verbindungen](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html) kapseln und den Verbindungsnamen Ihrem ETL-Auftrag angeben. Durch die Integration mit Data-Catalog-Verbindungen können Sie dieselben Verbindungseigenschaften über mehrere Anrufe in einer einzelnen Spark-Anwendung oder über verschiedene Anwendungen hinweg verwenden.

Sie können zusätzliche Optionen für die Verbindung angeben. Das Auftragsskript, das AWS Glue Studio generiert, enthält einen `Datasource`-Eintrag, der die Verbindung verwendet, um den Connector mit den angegebenen Verbindungsoptionen anzuschließen. Beispiel:

```
Datasource = glueContext.create_dynamic_frame.from_options(connection_type = 
"custom.jdbc", connection_options = {"dbTable":"Account","connectionName":"my-custom-jdbc-
connection"}, transformation_ctx = "DataSource0")
```

**Einen benutzerdefinierten Connector zu AWS Glue Studio hinzufügen**

1. Erstellen Sie den Code für Ihren benutzerdefinierten Connector. Weitere Informationen finden Sie unter [Entwickeln von benutzerdefinierten Connectors](developing-custom-connectors.md).

1. Fügen Sie Ihrem Konnektor Support für AWS Glue-Features hinzu. Hier sind einige Beispiele für diese Features und wie sie innerhalb des Auftragsskripts verwendet werden, das von AWS Glue Studio generiert wird:
   + **Datentypmapping** – Ihr Connector kann den Typ von Spalten umwandeln, während sie aus dem zugrunde liegenden Datenspeicher gelesen werden. Beispiel: Ein `dataTypeMapping` von `{"INTEGER":"STRING"}` konvertiert alle Spalten des Typs `Integer` in Spalten vom Typ `String`, während die Datensätze analysiert und der `DynamicFrame` konstruiert werden. Dies hilft Benutzern, Spalten in Typen ihrer Wahl umzuwandeln.

     ```
     DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type 
     = "custom.jdbc", connection_options = {"dataTypeMapping":{"INTEGER":"STRING"}", 
     connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
     ```
   + **Partitionierung für parallele Lesevorgänge** – AWS Glueermöglicht parallele Datenlesevorgänge aus dem Datenspeicher, indem die Daten in einer Spalte partitioniert werden. Sie müssen die Partitionsspalte, die untere Partitionsgrenze, die obere Partitionsgrenze und die Anzahl der Partitionen angeben. Mit diesem Feature können Sie Datenparallelität und mehrere Spark Executors verwenden, die der Spark-Anwendung zugewiesen sind.

     ```
     DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type 
     = "custom.jdbc", connection_options = {"upperBound":"200","numPartitions":"4",
     "partitionColumn":"id","lowerBound":"0","connectionName":"test-connection-jdbc"},
     transformation_ctx = "DataSource0")
     ```
   + ** AWS Secrets Manager Zum Speichern von Anmeldeinformationen verwenden** — Die Datenkatalogverbindung kann auch eine `secretId` für ein geheimes Geheimnis enthalten, das in gespeichert ist AWS Secrets Manager. In dem AWS Secret können Authentifizierungs- und Anmeldeinformationen sicher gespeichert und zur AWS Glue Laufzeit bereitgestellt werden. Alternativ können Sie auch die `secretId` wie folgt aus dem Spark-Skript angeben:

     ```
     DataSource = glueContext.create_dynamic_frame.from_options(connection_type 
     = "custom.jdbc", connection_options = {"connectionName":"test-connection-jdbc",
      "secretId"-> "my-secret-id"}, transformation_ctx = "DataSource0")
     ```
   + **Quelldaten mit Zeilenprädikaten und Spaltenprojektionen filtern** – Die AWS Glue-Spark-Laufzeit ermöglicht es Benutzern auch, SQL-Abfragen zu senden, um Daten an der Quelle mit Zeilenprädikaten und Spaltenprojektionen zu filtern. Dadurch kann Ihr ETL-Auftrag gefilterte Daten schneller aus Datenspeichern laden, die Push-Downs unterstützen. Eine Beispiel-SQL-Abfrage, die an eine JDBC-Datenquelle weitergegeben wird, lautet:`SELECT id, name, department FROM department WHERE id < 200.`

     ```
     DataSource = glueContext.create_dynamic_frame.from_options(connection_type = 
     "custom.jdbc", connection_options = {"query":"SELECT id, name, department FROM department 
     WHERE id < 200","connectionName":"test-connection-jdbc"}, transformation_ctx = 
     "DataSource0")
     ```
   + **Auftragslesezeichen** – AWS Glueunterstützt das inkrementelle Laden von Daten aus JDBC-Quellen. AWS Glueverfolgt den zuletzt verarbeiteten Datensatz aus dem Datenspeicher und verarbeitet neue Datensätze in den nachfolgenden ETL-Auftragsläufen. Auftragslesezeichen verwenden den Primärschlüssel als Standardspalte für den Lesezeichenschlüssel, vorausgesetzt, diese Spalte wird sequenziell vergrößert oder verringert. Weitere Informationen zu Auftragslesezeichen finden Sie unter [Auftragslesezeichen](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html) im *AWS Glue -Entwicklerhandbuch.*

     ```
     DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = 
     "custom.jdbc", connection_options = {"jobBookmarkKeys":["empno"], "jobBookmarkKeysSortOrder"
     :"asc", "connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
     ```

1. Verpacken Sie den benutzerdefinierten Connector als JAR-Datei und laden Sie die Datei in Amazon S3 hoch.

1. Testen Sie Ihren benutzerdefinierten Connector. Weitere Informationen finden Sie in den Anweisungen GitHub unter [Glue Custom Connectors: Leitfaden für lokale Validierungstests](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/localValidation/README.md).

1. Wählen Sie im Navigationsbereich in der AWS Glue Studio-Konsole **Connectors** aus.

1. Wählen Sie auf der Seite **Connectors** die Option **Create custom Connector (Benutzerdefinierten Connector erstellen)** aus.

1. Geben Sie auf der Seite **Create custom Connector (Benutzerdefinierten Connector erstellen)** Folgendes ein:
   + Den Speicherpfad der JAR-Datei mit dem benutzerdefinierten Code in Amazon S3.
   + Einen Namen für den Connector, der von AWS Glue Studio verwendet wird.
   + Den Connector-Typ, bei dem es sich um **JDBC**, **Spark** oder **Athena** handeln kann.
   + Den Namen des Einstiegspunkts in Ihrem benutzerdefinierten Code, den AWS Glue Studio zur Verwendung des Connectors aufruft. 
     + Für JDBC-Connectors sollte in diesem Feld der Klassenname Ihres JDBC-Treibers eingetragen sein.
     + Bei Spark-Connectors sollte es sich bei diesem Feld um den vollqualifizierten Namen der Datenquellenklasse oder ihren Alias handeln, den Sie beim Laden der Spark-Datenquelle mit dem Operator `format` verwenden.
   + (Nur JDBC) Die Basis-URL, die von der JDBC-Verbindung für den Datenspeicher verwendet wird.
   + (Optional) Eine Beschreibung des benutzerdefinierten Connectors.

1. Wählen Sie **Create Connector (Connector erstellen)** aus. 

1. Erstellen Sie auf der Seite **Connectors (Verbindungen)** eine Verbindung, die diesen Connector verwendet, wie in [Erstellen von Verbindungen für Connectors](creating-connections.md) beschrieben.

## Hinzufügen von Connectors zu AWS Glue Studio
<a name="creating-connectors"></a>

Ein Connector ist ein Stück Programmiercode, das die Kommunikation zwischen dem Datenspeicher und AWS Glue erleichtert. Sie können entweder einen Connector abonnieren, der unter angeboten wird AWS Marketplace, oder Sie können Ihren eigenen benutzerdefinierten Connector erstellen. 

### Konnektoren abonnieren AWS Marketplace
<a name="subscribe-marketplace-connectors"></a>

AWS Glue Studiomacht es einfach, Konnektoren von AWS Marketplace hinzuzufügen.

**Um einen Konnektor von AWS Marketplace bis hinzuzufügen AWS Glue Studio**

1. Wählen Sie im Navigationsbereich in der AWS Glue Studio-Konsole **Connectors** aus.

1. Wählen Sie auf der Seite **Connectors** die Option **Go to AWS Marketplace** (Zu MKT wechseln) aus.

1. Wählen Sie unter **Ausgewählte Produkte** den Connector aus, den Sie verwenden möchten. AWS Marketplace Sie können einen der empfohlenen Konnektoren auswählen oder die Suche verwenden. Sie können nach dem Namen oder Typ des Connectors suchen und Optionen verwenden, um die Suchergebnisse zu verfeinern.

   Wenn Sie einen der ausgewählten Konnektoren verwenden möchten, wählen Sie **Produkt anzeigen** aus. Wenn Sie die Suche verwendet haben, um einen Connector zu finden, wählen Sie den Namen des Connectors aus.

1. Die Registerkarten auf der Produktseite für den Connector enthalten Informationen zum Connector. Wenn Sie sich entscheiden, diesen Connector zu kaufen, wählen Sie **Continue to Subscribe (Weiter zum Abonnement)** aus.

1. Geben Sie die Zahlungsinformationen ein und wählen Sie dann **Continue to Configure (Weiter zur Konfiguration)** aus. 

1. Klicken Sie auf der Seite **Configure this software (Diese Software konfigurieren)** die Bereitstellungsmethode und die Version des Connectors aus, die verwendet werden soll. Wählen Sie dann **Continue to Launch (Weiter zum Start)** aus.

1. Auf der Seite **Launch this software (Diese Software starten)** können Sie die **Usage Instructions (Nutzungsanweisungen)** des Connector-Anbieters ansehen. Um fortzufahren, wählen Sie **Activate connection in AWS Glue Studio (Verbindung in Glue Studio aktivieren)** aus.

   Nach kurzer Zeit zeigt die Konsole die Seite **Create marketplace connection (Marketplace-Verbindung herstellen)** in AWS Glue Studio an.

1. Erstellen Sie eine Verbindung, die diesen Connector verwendet, wie in [Erstellen von Verbindungen für Connectors](creating-connections.md) beschrieben. 

   Alternativ können Sie auch **Activate connector only (Nur Connector aktivieren)** auswählen, um das Erstellen einer Verbindung zu überspringen. Sie müssen eine Verbindung zu einem späteren Zeitpunkt erstellen, bevor Sie den Connector verwenden können.

# Erstellen von Verbindungen für Connectors
<a name="creating-connections"></a>

Eine AWS Glue Verbindung ist ein Datenkatalogobjekt, das Verbindungsinformationen für einen bestimmten Datenspeicher speichert. In Verbindungen werden Anmeldeinformationen, URI-Zeichenfolgen, Virtual Private Cloud (VPC)-Informationen und vieles mehr gespeichert. Das Erstellen von Verbindungen im Data Catalog spart den Aufwand, alle Verbindungsdetails jedes Mal anzugeben, wenn Sie einen Auftrag erstellen.

**Eine Verbindung für einen Connector erstellen**

1. Wählen Sie in der AWS Glue Studio Konsole im Navigationsbereich der Konsole **Connectors** aus. Wählen Sie im Abschnitt **Verbindungen** die Option **Verbindung erstellen** aus. 

1. Wählen Sie in Schritt 1 des **Datenverbindung erstellen**-Assistenten die Datenquelle aus, für die Sie eine Verbindung erstellen möchten. Es gibt mehrere Möglichkeiten, die verfügbaren Datenquellen anzuzeigen. Unter anderem Folgende: 
   + Filtern Sie die verfügbaren Datenquellen durch die Auswahl einer Registerkarte. Standardmäßig ist **Alle Konnektoren** ausgewählt.
   + Aktivieren Sie **Liste**, um die Datenquellen als Liste anzuzeigen, oder wechseln Sie zurück zu **Raster**, um die verfügbaren Connectors im Rasterlayout anzuzeigen.
   + Mit der Suchleiste können Sie die Liste der Datenquellen eingrenzen. Während der Eingabe werden Suchtreffer angezeigt und nicht übereinstimmende Quellen werden aus der Ansicht entfernt.

    Nachdem Sie die Datenquelle ausgewählt haben, gehen Sie auf **Weiter**. 

1. Konfigurieren Sie die Verbindung in Schritt 2 des Assistenten. 

   Geben Sie die Verbindungsdetails ein. Je nach ausgewähltem Verbindungstyp werden Sie aufgefordert, zusätzliche Informationen einzugeben:  
![\[Der Screenshot zeigt die Seite „Connectors“ und den Abschnitt „Verbindungen“. Die Schaltfläche Verbindung erstellen befindet sich in einem roten Feld. Wählen Sie Verbindung erstellen aus, um den Verbindungsassistenten zu starten.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/connections-create-connection.png)

1.  Wählen Sie in Schritt 1 des **Datenverbindung erstellen**-Assistenten die Datenquelle aus, für die Sie eine Verbindung erstellen möchten. Es gibt mehrere Möglichkeiten, die verfügbaren Datenquellen anzuzeigen. Standardmäßig werden Ihnen alle verfügbaren Datenquellen in einem Rasterlayout angezeigt. Sie können auch:
   + Aktivieren Sie **Liste**, um die Datenquellen als Liste anzuzeigen, oder wechseln Sie zurück zu **Raster**, um die verfügbaren Connectors im Rasterlayout anzuzeigen.
   + Mit der Suchleiste können Sie die Liste der Datenquellen eingrenzen. Während der Eingabe werden Suchtreffer angezeigt und nicht übereinstimmende Quellen werden aus der Ansicht entfernt.  
![\[Der Screenshot zeigt die Suchleiste und die Raster-Liste-Umschaltfläche.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/connections-create-step-1-view.png)

    Nachdem Sie die Datenquelle ausgewählt haben, gehen Sie auf **Weiter**. 

1. Konfigurieren Sie die Verbindung in Schritt 2 des Assistenten. 

   Geben Sie die Verbindungsdetails ein. Je nachdem, welchen Verbindungstyp Sie ausgewählt haben, werden Sie möglicherweise aufgefordert, zusätzliche Informationen einzugeben: Dazu können folgende Angaben zählen:
   +  **Verbindungsdetails** – Diese Felder ändern sich je nach der Datenquelle, zu der Sie eine Verbindung herstellen. Wenn Sie beispielsweise eine Verbindung zu Amazon-DocumentDB-Datenbanken herstellen, geben Sie die Amazon-DocumentDB-URL ein. Wenn Sie eine Verbindung herstellen Amazon Aurora, wählen Sie die Datenbankinstanz aus und geben den Datenbanknamen ein. Die folgenden Verbindungsdetails sind erforderlich für Amazon Aurora:   
![\[Der Screenshot zeigt die Verbindungsdetails, die für die Konfiguration Amazon Aurora als Datenquelle erforderlich sind.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/connections-create-step-2-configure.png)
   +  Anmeldeinformationstyp: Sie haben die Wahl zwischen **Benutzername und Passwort** oder ** AWS Secrets Manager**. Geben Sie die angeforderten Authentifizierungsinformationen ein.
   + Geben Sie für Connectors, die JDBC verwenden, die Informationen ein, die zum Erstellen der JDBC-URL für den Datenspeicher erforderlich sind.
   + Wenn Sie eine Virtual Private Cloud (VPC) verwenden, geben Sie die Netzwerkinformationen für Ihre VPC ein.

1. Legen Sie in Schritt 3 des Assistenten die Verbindungseigenschaften fest. Optional können Sie bei diesem Schritt eine Beschreibung und Tags hinzufügen. Der Name ist erforderlich und ist bereits mit einem Standardwert gefüllt. Wählen Sie **Weiter** aus.

1. Überprüfen Sie die Verbindungsquelle, die Details und die Eigenschaften. Wenn Sie Änderungen vornehmen müssen, wählen Sie für den entsprechenden Schritt im Assistenten die Option **Bearbeiten** aus. Wenn Sie fertig sind, wählen Sie **Verbindung erstellen** aus. 

   Wählen Sie **Create Connection (Verbindung erstellen)** aus.

   Sie werden zur Seite **Connectors** zurückgeleitet und das Informationsbanner gibt die Verbindung an, die erstellt wurde. Sie können die Verbindung jetzt in Ihren AWS Glue Studio -Aufträgen verwenden.

# Erstellen einer Kafka-Verbindung
<a name="creating-connections-kafka"></a>

 Wenn Sie eine Kafka-Verbindung erstellen, wählen Sie **Kafka** im Dropdown-Menü und es werden zusätzliche zu konfigurierende Einstellungen angezeigt: 
+  Details zum Kafka-Cluster 
+  Authentifizierung 
+  Verschlüsselung 
+  Netzwerkoptionen 

 **Konfigurieren der Details des Kafka-Clusters** 

1.  Wählen Sie den Clusterstandort aus. Sie können zwischen einem von **Amazon verwalteten Streaming für Apache Kafka (MSK)-Cluster** oder einem **vom Kunden verwalteten Apache Kafka-Cluster** wählen. Weitere Informationen zu von Amazon verwaltetes Streaming für Apache Kafka finden Sie unter [Von Amazon verwaltetes Streaming für Apache Kafka (MSK)](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html). 
**Anmerkung**  
 Amazon Managed Streaming für Apache Kafka unterstützt nur TLS- und SASL/SCRAM-SHA-512-Authentifizierungsmethoden.   
![\[Der Screenshot zeigt den Abschnitt mit den Kafka-Cluster-Details mit Optionen zur Auswahl eines Cluster-Standorts und zum Aufrufen des Kafka-Boostrap-Servers. URLs\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/kafka-cluster-details.png)

1.  Geben Sie den URLs für Ihre Kafka-Bootstrap-Server ein. Sie können mehrere eingeben, indem Sie jeden Server durch ein Komma trennen. Geben Sie die Portnummer am Ende der URL an, indem Sie `:<port number>` anfügen. 

    Beispiel: `b-1.vpc-test-2.034a88o.kafka-us-east-1.amazonaws.com:9094` 

 **Authentifizierungsmethode auswählen** 

![\[Der Screenshot zeigt das Dropdown-Menü zur Auswahl einer Kafka-Authentifizierungsmethode.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/kafka-connection-authentication.png)


AWS Glue unterstützt das SASL-Framework (Simple Authentication and Security Layer) für die Authentifizierung. Das SASL-Framework unterstützt verschiedene Authentifizierungsmechanismen und AWS Glue bietet die Protokolle SCRAM (Benutzername und Passwort), GSSAPI (Kerberos-Protokoll) und PLAIN (Benutzername und Passwort).

Wenn Sie eine Authentifizierungsmethode aus dem Dropdown-Menü auswählen, können die folgenden Client-Authentifizierungsmethoden ausgewählt werden: 
+ Keine – Keine Authentifizierung. Dies ist nützlich, wenn Sie eine Verbindung zu Testzwecken herstellen. 
+ SASL/SCRAM-SHA-512 – Wenn Sie diese Authentifizierungsmethode wählen, können Sie Anmeldeinformationen zur Authentifizierung angeben. Es gibt zwei Optionen: 
  +  AWS Secrets Manager verwenden (empfohlen) — Wenn Sie diese Option wählen, können Sie Ihre Anmeldeinformationen in AWS Secrets Manager speichern und bei Bedarf AWS Glue auf die Informationen zugreifen. Geben Sie das Secret an, das die SSL- oder SASL-Authentifizierungsdaten speichert.  
![\[Der Screenshot zeigt die Optionen für Anmeldeinformationen zur Authentifizierung, wenn die Authentifizierungsmethode SASL/SCRAM-SHA-512 lautet.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/kafka-connection-authentication-sha-512.png)
  + Geben Sie Benutzername und Passwort direkt an.
+  SASL/GSSAPI (Kerberos) — Wenn Sie diese Option wählen, können Sie den Speicherort der Keytab-Datei und der Datei krb5.conf auswählen und den Kerberos-Prinzipalnamen und den Kerberos-Servicenamen eingeben. Die keytab-Datei und die krb5.conf-Datei müssen sich an einem Amazon-S3-Speicherort befinden. Da MSK SASL/GSSAPI noch nicht unterstützt, ist diese Option nur für vom Kunden verwaltete Apache-Kafka-Cluster verfügbar. Weitere Informationen finden Sie unter [MIT Kerberos-Dokumentation: Keytab](https://web.mit.edu/kerberos/krb5-latest/doc/basic/keytab_def.html). 
+  SASL/PLAIN - Wählen Sie diese Authentifizierungsmethode, um die Anmeldeinformationen anzugeben. Es gibt zwei Optionen: 
  +  AWS Secrets Manager verwenden (empfohlen) — Wenn Sie diese Option wählen, können Sie Ihre Anmeldeinformationen in AWS Secrets Manager speichern und bei Bedarf AWS Glue auf die Informationen zugreifen. Geben Sie das Secret an, das die SSL- oder SASL-Authentifizierungsdaten speichert.
  + Geben Sie Benutzername und Passwort direkt an.
+  SSL-Clientauthentifizierung – Wenn Sie diese Option auswählen, können Sie den Standort des Kafka-Client-Keystores auswählen, indem Sie Amazon S3 durchsuchen. Optional können Sie das Kennwort für den Kafka-Client-Keystore und das Kafka-Client-Schlüsselkennwort eingeben. 

![\[Der Screenshot zeigt die Verschlüsselungsoption, wenn SSL die Authentifizierungsmethode ist.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/kafka-connection-authentication-ssl.png)


 **Konfigurieren der Verschlüsselungs-Einstellungen** 

1.  Wenn die Kafka-Verbindung eine SSL-Verbindung erfordert, aktivieren Sie das Kontrollkästchen für **Require SSL connection** (SSL-Verbindung erforderlich). Beachten Sie, dass die Verbindung fehlschlägt, wenn keine Verbindung über SSL herstellen werden kann. SSL für die Verschlüsselung kann mit allen Authentifizierungsmethoden (SASL/SCRAM-SHA-512, SASL/GSSAPI, SASL/PLAINoder der SSL-Client-Authentifizierung) verwendet werden und ist optional. 

    Wenn die Authentifizierungsmethode auf **SSL-Client-Authentifizierung**festgelegt ist, wird diese Option automatisch ausgewählt und deaktiviert, um Änderungen zu verhindern. 

1.  (Optional). Wählen Sie den Speicherort des privaten Zertifikats der Zertifizierungsstelle (CA). Beachten Sie, dass sich der Speicherort der Zertifizierung an einem S3-Standort befinden muss. Wählen Sie **Browse** (Durchsuchen), um die Datei aus einem verbundenen S3-Bucket auszuwählen. Der Pfad muss im Format `s3://bucket/prefix/filename.pem` eingegeben werden. Er muss mit dem Dateinamen und der Erweiterung .pem enden. 

1.  Sie können die Validierung des Zertifikats einer Zertifizierungsstelle (CA) überspringen. Wählen Sie das Kontrollkästchen **Skip validation of certificate from certificate authority (CA) (Validierung des Zertifikats der Zertifizierungsstelle (CA)**. Wenn dieses Kästchen nicht aktiviert ist, validiert AWS Glue Zertifikate für drei Algorithmen: 
   +  SHA256withRSA 
   +  SHA384withRSA 
   +  SHA512withRSA 

![\[Der Screenshot zeigt die Optionen zum Konfigurieren der Verschlüsselung, einschließlich der Frage, ob eine SSL-Verbindung erforderlich ist oder nicht, die Option, den Speicherort des privaten Zertifikats der Zertifizierungsstelle (CA) auszuwählen, und die Option, die Validierung des Zertifikats der Zertifizierungsstelle (CA) zu überspringen.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/kafka-connection-encryption.png)


 **(Optional) Netzwerkoptionen** 

 Im Folgenden werden optionale Schritte zum Konfigurieren von VPC-, Subnetz- und Sicherheitsgruppen aufgeführt. Wenn Ihr AWS Glue Job auf Amazon EC2 EC2-Instances in einem Virtual Private Cloud (VPC) -Subnetz ausgeführt werden muss, müssen Sie zusätzliche VPC-spezifische Konfigurationsinformationen angeben. 

1.  Wählen Sie die VPC (Virtual Private Cloud) aus, die Ihre Datenquelle enthält. 

1.  Wählen Sie das Subnetz mit Ihrer VPC aus. 

1.  Wählen Sie eine oder mehrere Sicherheitsgruppen aus, um den Zugriff auf den Datenspeicher in Ihrem VPC-Subnetz zuzulassen. Sicherheitsgruppen sind mit der Ihrem Subnetz angefügten ENI verknüpft. Sie müssen mindestens eine Sicherheitsgruppe mit einer selbstreferenzierenden eingehenden Regel für alle TCP-Ports auswählen. 

![\[Der Screenshot zeigt die optionalen Netzwerkoptionen für VPC-, Subnetz- und Sicherheitsgruppen.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/kafka-connection-network-options.png)


# Erstellen von Aufträgen mit benutzerdefinierten Connectors
<a name="job-authoring-custom-connectors"></a>

Sie können Connectors und Verbindungen sowohl für Datenquellenknoten als auch für Datenzielknoten in AWS Glue Studio erstellen.

**Topics**
+ [Erstellen von Aufträgen, die einen Connector für die Datenquelle verwenden](#create-job-connectors)
+ [Konfigurieren von Quelleneigenschaften für Knoten, die Connectors verwenden](#edit-connector-source)
+ [Konfigurieren von Zieleigenschaften für Knoten, die Connectors verwenden](#edit-connector-target)

## Erstellen von Aufträgen, die einen Connector für die Datenquelle verwenden
<a name="create-job-connectors"></a>

Wenn Sie einen neuen Auftrag erstellen, können Sie einen Connector für die Datenquelle und die Datenziele auswählen.

**Aufträge erstellen, die Connectors für die Datenquelle oder das Datenziel verwenden**

1. Melden Sie sich bei an AWS-Managementkonsole und öffnen Sie die AWS Glue Studio Konsole unter [https://console.aws.amazon.com/gluestudio/](https://console.aws.amazon.com/gluestudio/).

1. Wählen Sie auf der Seite **Connectors** in der Ressourcenliste **Your Connections (Ihre Verbindungen)** die Verbindung aus, die Sie in Ihrem Auftrag verwenden möchten. Klicken Sie dann auf **Create job (Auftrag erstellen)**. 

   Alternativ können Sie in AWS Glue Studio auf der Seite **Jobs (Aufträge)** unter **Create Job (Auftrag erstellen)** die Option **Source and target added to the graph (Quelle und Ziel zum Diagramm hinzugefügt)** auswählen. In der Dropdown-Liste **Source (Quelle)** wählen Sie den benutzerdefinierten Connector aus, den Sie in Ihrem Auftrag verwenden möchten. Sie können auch einen Connector für **Target (Ziel)** auswählen.  
![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/create-job-data-sources-screenshot.png)

1. Klicken Sie dann auf **Create (Erstellen)**, um den visuellen Auftragseditor zu öffnen.

1. Konfigurieren Sie den Datenquellknoten, wie unter [Konfigurieren von Quelleneigenschaften für Knoten, die Connectors verwenden](#edit-connector-source) beschrieben.

1. Fahren Sie mit der Erstellung Ihres ETL-Auftrags fort, indem Sie Transformationen, zusätzliche Datenspeicher und Datenziele hinzufügen, wie unter [Starten von Visual-ETL-Aufträgen in AWS Glue Studio](edit-nodes-chapter.md) beschrieben.

1. Passen Sie die Umgebung der Auftragsausführung an, indem Sie Auftragseigenschaften konfigurieren, wie unter [Ändern der Auftragseigenschaften](managing-jobs-chapter.md#edit-jobs-properties) beschrieben.

1. Speichern Sie den Auftrag und führen Sie ihn aus.

## Konfigurieren von Quelleneigenschaften für Knoten, die Connectors verwenden
<a name="edit-connector-source"></a>

Nachdem Sie einen Auftrag erstellt haben, der einen Connector für die Datenquelle verwendet, zeigt der visuelle Auftragseditor ein Auftragsdiagramm mit einem Datenquellenknoten an, der für den Connector konfiguriert ist. Sie müssen die Datenquelleneigenschaften für diesen Knoten konfigurieren. 

**Eigenschaften für einen Datenquellenknoten konfigurieren, der einen Connector verwendet**

1. Wählen Sie den Connector-Datenquellknoten im Auftragsdiagramm aus, oder fügen Sie einen neuen Knoten hinzu und wählen Sie den Connector für den **Node type (Knotentyp)** aus. Wählen Sie dann auf der rechten Seite im Bereich „Node Details“ (Knotendetails) die Registerkarte **Data source properties (Datenquelleneigenschaften)** aus, falls sie nicht bereits ausgewählt ist.  
![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/data-source-properties-connector-screenshot2.png)

1. Wählen Sie auf der Registerkarte **Data source properties (Datenquelleneigenschaften)** die Verbindung aus, die Sie für diesen Auftrag verwenden möchten. 

   Geben Sie die zusätzlichen Informationen ein, die für jeden Verbindungstyp erforderlich sind:

------
#### [ JDBC ]
   + **Data source input type (Eingabetyp der Datenquelle)**: Geben Sie entweder einen Tabellennamen oder eine SQL-Abfrage als Datenquelle an. Abhängig vom gewählten Typ müssen Sie die folgenden zusätzlichen Informationen eingeben:
     + **Table name (Tabellenname)**: Der Name der Tabelle in der Datenquelle. Wenn die Datenquelle den Begriff *Tabelle nicht verwendet, geben* Sie den Namen einer geeigneten Datenstruktur an, wie in den Informationen zur Verwendung des benutzerdefinierten Connectors angegeben (verfügbar unter AWS Marketplace).
     + **Filter predicate (Filterprädikat)**: Eine Bedingungsklausel, die beim Lesen der Datenquelle verwendet werden soll, ähnelt einer `WHERE`-Klausel zum Abrufen einer Teilmenge der Daten.
     + **Query code (Abfragecode)**: Geben Sie eine SQL-Abfrage ein, die zum Abrufen eines bestimmten Datensatzes aus der Datenquelle verwendet werden soll. Ein Beispiel für eine einfache SQL-Abfrage:

       ```
       SELECT column_list FROM 
                                 table_name WHERE where_clause
       ```
   + **Schema**: Da AWS Glue Studio Informationen in der Verbindung gespeicherte Informationen verwendet, um auf die Datenquelle zuzugreifen, anstatt Metadateninformationen aus einer Data-Catalog-Tabelle abzurufen, müssen Sie die Schemametadaten für die Datenquelle bereitstellen. Klicken Sie auf **Add schema (Schema hinzufügen)**, um den Schema-Editor zu öffnen. 

     Anweisungen zur Verwendung des Schema-Editors finden Sie unter [Bearbeiten des Schemas in einem benutzerdefinierten Transformationsknoten](transforms-custom.md#transforms-custom-editschema).
   + **Partition column (Partitionsspalte)**: (Optional) Sie können die Datenlesevorgänge partitionieren, indem Sie Werte für **Partition column (Partitionsspalte)**, **Lower bound (Untergrenze)**, **Upper bound (Obergrenze)** und **Number of partitions (Anzahl der Partitionen)** aus. 

     Die Werte für `lowerBound` und `upperBound` werden verwendet, um den Partitionsschritt zu bestimmen, nicht zum Filtern der Zeilen in der Tabelle. Alle Zeilen der Tabelle werden partitioniert und zurückgegeben. 
**Anmerkung**  
Die Spaltenpartitionierung fügt der Abfrage, die zum Lesen der Daten verwendet wird, eine zusätzliche Partitionierungsbedingung hinzu. Wenn Sie eine Abfrage anstelle eines Tabellennamens verwenden, sollten Sie überprüfen, ob die Abfrage mit der angegebenen Partitionierungsbedingung funktioniert. Zum Beispiel:  
Wenn Ihr Abfrageformat `"SELECT col1 FROM table1"` lautet, dann testen Sie die Abfrage, indem Sie eine `WHERE`-Klausel am Ende der Abfrage stellen, die die Partitionsspalte verwendet.
Wenn Ihr Abfrageformat `"SELECT col1 FROM table1 WHERE col2=val"` lautet, dann testen Sie die Abfrage, indem Sie die `WHERE`-Klausel mit `AND` und einem Ausdruck erweitern, der die Partitionsspalte verwendet.
   + **Data type casting (Datentypumwandlung)**: Wenn die Datenquelle Datentypen verwendet, die in JDBC nicht verfügbar sind, geben Sie in diesem Abschnitt an, wie ein Datentyp aus der Datenquelle in JDBC-Datentypen konvertiert werden soll. Sie können bis zu 50 verschiedene Datentypkonvertierungen angeben. Alle Spalten in der Datenquelle, die denselben Datentyp verwenden, werden auf die gleiche Weise konvertiert. 

     Wenn Sie beispielsweise über drei Spalten in der Datenquelle verfügen, die den Datentyp `Float` verwenden, und Sie angeben, dass der Datentyp `Float` in den JDBC–Datentyp `String` konvertiert werden soll, werden alle drei Spalten, die den Datentyp `Float` verwenden, in `String`-Datentypen konvertiert.
   + **Job bookmark keys (Schlüssel für Auftragslesezeichen)**: Auftragslesezeichen helfen AWS Glue bei der Pflege von Zustandsinformationen und verhindern die Wiederaufbereitung alter Daten. Geben Sie eine oder mehrere Spalten als Lesezeichenschlüssel an. AWS Glue Studio verwendet Lesezeichenschlüssel, um Daten zu verfolgen, die bereits während einer früheren Ausführung des ETL-Auftrags verarbeitet wurden. Alle Spalten, die Sie für benutzerdefinierte Lesezeichenschlüssel verwenden, müssen streng monoton erhöht oder verringert werden, aber Lücken sind zulässig.

     Wenn Sie mehrere Lesezeichenschlüssel eingeben, werden diese zu einem einzigen zusammengesetzten Schlüssel zusammengefasst. Ein zusammengesetzter Schlüssel für Auftragslesezeichen sollte keine doppelten Spalten enthalten. Wenn Sie keine Lesezeichenschlüssel angeben, verwendet AWS Glue Studio standardmäßig den Primärschlüssel als Lesezeichenschlüssel, vorausgesetzt, dass der Primärschlüssel sequenziell erhöht oder verringert wird (ohne Lücken). Wenn die Tabelle keinen Primärschlüssel hat, aber die Eigenschaft „Job bookmark“ (Auftragslesezeichen) aktiviert ist, müssen Sie benutzerdefinierte Schlüssel für Auftragslesezeichen angeben. Andernfalls schlagen die Suche nach standardmäßig zu verwendenden Primärschlüsseln und die Auftragsausführung fehl.
   + **Job bookmark keys sorting order (Sortierreihenfolge der Schlüssel für Auftragslesezeichen)**: Wählen Sie aus, ob die Schlüsselwerte auf- oder absteigend sortiert werden.

------
#### [ Spark ]
   + **Schema**: Da AWS Glue Studio Informationen in der Verbindung gespeicherte Informationen verwendet, um auf die Datenquelle zuzugreifen, anstatt Metadateninformationen aus einer Data-Catalog-Tabelle abzurufen, müssen Sie die Schemametadaten für die Datenquelle bereitstellen. Klicken Sie auf **Add schema (Schema hinzufügen)**, um den Schema-Editor zu öffnen. 

     Anweisungen zur Verwendung des Schema-Editors finden Sie unter [Bearbeiten des Schemas in einem benutzerdefinierten Transformationsknoten](transforms-custom.md#transforms-custom-editschema).
   + **Connection options (Verbindungsoptionen)**: Geben Sie nach Bedarf weitere Schlüssel-Wert-Paare ein, um zusätzliche Verbindungsinformationen oder -optionen bereitzustellen. Sie können beispielsweise einen Datenbanknamen, einen Tabellennamen, einen Benutzernamen und ein Passwort eingeben.

     Beispielsweise geben Sie für OpenSearch die folgenden Schlüssel-Wert-Paare ein, wie unter beschrieben: [Tutorial: Den AWS Glue Connector für Elasticsearch verwenden](tutorial-elastisearch-connector.md)
     + `es.net.http.auth.user` : `username`
     + `es.net.http.auth.pass` : `password` 
     + `es.nodes` : `https://<Elasticsearch endpoint>`
     + `es.port` : `443`
     + `path`: `<Elasticsearch resource>`
     + `es.nodes.wan.only` : `true`

   Ein Beispiel für die mindestens zu verwendenden Verbindungsoptionen finden Sie im Beispieltestskript [MinimalSparkConnectorTest.scala](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/MinimalSparkConnectorTest.scala) on GitHub, das die Verbindungsoptionen zeigt, die Sie normalerweise in einer Verbindung bereitstellen würden.

------
#### [ Athena ]
   + **Table name (Tabellenname)**: Der Name der Tabelle in der Datenquelle. Wenn Sie einen Konnektor zum Lesen aus CloudWatch Athena-Logs verwenden, würden Sie den Tabellennamen `all_log_streams` eingeben.
   + **Athena schema name (Name des Athena-Schemas)**: Wählen Sie das Schema in Ihrer Athena-Datenquelle aus, das der Datenbank entspricht, die die Tabelle enthält. Wenn Sie einen Konnektor zum Lesen aus CloudWatch Athena-Logs verwenden, würden Sie einen Schemanamen eingeben, der dem ähnelt`/aws/glue/name`.
   + **Schema**: Da AWS Glue Studio Informationen in der Verbindung gespeicherte Informationen verwendet, um auf die Datenquelle zuzugreifen, anstatt Metadateninformationen aus einer Data-Catalog-Tabelle abzurufen, müssen Sie die Schemametadaten für die Datenquelle bereitstellen. Klicken Sie auf **Add schema (Schema hinzufügen)**, um den Schema-Editor zu öffnen. 

     Anweisungen zur Verwendung des Schema-Editors finden Sie unter [Bearbeiten des Schemas in einem benutzerdefinierten Transformationsknoten](transforms-custom.md#transforms-custom-editschema).
   + **Additional connection options (Zusätzliche Verbindungsoptionen)**: Geben Sie nach Bedarf weitere Schlüssel-Wert-Paare ein, um zusätzliche Verbindungsinformationen oder -optionen bereitzustellen. 

   Ein Beispiel finden Sie in der `README.md` Datei unter [https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena). In den Schritten in diesem Dokument zeigt der Beispiel-Code die minimal erforderlichen Verbindungsoptionen `tableName`, `schemaName` und `className` an. Im Code-Beispiel werden diese Optionen als Teil der Variable `optionsMap` spezifiziert, aber Sie können sie für Ihre Verbindung angeben und dann die Verbindung verwenden. 

------

1. (Optional) Nachdem Sie die erforderlichen Informationen angegeben haben, können Sie mit der Registerkarte **Output schema (Ausgabeschema)** im Bereich mit den Knotendetails das daraus resultierende Datenschema für die Datenquelle sehen. Das auf dieser Registerkarte angezeigte Schema wird von allen untergeordneten Knoten verwendet, die Sie dem Auftragsdiagramm hinzufügen.

1. (Optional) Nachdem Sie die Knoteneigenschaften und Datenquelleneigenschaften konfiguriert haben, sehen Sie auf der Registerkarte Data preview (Datenvorschau) im Bereich mit den Knotendetails eine Vorschau des Datensatzes aus Ihrer Datenquelle. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie dieses Feature verwenden, fallen Kosten an. Sobald Sie eine IAM-Rolle bereitstellen, wird dies berechnet. 

## Konfigurieren von Zieleigenschaften für Knoten, die Connectors verwenden
<a name="edit-connector-target"></a>

Wenn Sie einen Connector für den Datenzieltyp verwenden, müssen Sie die Eigenschaften des Datenzielknotens konfigurieren.

**Eigenschaften für einen Datenzielknoten konfigurieren, der einen Connector verwendet**

1. Wählen Sie den Zielknoten der Connector-Daten im Auftragsdiagramm aus. Wählen Sie dann auf der rechten Seite im Bereich „Node Details“ (Knotendetails) die Registerkarte **Data target properties (Datenzieleigenschaften)** aus, falls sie nicht bereits ausgewählt ist.

1. Wählen Sie auf der Registerkarte **Data target properties (Datenzieleigenschaften)** die Verbindung für Schreibvorgänge im Ziel aus. 

   Geben Sie die zusätzlichen Informationen ein, die für jeden Verbindungstyp erforderlich sind:

------
#### [ JDBC ]
   + **Connection (Verbindung)**: Wählen Sie die Verbindung aus, die Sie mit Ihrem Connector verwenden möchten. Weitere Informationen zum Herstellen einer Verbindung finden Sie unter [Erstellen von Verbindungen für Connectors](creating-connections.md).
   + **Table name (Tabellenname)**: Der Name der Tabelle im Datenziel. Wenn das Datenziel den Begriff *Tabelle* nicht verwendet, geben Sie den Namen einer geeigneten Datenstruktur an, wie in den Benutzerinformationen zur Verwendung des Konnektors angegeben (verfügbar unter AWS Marketplace).
   + **Batch size (Batchgröße)** (Optional): Geben Sie die Anzahl der Zeilen oder Datensätze ein, die in einem einzigen Vorgang in die Zieltabelle eingefügt werden sollen. Der Standardwert lautet 1 000.

------
#### [ Spark ]
   + **Connection (Verbindung)**: Wählen Sie die Verbindung aus, die Sie mit Ihrem Connector verwenden möchten. Wenn Sie zuvor keine Verbindung erstellt haben, wählen Sie **Create connection (Verbindung erstellen)** aus. Weitere Informationen zum Herstellen einer Verbindung finden Sie unter [Erstellen von Verbindungen für Connectors](creating-connections.md).
   + **Connection options (Verbindungsoptionen)**: Geben Sie nach Bedarf weitere Schlüssel-Wert-Paare ein, um zusätzliche Verbindungsinformationen oder -optionen bereitzustellen. Sie können einen Datenbanknamen, einen Tabellennamen, einen Benutzernamen und ein Passwort eingeben.

     Beispielsweise geben Sie für OpenSearch die folgenden Schlüssel-Wert-Paare ein, wie unter beschrieben: [Tutorial: Den AWS Glue Connector für Elasticsearch verwenden](tutorial-elastisearch-connector.md)
     + `es.net.http.auth.user` : `username`
     + `es.net.http.auth.pass` : `password` 
     + `es.nodes` : `https://<Elasticsearch endpoint>`
     + `es.port` : `443`
     + `path`: `<Elasticsearch resource>`
     + `es.nodes.wan.only` : `true`

   Ein Beispiel für die mindestens zu verwendenden Verbindungsoptionen finden Sie im Beispieltestskript [MinimalSparkConnectorTest.scala](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/MinimalSparkConnectorTest.scala) on GitHub, das die Verbindungsoptionen zeigt, die Sie normalerweise in einer Verbindung bereitstellen würden.

------

1. Nachdem Sie die erforderlichen Informationen angegeben haben, können Sie mit der Registerkarte **Output schema (Ausgabeschema)** im Bereich mit den Knotendetails das daraus resultierende Datenschema für die Datenquelle sehen.

# Verwalten von Connectors und Verbindungen
<a name="managing-connectors"></a>

Sie verwenden die Seite **Verbindungen** in AWS Glue, um Ihre Konnektoren und Verbindungen zu verwalten.

**Topics**
+ [Anzeigen von Connector- und Verbindungsdetails](#connector-details)
+ [Bearbeiten von Connectors und Verbindungen](#editing-connectors)
+ [Löschen von Connectors und Verbindungen](#deleting-connectors)
+ [Kündigen eines Abonnements eines Connectors](#cancel-subscription)

## Anzeigen von Connector- und Verbindungsdetails
<a name="connector-details"></a>

Eine Zusammenfassung zu Ihren Connectors und Verbindungen finden Sie in den Ressourcentabellen **Your connectors (Ihre Connectors)** und **Your connections (Ihre Verbindungen)** auf der Seite **Connectors**. Führen Sie die folgenden Schritte aus, um Details anzuzeigen.

**Anschluss- oder Verbindungsdetails anzeigen**

1. Wählen Sie im Navigationsbereich in der AWS Glue Studio-Konsole **Connectors** aus.

1. Wählen Sie den Connector oder die Verbindung aus, für den bzw. die Sie detaillierte Informationen anzeigen möchten.

1. Klicken Sie auf **Actions (Aktionen)** und danach auf **View details (Details anzeigen)**, um die Seite mit Details zu dem Connector bzw. der Verbindung zu öffnen.

1. Auf der Detailseite können Sie für den Connector bzw. die Verbindung **Edit** (Bearbeiten) oder **Delete** (Löschen) auswählen.
   + Bei Connectors können Sie mit **Create Connection (Verbindung erstellen)** eine neue Verbindung erstellen, die diesen Connector verwendet.
   + Bei Verbindungen können Sie mit **Create job (Auftrag erstellen)** einen Auftrag erstellen, der die Verbindung verwendet.

## Bearbeiten von Connectors und Verbindungen
<a name="editing-connectors"></a>

Auf der Seite **Connectors** können Sie in Ihren Connectors bzw. Verbindungen gespeicherten Informationen ändern.

**Connectors oder Verbindungen bearbeiten**

1. Wählen Sie im Navigationsbereich in der AWS Glue Studio-Konsole **Connectors** aus.

1. Wählen Sie den Connector/die Verbindung aus, den/die Sie bearbeiten möchten.

1. Wählen Sie **Actions** und anschließend **Bearbeiten**.

   Sie können auch auf **View details (Details anzeigen)** klicken und auf der Seite mit Details zum Connector bzw. zur Verbindung **Edit (Bearbeiten)** auswählen.

1. Aktualisieren Sie die Informationen auf der Seite **Edit connector (Connector bearbeiten)** bzw. **Edit connection (Verbindung bearbeiten)** und klicken Sie auf **Save (Speichern)**.

## Löschen von Connectors und Verbindungen
<a name="deleting-connectors"></a>

Auf der Seite **Connectors** können Sie Connectors und Verbindungen löschen. Wenn Sie einen Connector löschen, sollten alle für ihn erstellten Verbindungen ebenfalls gelöscht werden.

**So entfernen Sie Connectors aus AWS Glue Studio**

1. Wählen Sie im Navigationsbereich in der AWS Glue Studio-Konsole **Connectors** aus.

1. Wählen Sie den Connector/die Verbindung aus, den/die Sie löschen möchten.

1. Wählen Sie **Actions (Aktionen)** und anschließend **Delete (Löschen)** aus.

   Sie können auch auf **View details (Details anzeigen)** klicken und auf der Seite mit Details zum Connector bzw. zur Verbindung **Delete (Löschen)** auswählen.

1. Bestätigen Sie, dass Sie den Connector oder die Verbindung entfernen möchten, indem Sie **Delete** eingeben und dann **Delete (Löschen)** auswählen.

   Wenn Sie einen Connector löschen, werden alle für ihn erstellten Verbindungen ebenfalls gelöscht.

Aufträge, die eine gelöschte Verbindung verwenden, funktionieren nicht mehr. Sie können die Aufträge entweder bearbeiten, um einen anderen Datenspeicher zu verwenden, oder die Aufträge entfernen. Informationen zum Löschen von Aufträgen finden Sie unter [Löschen von Aufträgen](managing-jobs-chapter.md#delete-jobs).

Wenn Sie einen Connector löschen, wird das Abonnement für den Connector in AWS Marketplace nicht gekündigt. Um ein Abonnement für einen gelöschten Connector zu entfernen, folgen Sie den Anweisungen unter[Kündigen eines Abonnements eines Connectors](#cancel-subscription).

## Kündigen eines Abonnements eines Connectors
<a name="cancel-subscription"></a>

Nachdem Sie die Verbindungen und den Connector von gelöscht habenAWS Glue Studio, können Sie Ihr Abonnement kündigen, AWS Marketplace wenn Sie den Connector nicht mehr benötigen.

**Anmerkung**  
Wenn Sie Ihr Abonnement für einen Connector kündigen, wird der Connector oder die Verbindung nicht von Ihrem Konto entfernt. Alle Aufträge, die den Connector und die zugehörigen Verbindungen verwenden, können den Connector nicht mehr verwenden und schlagen fehl.   
Bevor Sie einen Connector abbestellen oder erneut abonnieren AWS Marketplace, sollten Sie die vorhandenen Verbindungen und Connectoren löschen, die mit diesem AWS Marketplace Produkt verknüpft sind.

**Um sich von einem Connector abzumelden, finden Sie unter AWS Marketplace**

1. Melden Sie sich bei der AWS Marketplace Konsole unter [https://console.aws.amazon.com/marketplace](https://console.aws.amazon.com/marketplace) an.

1. Wählen Sie **Manage subscriptions (Abonnements verwalten)**.

1. Klicken Sie auf der Seite **Manage subscriptions (Abonnements verwalten)** auf **Manage (Verwalten)** neben dem Connector, dessen Abonnement Sie kündigen möchten.

1. Wählen Sie anschließend **Actions (Aktionen)** und **Cancel Subscription (Abonnement kündigen)** aus.

1. Aktivieren Sie das Kontrollkästchen, um zu bestätigen, dass ausgeführte Instances auf Ihrem Konto abgerechnet werden, und wählen Sie dann **Yes, cancel subscription (Ja, Abonnement kündigen)** aus.

# Entwickeln von benutzerdefinierten Connectors
<a name="developing-custom-connectors"></a>

Sie können den Code schreiben, der Daten aus dem Datenspeicher liest oder in den Datenspeicher schreibt und für die Verwendung mit AWS Glue Studio-Aufträgen formatiert. Sie können Connectors für Spark, Athena und JDBC-Datenspeicher erstellen. Der auf veröffentlichte Beispielcode GitHub bietet einen Überblick über die grundlegenden Schnittstellen, die Sie implementieren müssen.

Sie benötigen eine lokale Entwicklungsumgebung, um Ihren Connector-Code zu erstellen. Sie können eine beliebige IDE oder sogar nur einen Befehlszeileneditor verwenden, um Ihren Connector zu schreiben. Beispiele für Entwicklungsumgebungen:
+ Eine lokale Scala-Umgebung mit einer lokalen AWS Glue-ETL-Maven-Bibliothek, wie unter [Lokale Entwicklung mit Scala](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-libraries.html#develop-local-scala) im *AWS Glue -Entwicklerhandbuch* beschrieben.
+ IntelliJ IDE, indem Sie die IDE von herunterladen. [https://www.jetbrains.com/idea/](https://www.jetbrains.com/idea/)

**Topics**
+ [Entwickeln von Spark-Connectors](#code-spark-connector)
+ [Entwickeln von Athena-Connectors](#code-athena-connector)
+ [Entwickeln von JDBC-Connectors](#code-jdbc-connector)
+ [Beispiele für die Verwendung von benutzerdefinierten Connectors mit AWS Glue Studio](#custom-connector-examples)
+ [AWS GlueEntwicklung von Konnektoren für AWS Marketplace](#code-marketplace-connector)

## Entwickeln von Spark-Connectors
<a name="code-spark-connector"></a>

Sie können mit Spark DataSource API V2 (Spark 2.4) einen Spark-Konnektor zum Lesen von Daten erstellen.

**Erstellen Sie einen benutzerdefinierten Spark-Connector wie folgt**

Folgen Sie den Schritten in der AWS Glue GitHub Beispielbibliothek für die Entwicklung von Spark-Konnektoren, die sich unter [https://github.com/aws-samples/aws-glue-samplestree/master/GlueCustomConnectors/development/Spark/README/.md](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/README.md) befindet.

## Entwickeln von Athena-Connectors
<a name="code-athena-connector"></a>

Sie können einen Athena-Connector erstellen, der von AWS Glue und AWS Glue Studio zur Abfrage einer benutzerdefinierten Datenquelle verwendet wird.

**Erstellen Sie einen benutzerdefinierten Athena-Connector wie folgt**

Folgen Sie den Schritten in der AWS Glue GitHub Beispielbibliothek für die Entwicklung von Athena-Konnektoren, die sich unter [https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena)befindet.

## Entwickeln von JDBC-Connectors
<a name="code-jdbc-connector"></a>

Sie können einen Connector erstellen, der JDBC verwendet, um auf Ihre Datenspeicher zuzugreifen.

**Einen benutzerdefinierten JDBC-Connector erstellen**

1. Installieren Sie die AWS Glue-Spark-Laufzeitbibliotheken in Ihrer lokalen Entwicklungsumgebung. Weitere Informationen finden Sie in der AWS Glue GitHub Beispielbibliothek unter [ https://github.com/aws-samples/aws-glue-samplestree/master/GlueCustomConnectors/development/GlueSparkRuntime/README/.md.](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/GlueSparkRuntime/README.md)

1. Implementieren Sie den JDBC-Treiber, der für das Abrufen der Daten aus der Datenquelle verantwortlich ist. Weitere Informationen finden Sie in der [Java-Dokumentation](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) für Java SE 8. 

   Erstellen Sie einen Einstiegspunkt in Ihrem Code, den AWS Glue Studio verwendet, um Ihren Connector zu finden. Das Feld **Class name (Klassenname)** sollte der vollständige Pfad Ihres JDBC-Treibers sein.

1. Verwenden Sie die `GlueContext`-API, um Daten mit dem Connector zu lesen. Benutzer können weitere Eingabeoptionen in der AWS Glue Studio-Konsole hinzufügen, um gegebenenfalls die Verbindung zur Datenquelle zu konfigurieren. [Ein Codebeispiel, das zeigt, wie mit einem benutzerdefinierten JDBC-Connector aus einer JDBC-Datenbank gelesen und in eine JDBC-Datenbank geschrieben wird, finden Sie unter Custom- und ConnectionType-Werte. AWS Marketplace](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html#aws-glue-programming-etl-connect-market)

## Beispiele für die Verwendung von benutzerdefinierten Connectors mit AWS Glue Studio
<a name="custom-connector-examples"></a>

Beispiele für die Verwendung von benutzerdefinierten Connectors finden Sie in den folgenden Blogs:
+ [Entwickeln, Testen und Bereitstellen benutzerdefinierter Connectors für Ihre Datenspeicher mit AWS Glue](https://aws.amazon.com/blogs/big-data/developing-testing-and-deploying-custom-connectors-for-your-data-stores-with-aws-glue/)
+ Apache Hudi: [Schreiben in Apache Hudi-Tabellen mithilfe des benutzerdefinierten AWS Glue-Connectors](https://aws.amazon.com/blogs/big-data/writing-to-apache-hudi-tables-using-aws-glue-connector/)
+ Google BigQuery: [Migrieren von Daten von Google BigQuery zu Amazon S3 mithilfe AWS Glue benutzerdefinierter Konnektoren](https://aws.amazon.com/blogs/big-data/migrating-data-from-google-bigquery-to-amazon-s3-using-aws-glue-custom-connectors/)
+ Snowflake (JDBC): [Durchführen von Datentransformationen mithilfe von Snowflake und AWS Glue](https://aws.amazon.com/blogs/big-data/performing-data-transformations-using-snowflake-and-aws-glue/)
+ SingleStore: [Aufbau von schnellem ETL mit SingleStore ](https://aws.amazon.com/blogs/big-data/building-fast-etl-using-singlestore-and-aws-glue/) und AWS Glue
+ Salesforce: [Investieren Sie Salesforce-Daten mithilfe des benutzerdefinierten CData JDBC-Connectors in Amazon S3 mit](https://aws.amazon.com/blogs/big-data/ingest-salesforce-data-into-amazon-s3-using-the-cdata-jdbc-custom-connector-with-aws-glue) - AWS Glue
+ MongoDB: [Erstellen von AWS Glue Spark-ETL-Aufträgen mithilfe von Amazon DocumentDB (mit MongoDB-Kompatibilität) und MongoDB](https://aws.amazon.com/blogs/big-data/building-aws-glue-spark-etl-jobs-using-amazon-documentdb-with-mongodb-compatibility-and-mongodb/)
+ Amazon Relational Database Service (Amazon RDS): [Erstellen Sie AWS Glue Spark-ETL-Jobs, indem Sie Ihre eigenen JDBC-Treiber für](https://aws.amazon.com/blogs/big-data/building-aws-glue-spark-etl-jobs-by-bringing-your-own-jdbc-drivers-for-amazon-rds/) Amazon RDS mitbringen
+ [MySQL (JDBC): https://github.com/aws-samples/aws-glue-samples/.scala blob/master/GlueCustomConnectors/development/Spark/SparkConnectorMySQL](https://github.com/aws-samples/aws-glue-samples/blob/master/GlueCustomConnectors/development/Spark/SparkConnectorMySQL.scala)

## AWS GlueEntwicklung von Konnektoren für AWS Marketplace
<a name="code-marketplace-connector"></a>

Als AWS Partner können Sie benutzerdefinierte Konnektoren erstellen und diese hochladen, AWS Marketplace um sie an AWS Glue Kunden zu verkaufen.

Der Prozess zum Entwickeln des Connector-Codes ist der gleiche wie für benutzerdefinierte Connectors, aber der Prozess zum Hochladen und Überprüfen des Connector-Codes ist umfassender. Weitere Informationen finden Sie in den Anweisungen unter [Konnektoren erstellen für AWS Marketplace](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/marketplace/publishGuide.pdf) auf der GitHub Website.

# Einschränkungen für die Verwendung von Connectors und Verbindungen in AWS Glue Studio
<a name="connector-restrictions"></a>

Wenn Sie benutzerdefinierte Konnektoren oder Konnektoren von verwenden AWS Marketplace, beachten Sie die folgenden Einschränkungen:
+ Die testConnection-API wird bei Verbindungen, die für benutzerdefinierte Connectors erstellt wurden, nicht unterstützt.
+ Die Passwortverschlüsselung der Data-Catalog-Verbindung wird von benutzerdefinierten Connectors nicht unterstützt. 
+ Sie können keine Auftragslesezeichen verwenden, wenn Sie ein Filterprädikat für einen Datenquellenknoten angeben, der einen JDBC-Connector verwendet.
+  Das Erstellen einer Marketplace-Verbindung wird außerhalb der AWS Glue Studio Benutzeroberfläche nicht unterstützt. 

# Testen einer AWS Glue-Verbindung
<a name="console-test-connections"></a>

 Bevor Sie eine Verbindung in einem ETL-Auftrag verwenden, empfiehlt es sich, die AWS Glue-Verbindung mithilfe der AWS Glue-Konsole zu testen. AWS Glue verwendet die Parameter in Ihrer Verbindung, um zu bestätigen, dass es auf Ihren Datenspeicher zugreifen kann, und meldet etwaige Fehler. Weitere Informationen zu AWS Glue-Verbindungen finden Sie unter [Herstellen einer Verbindung zu Daten](glue-connections.md). 

**So testen Sie eine AWS Glue-Verbindung**

1. Melden Sie sich bei an AWS-Managementkonsole und öffnen Sie die AWS Glue Konsole unter [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1.  Wählen Sie im Navigationsbereich unter **Data Catalog** die Option **Verbindungen** aus. Sie können im Navigationsbereich auch **Datenverbindungen** oberhalb von **Data Catalog** auswählen. 

1.  Aktivieren Sie unter **Verbindungen** das Kontrollkästchen neben der gewünschten Verbindung und wählen Sie dann **Aktionen** aus. Wählen Sie im Dropdown-Menü die Option **Verbindung testen** aus. 

1.  Wählen Sie im Dialogfeld **Verbindung testen** eine Rolle aus, oder wählen Sie **IAM-Rolle erstellen**, um zur AWS Identity and Access Management (IAM-) Konsole zu wechseln und eine neue Rolle zu erstellen. Die Rolle muss über Berechtigungen für den Datenspeicher verfügen. 

1. Wählen Sie **Bestätigen** aus.

   Der Test beginnt und kann einige Minuten dauern. Wenn der Test fehlschlägt, wählen Sie **Fehlerbehebung**, um die Schritte zur Behebung des Problems anzuzeigen. 

1.  Wählen Sie **Logs** aus, um die Logs einzusehen. CloudWatch Sie müssen über die erforderlichen IAM-Berechtigungen zum Anzeigen der Protokolle verfügen. Weitere Informationen finden Sie unter [AWS Verwaltete (vordefinierte) Richtlinien für CloudWatch Protokolle](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-identity-based-access-control-cwl.html#managed-policies-cwl) im *Amazon CloudWatch Logs-Benutzerhandbuch*. 

# Konfiguration von AWS Anrufen für die Weiterleitung über Ihre VPC
<a name="connection-VPC-disable-proxy"></a>

 Mit dem speziellen Jobparameter `disable-proxy-v2` können Sie Ihre Anrufe an Dienste wie Amazon S3 und AWS Glue über Ihre VPC weiterleiten. CloudWatch AWS Glue Verwendet standardmäßig einen lokalen Proxy, um Traffic über die AWS Glue VPC zu senden, um Skripte und Bibliotheken von Amazon S3 herunterzuladen, Anfragen zur Veröffentlichung von Protokollen und Metriken an zu senden und Anfragen AWS Glue für den Zugriff auf Datenkataloge zu senden. CloudWatch Dieser Proxy ermöglicht es, dass der Job normal funktioniert, auch wenn Ihre VPC keine richtige Route zu anderen AWS Diensten wie Amazon S3 CloudWatch, und AWS Glue konfiguriert. AWS Glue bietet jetzt einen Parameter, mit dem Sie dieses Verhalten ausschalten können. Weitere Informationen finden Sie unter [Job-Parameter verwendet von AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html). AWS Glue wird weiterhin den lokalen Proxy für die Veröffentlichung von CloudWatch Protokollen Ihrer AWS Glue Jobs verwenden. 

**Anmerkung**  
 Diese Funktion wird für AWS Glue Jobs mit AWS Glue Version 2.0 und höher unterstützt. Wenn Sie dieses Feature verwenden, müssen Sie sicherstellen, dass für Ihre VPC eine Route zu Amazon S3 über einen NAT- oder Service-VPC-Endpunkt konfiguriert ist. 
 Der veraltete Auftrags-Parameter `disable-proxy` leitet Ihre Anrufe nur an Amazon S3 weiter, um Skripte und Bibliotheken über Ihre VPC herunterzuladen. Es wird empfohlen, stattdessen den neuen `disable-proxy-v2`-Parameter zu verwenden. 

**Beispielverwendung**  
Erstellen Sie einen AWS Glue Job mit`disable-proxy-v2`:

```
aws glue create-job \
    --name no-proxy-job \
    --role GlueDefaultRole \
    --command "Name=glueetl,ScriptLocation=s3://my-bucket/glue-script.py" \
    --connections Connections="traffic-monitored-connection" \
    --default-arguments '{"--disable-proxy-v2" : "true"}'
```

# Herstellen einer Verbindung mit einem JDBC-Datenspeicher in einer VPC
<a name="connection-JDBC-VPC"></a>

Typischerweise erstellen Sie diese Ressourcen innerhalb von Amazon Virtual Private Cloud (Amazon VPC), so dass sie nicht über das öffentliche Internet zugänglich sind. Standardmäßig AWS Glue kann nicht auf Ressourcen innerhalb einer VPC zugegriffen werden. Um den Zugriff auf Ressourcen innerhalb Ihrer VPC AWS Glue zu ermöglichen, müssen Sie zusätzliche VPC-spezifische Konfigurationsinformationen angeben, die das IDs VPC-Subnetz und die Sicherheitsgruppe umfassen. IDs AWS Glue verwendet diese Informationen, um [elastische Netzwerkschnittstellen](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html) einzurichten, die es Ihrer Funktion ermöglichen, eine sichere Verbindung zu anderen Ressourcen in Ihrer privaten VPC herzustellen.

 Wenn Sie einen VPC-Endpunkt verwenden, fügen Sie ihn zu Ihrer Routing-Tabelle hinzu. Weitere Informationen finden Sie unter [Erstellen eines Schnittstellen-VPC-Endpunkts für AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/vpc-interface-endpoints.html#vpc-endpoint-create) und [Voraussetzungen](connection-S3-VPC.md#connection-S3-VPC-prerequisites). 

 Wenn Sie die Verschlüsselung in Data Catalog verwenden, erstellen Sie den Endpunkt der Benutzeroberfläche von KMS und fügen ihn zu Ihrer Routing-Tabelle hinzu. Weitere Informationen finden Sie unter [Erstellen eines VPC-Endpunkts für AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/kms-vpc-endpoint.html#vpce-create-endpoint). 

## Zugriff auf VPC-Daten über Elastic Network-Schnittstellen
<a name="connection-JDBC-VPC-ENI"></a>

Wenn eine AWS Glue Verbindung zu einem JDBC-Datenspeicher in einer VPC hergestellt AWS Glue wird, wird in Ihrem Konto eine elastic network interface (mit dem Präfix`Glue_`) für den Zugriff auf Ihre VPC-Daten erstellt. Sie können diese Netzwerkschnittstelle nicht löschen, solange sie angeschlossen ist. AWS Glue Ordnet im Rahmen der Erstellung der elastic network interface eine oder mehrere Sicherheitsgruppen zu. AWS Glue Um die Erstellung der Netzwerkschnittstelle AWS Glue zu ermöglichen, müssen Sicherheitsgruppen, die der Ressource zugeordnet sind, eingehenden Zugriff mit einer Quellregel zulassen. Diese Regel enthält eine Sicherheitsgruppe, die mit der Ressource verknüpft ist. Dies bietet der Elastic Network-Schnittstelle Zugriff auf Ihren Datenspeicher mit der gleichen Sicherheitsgruppe.

Um die Kommunikation mit ihren Komponenten AWS Glue zu ermöglichen, geben Sie eine Sicherheitsgruppe mit einer selbstreferenzierenden Regel für eingehenden Datenverkehr für alle TCP-Ports an. Durch Erstellen einer selbstreferenzierenden Regel können Sie die Quelle auf die gleiche Sicherheitsgruppe in der VPC beschränken und vermeiden, dass sie für alle Netzwerke geöffnet wird. Die Standardsicherheitsgruppe für Ihre VPC verfügt möglicherweise bereits über eine selbstreferenzierende eingehende Regel für `ALL Traffic`.

Sie können Regeln in der Amazon VPC-Konsole erstellen. Um die Regeleinstellungen über die AWS-Managementkonsole zu aktualisieren, navigieren Sie zur VPC-Konsole ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) und wählen Sie die entsprechende Sicherheitsgruppe aus. Geben Sie die eingehende Regel für `ALL TCP` an, damit sie als Quelle denselben Sicherheitsgruppennamen hat. Weitere Informationen zu Sicherheitsgruppenregeln finden Sie unter [Sicherheitsgruppen für Ihre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html).

Jeder elastic network interface wird eine private IP-Adresse aus dem IP-Adressbereich in den von Ihnen angegebenen Subnetzen zugewiesen. Der Netzwerkschnittstelle sind keine öffentlichen IP-Adressen zugewiesen. AWS Glue erfordert Internetzugang (z. B. für den Zugriff auf AWS Dienste, die keine VPC-Endpunkte haben). Sie können eine NAT-Instance (Network Address Translation) in Ihrer VPC erstellen oder das NAT-Gateway von Amazon VPC verwenden. Weitere Informationen finden Sie unter [NAT-Gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) im *Amazon-VPC-Benutzerhandbuch*. Sie können nicht direkt ein Internet-Gateway als Route in Ihrer Subnetzroutentabelle verwenden, das an Ihre VPC angefügt ist, da dafür die Netzwerkschnittstelle über öffentliche IP-Adressen verfügen muss.

Die VPC-Netzwerkattribute `enableDnsHostnames` und `enableDnsSupport` müssen auf "true" gesetzt werden. Weitere Informationen finden Sie unter [Verwenden von DNS in Ihrer VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html). 



**Wichtig**  
Platzieren Sie Ihren Datenspeicher nicht in einem öffentlichen Subnetz oder in einem privaten Subnetz, das keinen Internetzugang hat. Binden Sie sie stattdessen ausschließlich an private Subnetze an, die über eine NAT-Instance oder ein Amazon-VPC-NAT-Gateway auf das Internet zugreifen.

## Eigenschaften der Elastic Network-Schnittstelle
<a name="connection-JDBC-VPC-ENI-properties"></a>

Um die Elastic Network-Schnittstelle zu erstellen, müssen Sie die folgenden Eigenschaften angeben:

**VPC**  
Der Name der VPC, die Ihren Datenspeicher enthält.

**Subnetz**  
Das Subnetz in der VPC, die den Datenspeicher enthält. 

**Sicherheitsgruppen**  
Die Sicherheitsgruppen, die mit dem Datenspeicher verknüpft sind. AWS Glue ordnet diese Sicherheitsgruppen der Elastic Network-Schnittstelle zu, die mit Ihrem VPC-Subnetz verbunden ist. Damit AWS Glue -Komponenten kommunizieren können und den Zugriff von anderen Netzwerken verhindern, muss mindestens eine ausgewählte Sicherheitsgruppe eine selbstreferenzierende Regel für eingehenden Datenverkehr für alle TCP-Ports angeben.

Weitere Informationen zur Verwaltung einer VPC mit Amazon Redshift finden Sie im Artikel zum [Verwalten von Clustern in einer Amazon Virtual Private Cloud (VPC)](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-vpc.html).

Weitere Informationen zum Verwalten einer VPC mit Amazon Relational Database Service (Amazon RDS) finden Sie unter [Working with an Amazon RDS DB Instance in a VPC (Arbeiten mit einer Amazon-RDS-DB-Instance in einer VPC)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html).

# Verwenden einer MongoDB- oder MongoDB-Atlas-Verbindung
<a name="connection-mongodb"></a>

Nachdem Sie eine Verbindung für MongoDB oder MongoDB Atlas erstellt haben, können Sie diese Verbindung in Ihrem ETL-Auftrag verwenden. Sie erstellen eine Tabelle in der AWS Glue Data Catalog und geben die MongoDB- oder MongoDB-Atlas-Verbindung für das `connection` Attribut der Tabelle an. 

AWS Glue speichert Ihre Verbindung `url` und Ihre Anmeldeinformationen in der MongoDB-Verbindung. Verbindungs-URI-Formate sind wie folgt:
+ Für MongoDB: mongodb://host:port/database. Der Host kann ein Hostname, eine IP-Adresse oder ein UNIX-Domain-Socket sein. Wenn die Verbindungszeichenfolge keinen Port angibt, wird der standardmäßige MongoDB-Port 27017 verwendet.
+ Für MongoDB Atlas: mongodb\$1srv://server.example.com/database. Der Host kann ein Hostname sein, der im Folgenden einem DNS-SRV-Eintrag entspricht. Das SRV-Format benötigt keinen Port und verwendet den standardmäßigen MongoDB-Port 27017.

Darüber hinaus können Sie Optionen in Ihrem Auftragsskript angeben. Weitere Informationen finden Sie unter [Referenz zur MongoDB-Verbindungsoption](aws-glue-programming-etl-connect-mongodb-home.md#aws-glue-programming-etl-connect-mongodb).

# Crawling eines Amazon-S3-Datenspeichers mit einem VPC-Endpunkt
<a name="connection-S3-VPC"></a>

Zu Sicherheits-, Überwachungs- oder Kontrollzwecken möchten Sie möglicherweise, dass auf Ihren Amazon-S3-Datenspeicher oder Ihre Amazon-S3-gestützte Datenkatalog-Tabelle nur über eine Amazon-Virtual-Private-Cloud(Amazon VPC)-Umgebung zugegriffen wird. In diesem Thema wird beschrieben, wie Sie eine Verbindung zum Amazon-S3-Datenspeicher oder zur Amazon-S3-gestützten Datenkatalog-Tabelle in einem VPC-Endpunkt mithilfe der `Network`-Verbindung herstellen.

Führen Sie die folgenden Aufgaben aus, um einen Crawler im Datenspeicher auszuführen:
+ [Voraussetzungen](#connection-S3-VPC-prerequisites)
+ [Herstellen der Verbindung zu Amazon S3](#connection-S3-VPC-create-connection)
+ [Testen der Verbindung zu Amazon S3](#connection-S3-VPC-test-connection)
+ [Erstellen eines Crawlers für einen Amazon-S3-Datenspeicher](#connection-S3-VPC-create-crawler)
+ [Ausführen eines Crawlers](#connection-S3-VPC-run-crawler)

## Voraussetzungen
<a name="connection-S3-VPC-prerequisites"></a>

Überprüfen Sie, ob Sie diese Voraussetzungen für die Einrichtung Ihres Amazon-S3-Datenspeichers oder Ihrer Amazon-S3-gestützten Datenkatalog-Tabelle für den Zugriff über eine Amazon-Virtual-Private-Cloud(Amazon VPC)-Umgebung erfüllt haben.
+ Eine konfigurierte VPC. Zum Beispiel: vpc-01685961063b0d84b. Weitere Informationen finden Sie unter [Getting started with Amazon VPC (Erste Schritte mit Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html) im *Amazon-VPC-Benutzerhandbuch*.
+ Ein Amazon-S3-Endpunkt, der an die VPC angeschlossen ist. Zum Beispiel: vpc-01685961063b0d84b. Weitere Informationen finden Sie unter [Endpoints for Amazon S3 (Endpunkte für Amazon S3)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html) im *Amazon-VPC-Benutzerhandbuch*.  
![\[Beispiel eines Amazon-S3-Endpunkts, der an die VPC angeschlossen ist.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/network_s3_vpc_s3_endpoint_attached.png)
+ Ein Routeneintrag, der auf den VPC-Endpunkt verweist. Zum Beispiel vpce-0ec5da4d265227786 in der Routing-Tabelle, die vom VPC-Endpunkt verwendet wird (vpce-0ec5da4d265227786).  
![\[Beispiel eines Routeneintrags, der auf den VPC-Endpunkt verweist.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/network_s3_vpc_route_entry.png)
+ Eine Netzwerk-ACL, die an die VPC angeschlossen ist, erlaubt den Datenverkehr.
+ Eine an die VPC angeschlossene Sicherheitsgruppe erlaubt den Datenverkehr.

## Herstellen der Verbindung zu Amazon S3
<a name="connection-S3-VPC-create-connection"></a>

Typischerweise erstellen Sie diese Ressourcen innerhalb von Amazon Virtual Private Cloud (Amazon VPC), so dass sie nicht über das öffentliche Internet zugänglich sind. Standardmäßig AWS Glue kann nicht auf Ressourcen innerhalb einer VPC zugegriffen werden. Um den Zugriff auf Ressourcen innerhalb Ihrer VPC AWS Glue zu ermöglichen, müssen Sie zusätzliche VPC-spezifische Konfigurationsinformationen angeben, die das IDs VPC-Subnetz und die Sicherheitsgruppe umfassen. IDs Um eine `Network`-Verbindung herzustellen, benötigen Sie folgende Informationen:
+ EINE VPC-ID
+ Ein Subnetz innerhalb der VPC
+ Eine Sicherheitsgruppen-ID

Eine `Network`-Verbindung einrichten:

1. Wählen Sie im Navigationsbereich der AWS Glue -Konsole **Add connection (Verbindung hinzufügen)** aus.

1. Geben Sie den Verbindungsnamen ein und wählen Sie **Network (Netzwerk)** als Verbindungstyp. Wählen Sie **Next (Weiter)**.  
![\[Auswahl des Verbindungstyps.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/network_s3_vpc_add_network_1.png)

1. Konfigurieren Sie die VPC -, Subnetz- und Sicherheitsgruppeninformationen.
   + VPC: Wählen Sie den Namen der VPC aus, der Ihren Datenspeicher enthält.
   + Subnetz: Wählen Sie das Subnetz in Ihrer VPC aus.
   + Sicherheitsgruppen: Wählen Sie eine oder mehrere Sicherheitsgruppen aus, die den Zugriff auf den Datenspeicher in Ihrer VPC ermöglichen.  
![\[Auswahl des Verbindungstyps.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/network_s3_vpc_add_network_2.png)

1. Wählen Sie **Weiter** aus.

1. Überprüfen Sie die Verbindungsinformationen und wählen Sie **Finish (Beenden)** aus.  
![\[Auswahl des Verbindungstyps.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/network_s3_vpc_add_network_3.png)

## Testen der Verbindung zu Amazon S3
<a name="connection-S3-VPC-test-connection"></a>

Sobald Sie Ihre `Network`-Verbindung erstellt haben, können Sie die Konnektivität zu Ihrem Amazon-S3-Datenspeicher in einem VPC-Endpunkt testen.

Beim Testen einer Verbindung können folgende Fehler auftreten:
+ INTERNET-VERBINDUNGSFEHLER: zeigt ein Problem mit der Internetverbindung an
+ UNGÜLTIGER BUCKET FEHLER: deutet auf ein Problem mit dem Amazon S3 Bucket hin
+ S3 VERBINDUNGSFEHLER: zeigt einen Fehler bei der Verbindung zu Amazon S3 an
+ UNGÜLTIGER VERBINDUNGSTYP: weist darauf hin, dass der Verbindungstyp nicht den erwarteten Wert hat, `NETWORK`
+ UNGÜLTIGER VERBINDUNGSTESTTYP: weist auf ein Problem mit dem Typ des Netzwerkverbindungstests hin
+ INVALID TARGET: weist darauf hin, dass der Amazon S3 Bucket nicht richtig angegeben wurde

So testen Sie eine `Network`-Verbindung:

1. Wählen Sie die **Netzwerkverbindung** in der AWS Glue -Konsole aus.

1. Wählen Sie **Test connection (Verbindung testen)** aus.

1. Wählen Sie die IAM-Rolle aus, die Sie im vorherigen Schritt erstellt haben, und geben Sie einen Amazon S3 Bucket an.

1. Wählen Sie zum Starten des Tests **Test connection (Verbindung testen)** aus. Es kann einige Augenblicke dauern, um das Ergebnis zu zeigen. 

![\[Testen der Verbindung.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/network_s3_vpc_test_network.png)


 Wenn Ihnen ein Fehler angezeigt wird, gehen Sie folgendermaßen vor:
+ Die richtigen Berechtigungen werden für die ausgewählte Rolle bereitgestellt.
+ Der richtige Amazon S3 Bucket wird bereitgestellt.
+ Die Sicherheitsgruppen und die Netzwerk-ACL ermöglichen den erforderlichen eingehenden und ausgehenden Datenverkehr.
+ Die angegebene VPC ist mit einem Amazon-S3-VPC-Endpunkt verbunden.

Sobald Sie die Verbindung erfolgreich getestet haben, können Sie einen Crawler erstellen.

## Erstellen eines Crawlers für einen Amazon-S3-Datenspeicher
<a name="connection-S3-VPC-create-crawler"></a>

Jetzt können Sie einen Crawler erstellen, der die `Network`-Verbindung angibt, die Sie erstellt haben. Weitere Informationen zum Erstellen eines Crawlers finden Sie unter [Konfigurieren eines Crawlers](define-crawler.md).

1. Wählen Sie zunächst im Navigationsbereich der **Konsole Crawlers** aus. AWS Glue 

1. Wählen Sie **Add crawler (Crawler hinzufügen)**.

1. Geben Sie dem Crawler einen Namen und klicken Sie auf **Next (Weiter)**.

1. Wählen Sie bei der Aufforderung zur Datenquelle **S3** aus und geben Sie das Präfix für den Amazon S3 Bucket und die Verbindung an, die Sie zuvor erstellt haben.  
![\[Testen der Verbindung.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/network_s3_vpc_add_crawler_1.png)

1. Fügen Sie ggf. einen anderen Datenspeicher auf derselben Netzwerkverbindung hinzu.

1. Wählen Sie die IAM-Rolle aus. Die IAM-Rolle muss den Zugriff auf den AWS Glue -Service und den Amazon S3 Bucket gestatten. Weitere Informationen finden Sie unter [Konfigurieren eines Crawlers](define-crawler.md).  
![\[Testen der Verbindung.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/network_s3_vpc_add_crawler_2.png)

1. Definieren Sie den Zeitplan für den Crawler.

1. Wählen Sie eine vorhandene Datenbank im Data Catalog aus oder erstellen Sie einen neuen Datenbankeintrag.  
![\[Testen der Verbindung.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/network_s3_vpc_add_crawler_3.png)

1. Beenden Sie die verbleibende Einrichtung.

## Erstellen eines Crawlers für Amazon-S3-unterstützte Datenkatalog-Tabellen
<a name="connection-S3-VPC-create-crawler-catalog-vpc"></a>

Sie können jetzt einen Crawler erstellen, der die von Ihnen erstellte `Network`-Verbindung und einen Katalogquelltyp angibt. Weitere Informationen zum Erstellen eines Crawlers finden Sie unter [Konfigurieren eines Crawlers](define-crawler.md).

1. Wählen Sie zunächst im Navigationsbereich der Konsole **Crawlers** aus. AWS Glue 

1. Wählen Sie **Add crawler (Crawler hinzufügen)**.

1. Geben Sie dem Crawler einen Namen und klicken Sie auf **Next (Weiter)**.

1. Wenn Sie nach dem Crawler-Quellentyp gefragt werden, wählen Sie **Bestehende Katalogtabellen**, und geben Sie die vorhandenen Katalogtabellen an, die aus der Liste der verfügbaren Tabellen gecrawlt werden sollen.  
![\[Auswahl des Crawler-Quelltyps.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/catalog-vpc-1.png)

1. Wählen Sie die IAM-Rolle aus. Die IAM-Rolle muss den Zugriff auf den AWS Glue -Service und den Amazon S3 Bucket gestatten. Weitere Informationen finden Sie unter [Konfigurieren eines Crawlers](define-crawler.md).

1. Definieren Sie den Zeitplan für den Crawler.

1. Wählen Sie eine vorhandene Datenbank im Data Catalog aus oder erstellen Sie einen neuen Datenbankeintrag.

1. Beenden Sie die verbleibende Einrichtung und überprüfen Sie Ihre Schritte.  
![\[Auswahl des Crawler-Quelltyps.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/catalog-vpc-2.png)

## Ausführen eines Crawlers
<a name="connection-S3-VPC-run-crawler"></a>

Führen Sie Ihren Crawler aus.

![\[Führen Sie Ihren Crawler on demand aus.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/network_s3_vpc_s3_endpoint_run_crawler.png)


## Fehlerbehebung
<a name="connection-S3-VPC-troubleshooting"></a>

Informationen zur Fehlerbehebung in Bezug auf Amazon S3 Buckets mit einem VPC Gateway finden Sie unter [Why can't I connect to an S3 bucket using a gateway VPC endpoint? (Warum kann ich keine Verbindung zu einem S3 Bucket unter Verwendung eines Gateway-VPC-Endpunkts herstellen?)](https://aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint/)

# Arbeiten mit AWS Lake Formation-geschützten Daten
<a name="working-with-lake-formation-protected-data"></a>

## Vollständiger Tabellenzugriff
<a name="full-table-access"></a>

AWS Glue unterstützt Full Table Access (FTA) für AWS Lake Formation-geschützte Tabellen. Dadurch können Ihre ETL-Aufträge Daten mit vollständigen Tabellenberechtigungen lesen und schreiben.

### Voraussetzungen
<a name="full-table-access-prerequisites"></a>
+ Entsprechende IAM-Rollen und -Berechtigungen
+ AWS Lake Formation für Ihren Datenkatalog konfiguriert
+ Kompatible Tabellentypen (Hive oder Iceberg)

### Wesentliche Überlegungen
<a name="full-table-access-key-considerations"></a>

#### Erforderliche Berechtigungen
<a name="full-table-access-required-permissions"></a>
+ `lakeformation:GetDataAccess`-IAM-Berechtigung
+ AWS Lake Formation Tabellenberechtigungen
+ Zugriffsberechtigungen für Amazon-S3-Buckets

#### Unterstützte Tabellentypen
<a name="full-table-access-supported-table-types"></a>
+ Hive-Tabellen
+ Iceberg-Tabellen

#### Einschränkungen
<a name="full-table-access-limitations"></a>
+ Nicht kompatibel mit Spark Streaming
+ Kann nicht gleichzeitig mit differenzierter Zugriffskontrolle verwendet werden
+ Unterstützt keine Delta- oder Hudi-Tabellen

### Bewährte Methoden
<a name="full-table-access-best-practices"></a>

1. Vor der Auftragsausführung sicherstellen, dass IAM-Rollen ordnungsgemäß konfiguriert sind

1. Zugriffsberechtigungen in einer Entwicklungsumgebung testen

1. Protokolle zur Auftragsausführung auf Probleme im Zusammenhang mit Berechtigungen überwachen

1. Für eine klare Dokumentation der Zugriffsmuster sorgen

### Fehlerbehebung
<a name="full-table-access-troubleshooting"></a>

Häufige Probleme sind unter anderem:
+ Fehlende IAM-Berechtigungen
+ Falsche AWS Lake Formation Konfiguration
+ Kompatibilitätsprobleme von Tabellentypen

Vollständige Anweisungen zur Einrichtung und Konfigurationsdetails finden Sie unter [Verwendung AWS Lake Formation mit vollständigem Tabellenzugriff](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/lake-formation-unfiltered-access.html). 

# Beheben von Problemen mit Verbindungen in AWS Glue
<a name="troubleshooting-connection"></a>

Wenn ein AWS Glue Crawler oder ein Job Verbindungseigenschaften verwendet, um auf einen Datenspeicher zuzugreifen, können Fehler auftreten, wenn Sie versuchen, eine Verbindung herzustellen. AWS Glueverwendet private IP-Adressen im Subnetz, wenn elastische Netzwerkschnittstellen in Ihrer angegebenen Virtual Private Cloud (VPC) und dem Subnetz erstellt werden. In der -Verbindung angegebene Sicherheitsgruppen werden auf die einzelnen Elastic Network-Schnittstellen angewendet. Überprüfen Sie, ob Sicherheitsgruppen den ausgehenden Zugriff zulassen und ob sie Verbindungen zum Datenbank-Cluster zulassen. 

Darüber hinaus erfordert Apache Spark bidirektionale Verbindungen zwischen Treiber und Executor-Knoten. Eine der Sicherheitsgruppen muss Regeln für eingehenden Datenverkehr auf allen TCP-Ports zulassen. Sie können verhindern, dass sie der Welt offen steht, indem Sie die Quelle der Sicherheitsgruppe mit einer selbstreferenzierenden Sicherheitsgruppe auf sich selbst beschränken. 

Hier finden Sie einige typische Maßnahmen, die Sie ergreifen können, um Verbindungsprobleme zu beheben:
+ Prüfen Sie die Port-Adresse Ihrer Verbindung.
+ Überprüfen Sie den Benutzernamen und die Passwort-Zeichenfolge in Ihrer Verbindung oder Ihrem Secret.
+ Überprüfen Sie bei einem JDBC-Datenspeicher, ob dieser eingehende Verbindungen zulässt.
+ Überprüfen Sie, ob innerhalb Ihrer VPC auf Ihren Datenspeicher zugegriffen werden kann.
+ Wenn Sie Ihre Verbindungsdaten mit speichern, stellen Sie sicher AWS Secrets Manager, dass Ihre IAM-Rolle für die Zugriffsberechtigung auf Ihr AWS Glue Geheimnis berechtigt ist. Weitere Beispiele finden Sie unter [Beispiel: Berechtigung zum Abrufen von Secret-Werten](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_read) im *AWS Secrets Manager -Benutzerhandbuch*. Abhängig von Ihrer Netzwerkkonfiguration müssen Sie möglicherweise auch einen VPC-Endpunkt erstellen, um eine private Verbindung zwischen Ihrer VPC und dem Secrets Manager herzustellen. Weitere Informationen finden Sie unter [Verwenden eines AWS Secrets Manager VPC-Endpunkts](https://docs.aws.amazon.com/secretsmanager/latest/userguide/vpc-endpoint-overview.html).

# Tutorial: Den AWS Glue Connector für Elasticsearch verwenden
<a name="tutorial-elastisearch-connector"></a>

Elasticsearch ist ein häufig verwendetes Open-Source-Such- und Analysemodul für die Protokollanalyse, Echtzeitüberwachung von Anwendungen, Clickstream-Analyse und ähnliche Anwendungsfälle. Sie können ihn OpenSearch als Datenspeicher für Ihre ETL-Jobs (Extrahieren, Transformieren und Laden) verwenden, indem Sie den AWS Glue Connector für Elasticsearch in konfigurieren. AWS Glue Studio Dieser Konnektor kann kostenlos von [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-v5ygernwn2gb6) bezogen werden. 

**Anmerkung**  
 Der [AWS Marketplace Elasticsearch Spark Connector ](https://aws.amazon.com/marketplace/pp/B08PPT2V5J) ist veraltet. Bitte verwenden Sie stattdessen den [AWS Glue -Konnektor für Elasticsearch ](https://aws.amazon.com/marketplace/pp/prodview-v5ygernwn2gb6). 

 In diesem Tutorial zeigen wir, wie Sie mit einer minimalen Anzahl von Schritten eine Verbindung zu Ihren Amazon OpenSearch Service-Knoten herstellen können. 

**Topics**
+ [Voraussetzungen](#tutorial-prerequisites)
+ [Schritt 1: (Optional) Erstellen Sie einen AWS geheimen Schlüssel für Ihre OpenSearch Clusterinformationen](#tutorial-step1)
+ [Schritt 2: Abonnieren des Konnektors](#tutorial-step2)
+ [Schritt 3: Aktivieren Sie den Connector AWS Glue Studio und stellen Sie eine Verbindung her](#tutorial-step3)
+ [Schritt 4: Konfigurieren einer IAM-Rolle für Ihren ETL-Auftrag](#tutorial-step4)
+ [Schritt 5: Erstellen Sie einen Job, der die OpenSearch Verbindung verwendet](#tutorial-step5)
+ [Schritt 6: Ausführen des Auftrags](#tutorial-step6)

## Voraussetzungen
<a name="tutorial-prerequisites"></a>

Für dieses Tutorial benötigen Sie Folgendes:
+ Zugriff auf AWS Glue Studio
+ Zugriff auf einen OpenSearch Cluster in der AWS Cloud
+ (Optional) Zugriff auf AWS Secrets Manager.

## Schritt 1: (Optional) Erstellen Sie einen AWS geheimen Schlüssel für Ihre OpenSearch Clusterinformationen
<a name="tutorial-step1"></a>

 Damit die Anmeldeinformationen für die Verbindung sicher gespeichert sind und Sie sie sicher verwenden können, speichern Sie sie in AWS Secrets Manager. Das Secret, das Sie erstellen, wird später im Tutorial von der Verbindung verwendet. Die Schlüssel-Wert-Paare der Anmeldeinformationen werden als normale Verbindungsoptionen in den AWS Glue Connector für Elasticsearch eingespeist. 

Weitere Informationen zur Erstellung von Secrets finden Sie unter [Erstellen und Verwalten von Secrets mit AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html) im *AWS Secrets Manager -Benutzerhandbuch*.

**Um ein Geheimnis zu erstellen AWS**

1. Melden Sie sich bei der [AWS Secrets Manager -Konsole](https://console.aws.amazon.com/secretsmanager/) an.

1. Wählen Sie entweder auf der Service-Einführungsseite oder der **Secrets**-Listenseite die Option **Store a new secret (Neues Secret speichern)**.

1. Wählen Sie auf der Seite **Store a new secret (Ein neues Secret speichern)** die Option **Other type of secret (Andere Art von Secret)**. Bei dieser Option müssen die Struktur und die Details Ihres Secrets angeben.

1. Fügen Sie ein **Schlüssel** - und **Wertepaar** für den OpenSearch Cluster-Benutzernamen hinzu. Beispiel:

   `es.net.http.auth.user`: *username*

1. Wählen Sie **\$1 Add row (Zeile hinzufügen)** aus und geben Sie ein weiteres Schlüssel-Wert-Paar für das Passwort ein. Beispiel:

   `es.net.http.auth.pass`: *password*

1. Wählen Sie **Weiter** aus.

1. Geben Sie einen Secret-Namen ein. Beispiel: **my-es-secret**. Optional können Sie eine Beschreibung eingeben.

   Notieren Sie den Secret-Namen, der später in diesem Tutorial verwendet wird, und wählen Sie **Next (Weiter)** aus.

1. Wählen Sie **Next (Weiter)** aus und danach **Store (Speichern)**, um das Secret zu erstellen.

### Nächster Schritt
<a name="tutorial-step1.2"></a>

 [Schritt 2: Abonnieren des Konnektors](#tutorial-step2) 

## Schritt 2: Abonnieren des Konnektors
<a name="tutorial-step2"></a>

Der AWS Glue Connector für Elasticsearch ist kostenlos erhältlich bei. [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-v5ygernwn2gb6#pdp-pricing) 

**Um den AWS Glue Connector für Elasticsearch zu abonnieren unter AWS Marketplace**

1. Wenn Sie Ihr AWS Konto noch nicht für die Verwendung von License Manager konfiguriert haben, gehen Sie wie folgt vor:

   1. Öffnen Sie die AWS License Manager Konsole unter [https://console.aws.amazon.com/license-manager.](https://console.aws.amazon.com/license-manager)

   1. Wählen Sie **Create customer managed license (Kundenverwaltete Lizenz erstellen)** aus.

   1. **Wählen Sie im Fenster **IAM-Berechtigungen (einmalige Einrichtung)** die Option **Ich erteile AWS License Manager die erforderlichen Berechtigungen und anschließend Berechtigungen gewähren** aus.**

      Wenn Sie dieses Fenster nicht sehen, haben Sie bereits die erforderlichen Berechtigungen konfiguriert.

1. Öffnen Sie die AWS Glue Studio-Konsole unter [https://console.aws.amazon.com/gluestudio/](https://console.aws.amazon.com/gluestudio/).

1. Erweitern Sie in der AWS Glue Studio Konsole das Menüsymbol (![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/nav-menu-icon.png)) und wählen Sie dann im Navigationsbereich **Connectors** aus.

1. Wählen Sie auf der Seite **Connectors** die Option **Go to AWS Marketplace** (Zu MKT wechseln) aus.

1. Geben Sie im Bereich ** AWS Glue Studio Produkte suchen** den Text **AWS Glue Connector for Elasticsearch** in das Suchfeld ein und drücken Sie dann die Eingabetaste. AWS Marketplace

1.  Wählen Sie den Namen des Connectors. **AWS Glue -Connector für Elasticsearch** aus. 

1. Die Registerkarten auf der Produktseite für den Konnektor enthalten Informationen zum Konnektor. Wenn Sie bereit sind, fortzufahren, wählen Sie **Continue to Subscribe (Abonnieren fortsetzen)** aus.

1.  Lesen Sie die Nutzungsbedingungen für die Software. Klicken Sie auf **Accept Terms**(Bedingungen akzeptieren). 

1.  Wenn der Abonnementvorgang abgeschlossen ist, wird die Benachrichtigung „Vielen Dank, dass Sie dieses Produkt abonniert haben\$1 Sie können jetzt Ihre Software konfigurieren“ angezeigt. Oberhalb des Banners befindet sich die Schaltfläche **Continue to Configuration** (Weiter zur Konfiguration). Wählen Sie **Continue to Configuration (Weiter zur Konfiguration)** aus. 

1.  Wählen Sie die Option „Fulfillment“ auf der Seite **Configure this software** (Diese Software konfigurieren). Sie können entweder zwischen AWS Glue 1.0/2.0 oder 3.0 wählen. AWS Glue Wählen Sie dann **Continue to Launch** (Weiter zum Start) aus.

### Nächster Schritt
<a name="tutorial-step2.1"></a>

 [Schritt 3: Aktivieren Sie den Connector AWS Glue Studio und stellen Sie eine Verbindung her](#tutorial-step3) 

## Schritt 3: Aktivieren Sie den Connector AWS Glue Studio und stellen Sie eine Verbindung her
<a name="tutorial-step3"></a>

Nachdem Sie **Weiter zum Start** ausgewählt haben, wird die Seite **Diese Software starten** unter angezeigt AWS Marketplace. Nachdem Sie den Link zur Aktivierung des Connectors verwendet haben AWS Glue Studio, stellen Sie eine Verbindung her. 

**Um den Connector bereitzustellen und eine Verbindung herzustellen in AWS Glue Studio**

1. Wählen Sie auf der Seite **Diese Software starten** in der AWS Marketplace Konsole die Option **Nutzungsanweisungen** und dann den Link im daraufhin angezeigten Fenster aus.

   Ihr Browser wird auf die AWS Glue Studio Konsolenseite **Marketplace-Verbindung erstellen** umgeleitet.

1. Geben Sie einen Namen für die Verbindung ein. Beispiel: **my-es-connection**.

1. Wählen Sie im Abschnitt **Connection access (Verbindungszugriff)** bei **Connection credential type (Anmeldeinformationstyp für die Verbindung)** die Option **Benutzername und Passwort** aus. 

1. Geben Sie als **AWS secret** den Namen Ihres Secrets ein. Beispiel: **my-es-secret**.

1. Geben Sie im Abschnitt **Netzwerkoptionen** die VPC-Informationen für die Verbindung mit dem OpenSearch Cluster ein. 

1. Wählen Sie **Create connection and activate connector (Verbindung erstellen und Konnektor aktivieren)** aus.

### Nächster Schritt
<a name="tutorial-step3.1"></a>

 [Schritt 4: Konfigurieren einer IAM-Rolle für Ihren ETL-Auftrag](#tutorial-step4) 

## Schritt 4: Konfigurieren einer IAM-Rolle für Ihren ETL-Auftrag
<a name="tutorial-step4"></a>

Wenn Sie den AWS Glue ETL-Job erstellen, geben Sie eine AWS Identity and Access Management (IAM-) Rolle an, die der Job verwenden soll. Die Rolle muss Zugriff auf alle vom Job verwendeten Ressourcen gewähren, einschließlich Amazon S3 (für alle Quellen, Ziele, Skripts, Treiberdateien und temporären Verzeichnisse) und auch auf AWS Glue Data Catalog Objekte.

Die angenommene IAM-Rolle für den AWS Glue ETL-Job muss auch Zugriff auf das Geheimnis haben, das im vorherigen Abschnitt erstellt wurde. Standardmäßig hat die verwaltete AWS-Rolle `AWSGlueServiceRole` keinen Zugriff auf das Secret. Informationen zum Einrichten der Zugriffssteuerung für Ihre Secrets finden Sie unter [Authentifizierung und Zugriffskontrolle für AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) und [Beschränken des Zugriffs auf bestimmte Secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_identity-based-policies.html#permissions_grant-limited-resources).

**Eine IAM-Rolle für den ETL-Auftrag konfigurieren**

1. Konfigurieren Sie die in [Erforderliche IAM-Berechtigungen für ETL-Aufträge überprüfen](getting-started-min-privs-job.md) beschriebenen Berechtigungen.

1. Konfigurieren Sie die zusätzlichen Berechtigungen, die für die Verwendung von Connectoren mit erforderlich AWS Glue Studio sind, wie unter beschrieben[Erforderliche Berechtigungen zur Verwendung von Konnektoren](getting-started-min-privs-job.md#getting-started-min-privs-connectors).

### Nächster Schritt
<a name="tutorial-step4.1"></a>

 [Schritt 5: Erstellen Sie einen Job, der die OpenSearch Verbindung verwendet](#tutorial-step5) 

## Schritt 5: Erstellen Sie einen Job, der die OpenSearch Verbindung verwendet
<a name="tutorial-step5"></a>

Nachdem Sie eine Rolle für Ihren ETL-Job erstellt haben, können Sie einen Job erstellen AWS Glue Studio , der die Verbindung und den Konnektor für Open Spark verwendet ElasticSearch.

Wenn Ihr Auftrag in einer Amazon Virtual Private Cloud (Amazon VPC) ausgeführt wird, stellen Sie sicher, dass die VPC korrekt konfiguriert ist. Weitere Informationen finden Sie unter [Konfigurieren Sie eine VPC für Ihren ETL-Auftrag](getting-started-vpc-config.md).

**Einen Auftrag erstellen, der den Elasticsearch-Spark-Konnektor verwendet**

1. Wählen Sie in AWS Glue Studio**Connectors** aus.

1. Wählen Sie aus der Liste **Your connection (Ihre Verbindung)** die soeben erstellte Verbindung und dann **Create job (Auftrag erstellen)** aus.

1. Wählen Sie im visuellen Auftragseditor den Datenquellknoten aus. Auf der Registerkarte rechts (**Data source properties - Connector (Datenquelleigenschaften – Konnektor)**) machen Sie zusätzliche Angaben für den Konnektor. 

   1. Wählen Sie **Add schema (Schema hinzufügen)** und geben Sie das Schema des Datensatzes in der Datenquelle ein. Verbindungen verwenden keine Tabellen, die im Datenkatalog gespeichert sind, was bedeutet, dass AWS Glue Studio der Datenkatalog das Schema der Daten nicht kennt. Sie müssen diese Schemainformationen manuell angeben. Anweisungen zur Verwendung des Schema-Editors finden Sie unter [Bearbeiten des Schemas in einem benutzerdefinierten Transformationsknoten](transforms-custom.md#transforms-custom-editschema).

   1. Klappen Sie **Connection options (Verbindungsoptionen)** aus.

   1. Wählen Sie die **Option Neue hinzufügen** und geben Sie die Informationen ein, die für den Konnektor benötigt werden, der nicht in das AWS Geheimnis eingegeben wurde:
      +  **es.nodes**: https://*< OpenSearch Domain-Endpunkt>* 
      +  **es.port**: 443
      +  **Pfad**: Test 
      +  **es.nodes.wan.only.**: true 

      Eine Erläuterung dieser Verbindungsoptionen finden Sie unter [https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html](https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html).

1. Fügen Sie dem Diagramm einen Zielknoten hinzu. 

   Ihr Datenziel kann Amazon S3 sein, es kann aber auch Informationen aus einem AWS Glue Data Catalog oder einen Connector nutzen, um Daten an einem anderen Speicherort zu schreiben. Sie können beispielsweise mithilfe einer Data-Catalog-Tabelle in eine Datenbank in Amazon RDS schreiben oder einen Connector als Datenziel verwenden, um in Datenspeicher zu schreiben, die von sich aus nicht in AWS Glue unterstützt werden.

   Wenn Sie einen Connector für Ihr Datenziel auswählen, müssen Sie eine Verbindung auswählen, die für diesen Connector erstellt wurde. Außerdem müssen Sie, falls der Connectoranbieter das verlangt, Optionen hinzufügen, um dem Connector zusätzliche Informationen bereitzustellen. Wenn Sie eine Verbindung verwenden, die Informationen für ein AWS Geheimnis enthält, müssen Sie den Benutzernamen und das Kennwort nicht in den Verbindungsoptionen angeben.

1. Fügen Sie optional zusätzliche Datenquellen und einen oder mehrere Transformationsknoten hinzu, wie unter [Transformieren von Daten mit von AWS Glue verwalteten Transformationen](edit-jobs-transforms.md) beschrieben.

1. Konfigurieren Sie die Auftragseigenschaften wie unter [Ändern der Auftragseigenschaften](managing-jobs-chapter.md#edit-jobs-properties) beschrieben, beginnend mit Schritt 3, und speichern Sie den Auftrag.

### Nächster Schritt
<a name="tutorial-step5.1"></a>

 [Schritt 6: Ausführen des Auftrags](#tutorial-step6) 

## Schritt 6: Ausführen des Auftrags
<a name="tutorial-step6"></a>

Nachdem Sie den Auftrag gespeichert haben, können Sie ihn ausführen. Dadurch starten die ETL-Operationen.

**Um den Job auszuführen, den Sie für den AWS Glue Connector for Elasticsearch erstellt haben**

1. Wählen Sie in der AWS Glue Studio Konsole auf der Visual Editor-Seite die Option **Ausführen** aus.

1. Um Informationen über die Auftragsausführung zu sehen, wählen Sie die Option **Run Details (Details ausführen)** im Bestätigungsbanner oder die Registerkarte **Runs (Ausführungen)** im visuellen Editor.