

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 連線至 Zoom Meetings
<a name="connecting-to-data-zoom-meetings"></a>

Zoom Meetings 是一種以雲端為基礎的視訊會議平台，可用於視訊會議、音訊會議、網路研討會、會議錄音和即時聊天。

**Topics**
+ [AWS Glue 支援 Zoom 會議](zoom-meetings-support.md)
+ [包含用於建立和使用連線的 API 操作的政策](zoom-meetings-configuring-iam-permissions.md)
+ [設定 Zoom Meetings](zoom-meetings-configuring.md)
+ [設定 Zoom Meetings 用戶端應用程式](zoom-meetings-configuring-client-app.md)
+ [設定 Zoom Meetings 連線](zoom-meetings-configuring-connections.md)
+ [從 Zoom Meetings 實體中讀取](zoom-meetings-reading-from-entities.md)
+ [Zoom Meetings 連線選項](zoom-meetings-connection-options.md)
+ [Zoom Meetings 限制](zoom-meetings-limitations.md)

# AWS Glue 支援 Zoom 會議
<a name="zoom-meetings-support"></a>

AWS Glue 支援 Zoom 會議，如下所示：

**支援作為來源？**  
是。您可以使用 AWS Glue ETL 任務從 Zoom Meetings 查詢資料。

**支援作為目標？**  
否。

**支援的 Zoom Meetings API 版本**  
支援下列 Zoom Meetings API 版本：
+   v2

# 包含用於建立和使用連線的 API 操作的政策
<a name="zoom-meetings-configuring-iam-permissions"></a>

下列範例政策說明建立和使用 連線所需的 AWS IAM 許可。如果您要建立新角色，請建立包含下列項目的政策：

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

****  

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

------

如果不想使用上述方法，可選擇使用下列受管 IAM 政策：
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole) – 准許存取各種 AWS Glue 程序代表您執行所需的資源。這些資源包括 AWS Glue Amazon S3、IAM、CloudWatch Logs 和 Amazon EC2。如果您遵循此政策中指定資源的命名慣例，則 AWS Glue 程序具有必要的許可。此政策通常會連接至定義編目程式、工作和開發端點時所指定的角色。
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess) – 當政策連接到的身分使用 AWS 管理主控台時，授予 AWS Glue 資源的完整存取權。如果您依照此政策中指定的資源命名慣例，使用者就能擁有完整的主控台功能。此政策通常連接到 AWS Glue 主控台的使用者。

# 設定 Zoom Meetings
<a name="zoom-meetings-configuring"></a>

您必須先符合下列要求，才能使用 從 Zoom Meetings AWS Glue 傳輸資料：

## 最低需求
<a name="zoom-meetings-configuring-min-requirements"></a>

以下是最低要求：
+ 您擁有一個 Zoom Meetings 帳戶。
+ 您的 Zoom 帳戶已啟用 API 存取。
+ 您已在 Zoom Meetings 帳戶中建立 OAuth2 應用程式。此整合提供登入資料， AWS Glue 用於在對您的帳戶進行驗證呼叫時安全地存取您的資料。如需詳細資訊，請參閱[設定 Zoom Meetings 用戶端應用程式](zoom-meetings-configuring-client-app.md)。

如果您符合這些要求，就可以 AWS Glue 連線到 Zoom Meetings 帳戶。對於一般連線，您不需要在 Zoom Meetings 中執行任何其他操作。

# 設定 Zoom Meetings 用戶端應用程式
<a name="zoom-meetings-configuring-client-app"></a>

1. 登入 Zoom App Marketplace。

1. 選擇**開發** > **建置應用程式**。

1. 針對基於 OAuth 2.0 的應用程式，選擇**一般應用程式**。

1. 在**基本資訊**頁面中，新增或更新應用程式的相關資訊，例如應用程式名稱、應用程式管理方式、應用程式憑證和 OAuth 資訊。

1. 在**選取應用程式管理方法**區段中，確認您希望如何管理應用程式：

   1. **由管理員管理**：帳戶管理員新增和管理應用程式

   1. **由使用者管理**：個別使用者新增和管理應用程式。應用程式只能存取使用者授權的資料。

1. **應用程式憑證**：建置流程會自動為您的應用程式產生應用程式憑證 (用戶端 ID 和用戶端機密)。

1. 在「OAuth 資訊」區段中，為您的應用程式設定 OAuth。

   1. **OAuth 重新導向 URL** (必要)：輸入重新導向 URL 或端點，以在應用程式和 Zoom 之間設定 OAuth。

   1. **使用嚴格模式 URL** (選用)

   1. **子網域檢查** (選用)

   1. **OAuth 允許清單** (必要)：新增 Zoom 應允許作為 OAuth 流程有效重新導向的唯一 URL。

1. 在**範圍**頁面中，選取允許應用程式呼叫的 Zoom API 方法。這些範圍會定義您的使用者可使用哪些資訊和功能。選取下列精細範圍：
   + 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

   新增範圍後，請選擇**繼續**，即可使用應用程式。

