

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

# Herstellen einer Verbindung mit 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)