

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menghubungkan ke Microsoft Teams
<a name="connecting-to-microsoft-teams"></a>

 Microsoft Teams adalah ruang kerja kolaboratif dalam Microsoft 365 yang bertindak sebagai pusat percakapan di tempat kerja, kerja tim kolaboratif, obrolan video, dan berbagi dokumen, semuanya dirancang untuk membantu produktivitas pekerja dalam rangkaian alat terpadu. 

**Topics**
+ [AWS Glue dukungan untuk Microsoft Teams](microsoft-teams-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](microsoft-teams-configuring-iam-permissions.md)
+ [Mengkonfigurasi Microsoft Teams](microsoft-teams-configuring.md)
+ [Mengkonfigurasi koneksi Microsoft Teams](microsoft-teams-configuring-connections.md)
+ [Membaca dari entitas Microsoft Teams](microsoft-teams-reading-from-entities.md)
+ [Referensi opsi koneksi Microsoft Teams](microsoft-teams-connection-options.md)
+ [Batasan](microsoft-teams-connector-limitations.md)
+ [Buat akun Microsoft Teams baru:](#microsoft-teams-account-creation)

# AWS Glue dukungan untuk Microsoft Teams
<a name="microsoft-teams-support"></a>

AWS Glue mendukung Microsoft Teams sebagai berikut:

**Didukung sebagai sumber?**  
Ya. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk menanyakan data dari Microsoft Teams.

**Didukung sebagai target?**  
Tidak.

**Versi Microsoft Teams API yang didukung**  
 v1. Untuk dukungan entitas per versi tertentu, lihat Entitas yang didukung untuk sumber. 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="microsoft-teams-configuring-iam-permissions"></a>

 Kebijakan contoh berikut menjelaskan AWS izin yang diperlukan untuk membuat dan menggunakan koneksi. Jika Anda membuat peran baru, buat kebijakan yang berisi hal-hal berikut: 

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

****  

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

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Memberikan akses ke sumber daya yang diperlukan berbagai AWS Glue proses untuk dijalankan atas nama Anda. Sumber daya ini termasuk AWS Glue, Amazon S3, IAM, CloudWatch Log, dan Amazon EC2. Jika Anda mengikuti konvensi penamaan untuk sumber daya yang ditentukan dalam kebijakan ini, AWS Glue proses memiliki izin yang diperlukan. Kebijakan ini biasanya dilampirkan pada peran yang ditentukan saat menentukan crawler, tugas, dan titik akhir pengembangan. 
+  [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Memberikan akses penuh ke AWS Glue sumber daya saat identitas yang dilampirkan kebijakan menggunakan Konsol AWS Manajemen. Jika Anda mengikuti konvensi penamaan untuk sumber daya yang ditentukan dalam kebijakan ini, maka pengguna memiliki kemampuan konsol penuh. Kebijakan ini biasanya dilampirkan ke pengguna AWS Glue konsol. 

# Mengkonfigurasi Microsoft Teams
<a name="microsoft-teams-configuring"></a>

Sebelum dapat digunakan AWS Glue untuk mentransfer data dari Microsoft Teams, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="microsoft-teams-configuring-min-requirements"></a>
+  Anda memiliki akun pengembang Microsoft Teams dengan Email dan Kata Sandi. Untuk informasi selengkapnya, lihat [Buat akun Microsoft Teams baru:](connecting-to-microsoft-teams.md#microsoft-teams-account-creation). 
+  Anda harus menyiapkan OAuth2 aplikasi di akun Microsoft Anda yang menyediakan ID klien dan kredenal rahasia yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan terautentikasi ke akun Anda. Untuk informasi selengkapnya, lihat [Buat akun Microsoft Teams baru:](connecting-to-microsoft-teams.md#microsoft-teams-account-creation). 

 Jika memenuhi persyaratan ini, Anda siap untuk terhubung AWS Glue ke akun Microsoft Teams Anda. Untuk koneksi biasa, Anda tidak perlu melakukan hal lain di Microsoft Teams. 

# Mengkonfigurasi koneksi Microsoft Teams
<a name="microsoft-teams-configuring-connections"></a>

Microsoft Teams mendukung dua jenis berikut untuk mekanisme otentikasi:

1.  OAuth Auth: Microsoft Teams mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2 
   +  Jenis hibah ini dianggap “berkaki tiga” OAuth karena bergantung pada pengalihan pengguna ke server otorisasi pihak ketiga untuk mengautentikasi pengguna. Ini digunakan saat membuat koneksi melalui AWS Glue Konsol. Pengguna yang membuat koneksi mungkin secara default bergantung pada aplikasi terhubung yang AWS Glue dimiliki di mana mereka tidak perlu memberikan informasi OAuth terkait apa pun kecuali untuk instanceurl Microsoft Teams. AWS Glue Konsol akan mengarahkan pengguna ke Microsoft Teams di mana pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instance Microsoft Teams mereka. 
   +  Pengguna dapat memilih untuk membuat aplikasi tersambung mereka sendiri di Microsoft Teams dan memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Microsoft Teams untuk login dan otorisasi AWS Glue untuk mengakses sumber daya mereka. 
   +  Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses aktif selama satu jam, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 
   +  Untuk dokumentasi Microsoft Teams publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat \$1 Microsoft Learn. [Daftarkan aplikasi dengan platform identitas Microsoft - Microsoft Graph](https://learn.microsoft.com/en-us/graph/auth-register-app-v2). 

Untuk mengonfigurasi koneksi Microsoft Teams:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Diperlukan untuk membuat rahasia untuk setiap koneksi di AWS Glue. 

   1.  Untuk OAuth autentikasi: 
      +  Untuk aplikasi terhubung yang dikelola pelanggan - Rahasia harus berisi aplikasi Consumer Secret yang terhubung dengan USER\$1MANAGED\$1CLIENT\$1APPLICATION\$1CLIENT\$1SECRET sebagai kunci. 

1. Di AWS Glue Studio, buat koneksi di bawah **Koneksi Data** dengan mengikuti langkah-langkah di bawah ini: 

   1.  Di bawah Koneksi Data, pilih **Buat koneksi**. 

   1. Saat memilih **Sumber Data**, pilih Microsoft Teams.

   1. Berikan **ID Penyewa** Microsoft Teams Anda.

   1.  Pilih peran IAM yang AWS Glue dapat diasumsikan dan memiliki izin untuk tindakan berikut: 

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

****  

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

------

   1.  Menyediakan Aplikasi Klien Terkelola Pengguna ClientId dari aplikasi Microsoft Teams. 

   1.  Pilih `secretName` yang ingin Anda gunakan untuk koneksi ini AWS Glue untuk memasukkan token. 

   1.  Pilih opsi jaringan jika Anda ingin menggunakan jaringan Anda. 

1.  Berikan peran IAM yang terkait dengan izin AWS Glue pekerjaan Anda untuk membaca`secretName`. Pilih **Berikutnya**. 

1.  Dalam konfigurasi AWS Glue pekerjaan Anda, berikan `connectionName` sebagai **koneksi jaringan tambahan**. 

# Membaca dari entitas Microsoft Teams
<a name="microsoft-teams-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Microsoft Teams yang ingin Anda baca. Anda akan memerlukan nama objek seperti tim atau saluran-pesan. Tabel berikut menunjukkan entitas yang didukung. 

 **Entitas yang didukung untuk Sumber** 

 Semua entitas didukung dengan API versi 1.0. 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih\$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Tim | Tidak | Tidak | Tidak | Ya | Tidak | 
| Anggota Tim | Ya | Ya | Tidak | Ya | Ya | 
| Grup | Ya | Ya | Ya | Ya | Ya | 
| Anggota Grup | Ya | Ya | Tidak | Ya | Tidak | 
| Saluran | Ya | Tidak | Tidak | Ya | Ya | 
| Pesan Saluran | Tidak | Ya | Tidak | Ya | Tidak | 
| Balasan Pesan Saluran | Tidak | Ya | Tidak | Ya | Tidak | 
| Tab Saluran | Ya | Tidak | Tidak | Ya | Tidak | 
| Obrolan | Ya | Ya | Ya | Ya | Ya | 
| Kalender Acara | Ya | Ya | Ya | Ya | Ya | 

 **Contoh** 

```
MicrosoftTeams_read = glueContext.create_dynamic_frame.from_options(
    connection_type="MicrosoftTeams",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "company",
        "API_VERSION": "v1.0"
    }
```

## Detail Entitas dan Bidang Microsoft Teams
<a name="microsoft-teams-entity-and-field-details"></a>

 Daftar entitas: 
+  Tim: [https://docs.microsoft.com/en-us/graph/api/user-list-joinedteams? tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/user-list-joinedteams?view=graph-rest-1.0) 
+  [Tim-Anggota: -daftar-anggota? https://docs.microsoft.com/en-us/ graph/api/team tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/team-list-members?view=graph-rest-1.0) 
+  Grup: [https://docs.microsoft.com/en-us/graph/api/group-list? tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/group-list?view=graph-rest-1.0) 
+  [Grup-Anggota: -daftar-anggota? https://docs.microsoft.com/en-us/ graph/api/group tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/group-list-members?view=graph-rest-1.0) 
+  Saluran: [https://docs.microsoft.com/en-us/graph/api/channel-list? tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/channel-list?view=graph-rest-1.0) 
+  [Saluran-Pesan: -daftar-pesan? https://docs.microsoft.com/en-us/ graph/api/channel tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/channel-list-messages?view=graph-rest-1.0) 
+  [Saluran-Pesan-Balas: -daftar-balasan? https://docs.microsoft.com/en-us/ graph/api/chatmessage tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/chatmessage-list-replies?view=graph-rest-1.0) 
+  [Channel-Tab: -list-tabs? https://docs.microsoft.com/en-us/ graph/api/channel tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/channel-list-tabs?view=graph-rest-1.0) 
+  Obrolan: [https://docs.microsoft.com/en-us/graph/api/chat-list? tampilan=grafik-rest-1.0]( https://docs.microsoft.com/en-us/graph/api/chat-list?view=graph-rest-1.0) 
+  [Kalender-Acara: -daftar-acara? https://docs.microsoft.com/en-us/ graph/api/group tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/group-list-events?view=graph-rest-1.0) 

 **Mempartisi kueri** 

 Opsi percikan tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, `NUM_PARTITIONS` dapat diberikan jika Anda ingin memanfaatkan konkurensi di Spark. Dengan parameter ini, kueri asli akan dibagi menjadi `NUM_PARTITIONS` sejumlah sub-kueri yang dapat dijalankan oleh tugas percikan secara bersamaan. 
+  `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri. 
+  `LOWER_BOUND`: nilai batas bawah inklusif dari bidang partisi yang dipilih. 

   Untuk tanggal, kami menerima format tanggal Spark yang digunakan dalam kueri Spark SQL. Contoh nilai yang valid:`"2024-02-06"`. 
+  `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+  `NUM_PARTITIONS`: jumlah partisi. 

 Detail dukungan bidang partisi yang bijaksana dari entitas ditangkap dalam tabel di bawah ini: 


| Nama Entitas | Bidang Partisi | Tipe data | 
| --- | --- | --- | 
| Anggota Tim | visibleHistoryStartDateTime | DateTime | 
| Grup | createdDateTime | DateTime | 
| Saluran | createdDateTime | DateTime | 
| Obrolan | createdDateTime, lastModifiedDate Waktu | DateTime | 
| Kalender Acara | createdDateTime, lastModifiedDate Waktu, Awal Asli | DateTime | 

 **Contoh** 

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

# Referensi opsi koneksi Microsoft Teams
<a name="microsoft-teams-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Microsoft Teams:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama Objek Anda di Microsoft Teams. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Microsoft Teams Rest API versi yang ingin Anda gunakan. Contoh: v1.0. 
+  `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Kolom yang ingin Anda pilih untuk objek. 
+  `FILTER_PREDICATE`(String) - Default: kosong. Digunakan untuk Baca. Itu harus dalam format Spark SQL. 
+  `QUERY`(String) - Default: kosong. Digunakan untuk Baca. Kueri SQL Spark penuh. 
+  `PARTITION_FIELD`(String) - Digunakan untuk Baca. Bidang yang akan digunakan untuk mempartisi kueri. 
+  `LOWER_BOUND`(String) - Digunakan untuk Baca. Nilai batas bawah inklusif dari bidang partisi yang dipilih. 
+  `UPPER_BOUND`(String) - Digunakan untuk Baca. Nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+  `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca. 

# Batasan
<a name="microsoft-teams-connector-limitations"></a>

Berikut ini adalah batasan untuk konektor Microsoft Teams:
+  Microsoft Teams API mengembalikan jumlah catatan yang lebih sedikit daripada yang ditentukan untuk entitas Obrolan dan Anggota Tim. Masalah ini dilaporkan ke Microsoft Teams Support dan sedang diselidiki. 

## Buat akun Microsoft Teams baru:
<a name="microsoft-teams-account-creation"></a>

1.  Arahkan ke beranda Microsoft Teams, [https://account.microsoft.com/account/](https://account.microsoft.com/account/)lalu pilih **Masuk**. 

1.  Pilih **Buat satu\$1** . 

1.  Masukkan informasi yang diperlukan untuk pembuatan akun dan buat akun baru. 

1.  Arahkan ke situs web Microsoft Teams di [https://www.microsoft.com/en-in/microsoft-teams/log-in](https://www.microsoft.com/en-in/microsoft-teams/log-in). 

1.  Daftar menggunakan Akun Microsoft yang baru saja Anda buat. 

1.  Setelah berhasil mendaftar di Teams, navigasikan ke [https://account.microsft.com/services](https://account.microsft.com/services). 

1.  Pilih **Coba Microsoft 365**. 

1.  Aktifkan salah satu langganan Microsoft 365 atau Microsoft Teams di bawah ini untuk mengakses semua fitur yang diperlukan dari konektor Microsoft Teams: 
   + Microsoft Teams Essentials
   + Microsoft 365 Bisnis
   + Dasar Bisnis Microsoft 365
   + Standar Bisnis Microsoft 365
   + Microsoft 365 Bisnis Premium

**Membuat aplikasi klien terkelola:**

1.  Untuk membuat aplikasi terkelola, Anda perlu mendaftarkan OAuth aplikasi baru di Microsoft Entra (sebelumnya Azure Active Directory): 

1.  Masuk ke [pusat admin Microsoft Entra](https://entra.microsoft.com). 

1.  Jika Anda memiliki akses ke beberapa penyewa, gunakan ikon Pengaturan di menu atas untuk beralih ke penyewa tempat Anda ingin mendaftarkan aplikasi dari menu langganan Direktori \$1. 

1.  Arahkan ke Identitas > Aplikasi > Pendaftaran aplikasi dan pilih **Pendaftaran baru**. 

1. Masukkan nama tampilan untuk aplikasi Anda.

1.  Tentukan siapa yang dapat menggunakan aplikasi di bagian Jenis akun yang didukung. Untuk membuat aplikasi ini global pilih “Akun di direktori organisasi apa pun” atau “Akun di direktori organisasi apa pun dan akun Microsoft pribadi”. 

1.  Masukkan URI `https://{region}.console.aws.amazon.com/appflow/oauth` Redirect. Misalnya, untuk`us-west-2 region`, tambahkan`https://us-west-2.console.aws.amazon.com/appflow/oauth`. Anda dapat menambahkan beberapa URLs untuk berbagai wilayah yang ingin Anda gunakan.

1.  Daftarkan aplikasinya. 

1.  Catat ID Klien untuk penggunaan di masa mendatang. 

1.  Pilih **Tambahkan sertifikat atau rahasia** di bagian Essentials. 

1.  Pilih **Rahasia Klien Baru**. 

1.  Masukkan Deskripsi dan Durasi kedaluwarsa. 

1.  Salin dan simpan rahasia klien untuk digunakan di masa mendatang. 

1.  Di daftar menu sebelah kiri, pilih **izin API**. 

1.  Pilih **Tambahkan izin**. 

1.  Pilih “Microsoft Graph”. 

1.  Pilih “Izin yang didelegasikan”. 

1.  Periksa semua izin berikut: 
   + Pengguna.Baca
   + Offline\$1Access
   + User.Read.All
   + Pengguna. ReadWrite.Semua
   + TeamsTab.ReadWriteForTeam
   + TeamsTab.ReadWriteForChat
   + TeamsTab. ReadWrite.Semua
   + TeamsTab.Baca.Semua
   + TeamSettings. ReadWrite.Semua
   + TeamSettings.Baca.Semua
   + TeamMember. ReadWrite.Semua
   + TeamMember.Baca.Semua
   + Tim. ReadBasic.Semua
   + GroupMember. ReadWrite.Semua
   + GroupMember.Baca.Semua
   + Kelompok. ReadWrite.Semua
   + Group.Read.All
   + Direktori. ReadWrite.Semua
   + Direktori.Baca.Semua
   + Direktori. AccessAsUser.Semua
   + Obrolan. ReadWrite
   + Obrolan. ReadBasic
   + Obrolan.Baca
   + ChannelSettings. ReadWrite.Semua
   + ChannelSettings.Baca.Semua
   + ChannelMessage.Baca.Semua
   + Saluran. ReadBasic.Semua

1.  Pilih **Tambahkan izin**. Aplikasi Anda sekarang berhasil disetel. Anda dapat menggunakan ID klien dan rahasia klien untuk membuat koneksi baru. Untuk informasi lebih lanjut, lihat [https://learn.microsoft.com/en-us/grafik/ auth-register-app-v 2](https://learn.microsoft.com/en-us/graph/auth-register-app-v2). 