如需有關 OAuth 2.0 設定的詳細資訊，請參閱[整合 (OAuth 應用程式)](https://developers.zoom.us/docs/integrations/)。

# 設定 Zoom Meetings 連線
<a name="zoom-meetings-configuring-connections"></a>

Zoom Meetings 支援 OAuth2 的 AUTHORIZATION\$1CODE 授權類型。授予類型決定 如何與 Zoom Meetings AWS Glue 通訊，以請求存取您的資料。
+ 此授權類型被視為「三條腿的」OAuth，因為其依賴將使用者重新導向至第三方授權伺服器來驗證使用者。在透過 AWS Glue 主控台建立連線時使用。建立連線的使用者需要為 Zoom Meetings 用戶端應用程式提供 OAuth 相關資訊，例如用戶端 ID 和用戶端機密。 AWS Glue 主控台會將使用者重新導向至 Zoom，使用者必須在其中登入 AWS Glue ，並允許請求的許可存取其 Zoom Meetings 執行個體。
+ 使用者仍然可以選擇在 Zoom Meetings 中建立自己的連線應用程式，並在透過 AWS Glue 主控台建立連線時提供自己的用戶端 ID 和用戶端秘密。在此案例中，它們仍會重新導向至 Zoom Meetings 以登入並授權 AWS Glue 存取其資源。
+ 此授權類型會產生重新整理字符和存取字符。存取字符是短期存留的，可以使用重新整理字符自動重新整理，而無需使用者互動。
+ 如需有關建立授權碼 OAuth 流程之連線應用程式的公有 Zoom Meetings 文件，請參閱[使用 OAuth 2.0](https://developers.zoom.us/docs/api/using-zoom-apis/#using-oauth-20)。

若要設定 Zoom Meetings 連線：

1. 在 AWS Secrets Manager 中，使用下列詳細資訊建立秘密：

   1. 對於客戶管理的連線應用程式，機密應包含以 `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` 作為金鑰的連線應用程式消費者機密。

   1. 注意：您必須為 中的連線建立秘密 AWS Glue。

1. 在 AWS Glue Glue Studio 中，依照下列步驟在**資料連線下建立連線**：

   1. 選取**連線類型**時，請選取 Zoom Meetings。

   1. 提供您要連線的 Zoom Meetings 環境。

   1. 選取 AWS Glue 可以擔任並具有下列動作許可的 AWS IAM 角色：

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

****  

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

------

   1. 選取您要用於此連線`secretName`的 AWS Glue ，以放置字符。

   1. 如果想要使用您的網路，請選取網路選項。

1. 授予與您的 AWS Glue 任務相關聯的 IAM 角色讀取 的許可`secretName`。

# 從 Zoom Meetings 實體中讀取
<a name="zoom-meetings-reading-from-entities"></a>

**必要條件**

您想要從中讀取的 Zoom Meetings 物件。需要物件名稱，例如 `Group` 或 `Zoom Rooms`。

**來源的支援實體**：


| 實體 | 可以篩選 | 支援限制 | 支援排序依據 | 支援選取 \$1 | 支援分區 | 
| --- | --- | --- | --- | --- | --- | 
| Zoom Rooms | 否 | 是 | 否 | 是 | 否 | 
| Group | 否 | 否 | 否 | 是 | 否 | 
| 群組成員 | 是 | 是 | 否 | 是 | 否 | 
| 群組管理員 | 否 | 是 | 否 | 是 | 否 | 
| 報告 (每日) | 是 | 否 | 否 | 是 | 否 | 
| 角色 | 否 | 否 | 否 | 是 | 否 | 
| 使用者 | 是 | 是 | 否 | 是 | 否 | 

**範例**：

```
zoom_read = glueContext.create_dynamic_frame.from_options(
    connection_type="zoom",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "organization",
        "API_VERSION": "v2"
    }
)
```

**Zoom Meetings 實體和欄位詳細資訊**：

Zoom Meetings 會在選取的實體下動態載入可用欄位。視欄位的資料類型而定，其支援下列篩選條件運算子。

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

## 分區查詢
<a name="zoom-meetings-reading-partitioning-queries"></a>

Zoom Meetings 不支援篩選條件型分區或記錄型分區。

# Zoom Meetings 連線選項
<a name="zoom-meetings-connection-options"></a>

以下是 Zoom Meetings 的連線選項：
+ `ENTITY_NAME`(String) - (必要) 用於讀取。Zoom Meetings 實體的名稱。例如 `group`。
+ `API_VERSION`(String) - (必要) 用於讀取。您想要使用的 Zoom Meetings Rest API 版本。該值將為 `v2`，因為 Zoom Meetings 目前僅支援 v2 版本。
+ `SELECTED_FIELDS`(List<String>) - 預設：empty(SELECT \$1)。用於讀取。您要為所選實體選取的資料欄的以逗號分隔的資料欄清單。
+ `FILTER_PREDICATE`(String) - 預設：空白。用於讀取。其應該為 Spark SQL 格式。
+ `QUERY`(String) - 預設：空白。用於讀取。完整的 Spark SQL 查詢。

# Zoom Meetings 限制
<a name="zoom-meetings-limitations"></a>

以下是 Zoom Meetings 的限制或備註：
+ Zoom Meetings 不支援 orderby。
+ Zoom Meetings 不支援基於篩選條件的分區，因為沒有欄位可以滿足必要的條件。
+ Zoom Meetings 不支援記錄型分區，因為不支援分頁限制和基於位移的分頁。