

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

# 編目程式使用 Lake Formation 許可時發生編目程式錯誤
<a name="error-crawler-config-lf"></a>

參考下列資訊診斷及修正各種問題，同時使用 Lake Formation 憑證設定爬蟲程式。

## 錯誤：S3 位置 (s3://examplepath) 尚未註冊
<a name="error-s3-location"></a>

若要使用 Lake Formation 憑證執行爬蟲程式，您需要先設定 Lake Formation 許可。若要解決此錯誤，請向 Lake Formation 註冊目標 Amazon S3 位置。如需詳細資訊，請參閱 [Registering an Amazon S3 location](https://docs.aws.amazon.com/lake-formation/latest/dg/register-location.html) (註冊 Amazon S3 位置)。

## 錯誤：使用者/角色未經授權，無法在資源上執行 lakeformation:GetDataAccess
<a name="error-role-authorization"></a>

請使用 IAM 主控台或 AWS CLI，將 `lakeformation:GetDataAccess` 許可新增至爬蟲程式。有了此許可，Lake Formation 就會授與要求存取資料所需的臨時憑證。請參閱以下政策：

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "lakeformation:GetDataAccess"
    ],
    "Resource": "*"
  }
}
```

------

## 錯誤：(資料庫名稱：exampleDatabase，資料表名稱：exampleTable) 上的 Lake Formation 許可不足
<a name="error-permissions"></a>

在 Lake Formation 主控台 ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)) 授與爬蟲程式對資料庫 (指定作為輸出資料庫) 的角色存取許可 (` Create`、`Describe`、`Alter`)。您也可以授與資料表的使用許可。如需詳細資訊，請參閱 [Granting database permissions using the named resource method](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-cat-perms-named-resource.html) (使用具名資源方法授與資料庫許可)。

## 錯誤：s3://examplepath 上的 Lake Formation 許可不足
<a name="error-location-permissions"></a>

1.  **跨帳戶網路爬取** 

   1. 使用 Amazon S3 儲存貯體所註冊的帳戶資料 (帳戶 B)，登入 Lake Formation 主控台 ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/))。將資料位置許可授與要執行爬蟲程式的帳戶。如此一來，爬蟲程式就能從目標 Amazon S3 位置讀取資料。

   1.  在建立爬蟲程式的帳戶 (帳戶 A) 中，將目標 Amazon S3 位置的資料位置許可授與爬蟲程式執行時所使用的 IAM 角色，以便爬蟲程式可以從 Lake Formation 的目的地讀取資料。如需詳細資訊，請參閱 [Granting data location permissions (external account)](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-location-permissions-external.html) (授與資料位置許可 (外部帳戶))。

1. **帳戶內 (爬蟲程式和所註冊的 Amazon S3 位置位於相同帳戶) 網路爬取** ‐ 將資料位置許可授與爬蟲程式於 Amazon S3 位置執行時所使用的 IAM 角色，以便爬蟲程式可以從 Lake Formation 的目標讀取資料。如需詳細資訊，請參閱 [Granting data location permissions (same account)](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-location-permissions-local.html) (授與資料位置許可 (相同帳戶))。

## 使用 Lake Formation 憑證設定爬蟲程式的常見問題
<a name="faq-crawler-config-lf"></a>

1.  **如何在 AWS 主控台使用 Lake Formation 憑證設定爬蟲程式，使其能順利執行？** 

   在 AWS Glue 主控台 ([https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)：//) 中，在設定爬蟲程式時，選取**使用 Lake Formation 登入資料來爬取 Amazon S3 資料來源**的選項。對於跨帳戶爬取，請指定向 Lake Formation 註冊目標 Amazon S3 位置的 AWS 帳戶 ID。對於帳戶內網路爬取，**accountId** 為選填欄位。

1.  **如何在 AWS CLI使用 Lake Formation 憑證設定爬蟲程式，使其能順利執行？** 

   在 `CreateCrawler` API 呼叫期間，新增 `LakeFormationConfiguration`：

   ```
   "LakeFormationConfiguration": {
       "UseLakeFormationCredentials": true,
       "AccountId": "111111111111" (AWS account ID where the target Amazon S3 location is registered with Lake Formation)
     }
   ```

1.  **使用 Lake Formation 憑證的情況下，爬蟲程式支援哪些目標？** 

   使用 Lake Formation 憑證的爬蟲程式僅支援 Amazon S3 (帳戶內和跨帳戶網路爬取)、帳戶內資料目錄目標 (其中的基礎位置為 Amazon S3) 以及 Apache Iceberg 目標。

1.  **可以使用 Lake Formation 憑證，以單一爬蟲程式對多個 Amazon S3 儲存貯體執行網路爬取作業嗎？** 

   不可以。如果使用 Lake Formation 憑證販售對目標執行網路爬取，基礎 Amazon S3 位置必須屬於同一個儲存貯體。舉例來說，客戶可以使用多個目標位置 `(s3://bucket1/folder1, s3://bucket1/folder2)`，但這些位置必須位於同一個儲存貯體 (儲存貯體 1)，不允許指定不同的儲存貯體 (s3://bucket1/folder1、s3://bucket2/folder2)。