

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

# 在 S3 資料表中使用 S3 Storage Lens 資料
<a name="storage-lens-s3-tables"></a>

Amazon S3 Storage Lens 可以將儲存分析和洞見匯出至 S3 Tables，讓您能夠使用 SQL 搭配 Amazon Athena、Amazon EMR、Amazon SageMaker Studio (SMStudio) 和其他 AWS 分析工具等 AWS 分析服務來查詢 Storage Lens 指標。當您設定 S3 Storage Lens 匯出至 S3 Tables 時，您的指標會自動儲存在 AWS受管資料表儲存貯體中的唯讀 Apache Iceberg `aws-s3`資料表中。

此整合提供使用標準 SQL 查詢 Storage Lens 指標的結構化資料存取、與 AWS 分析服務的分析整合、歷史分析功能和成本最佳化，而匯出至 AWS受管 S3 資料表無需額外付費。

**Topics**
+ [將 S3 Storage Lens 指標匯出至 S3 資料表](storage-lens-s3-tables-export.md)
+ [S3 Storage Lens 匯出至 S3 Tables 的資料表命名](storage-lens-s3-tables-naming.md)
+ [了解 S3 Storage Lens 資料表結構描述](storage-lens-s3-tables-schemas.md)
+ [S3 Storage Lens 資料表的許可](storage-lens-s3-tables-permissions.md)
+ [使用分析工具查詢 S3 Storage Lens 資料](storage-lens-s3-tables-querying.md)
+ [搭配 S3 Storage Lens 資料表使用 AI 助理](storage-lens-s3-tables-ai-tools.md)

# 將 S3 Storage Lens 指標匯出至 S3 資料表
<a name="storage-lens-s3-tables-export"></a>

您可以設定 Amazon S3 Storage Lens 將儲存分析和洞見匯出至 S3 Tables。當您啟用 S3 Tables 匯出時，您的指標會自動儲存在 AWS受管資料表儲存貯體中的唯讀 Apache Iceberg `aws-s3`資料表中，使其可使用 SQL 搭配 Amazon Athena、Amazon Redshift 和 Amazon EMR 等 AWS 分析服務來查詢。

**注意**  
將 S3 Storage Lens 指標匯出至 AWS受管 S3 資料表無需額外費用。資料表儲存、資料表管理和資料表上的請求需支付標準費用。如需詳細資訊，請參閱 [Simple Storage Service (Amazon S3) 定價](https://aws.amazon.com/s3/pricing)。

## 使用主控台啟用 S3 Tables 匯出
<a name="storage-lens-s3-tables-export-console"></a>

1. 登入 AWS 管理主控台，並在 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 開啟 Amazon S3 主控台。

1. 在左側導覽窗格中，選擇 **Storage Lens**，然後選擇 **Storage Lens Dashboards**。

1. 在 **Storage Lens 儀表板**清單中，選擇您要編輯的儀表板。

1. 選擇**編輯**。

1. 在**儀表板**頁面上，導覽至**指標匯出和發佈**區段。

1. 若要啟用**預設指標報告的**資料表匯出，請在儲存貯體類型中選取**資料表儲存貯**體。

1. 若要啟用**擴展字首指標報告的**資料表匯出，請在儲存貯體類型中選取**資料表儲存貯**體。

1. 檢閱儀表板組態，然後按一下**提交**。

**注意**  
啟用 S3 Tables 匯出後，資料表中最多可能需要 48 小時才能使用第一個資料。

**注意**  
將 S3 Storage Lens 指標匯出至 AWS受管 S3 資料表無需額外費用。標準費用適用於資料表儲存、資料表管理、資料表上的請求和監控。您可以使用 Amazon S3 主控台、Amazon S3 API AWS CLI、 或 AWS SDKs，啟用或停用匯出至 Amazon S3 資料表。 Amazon S3 

**注意**  
根據預設，S3 資料表中的記錄不會過期。為了協助將資料表的儲存成本降至最低，您可以啟用和設定資料表的記錄過期時間。使用此選項時，Amazon S3 會在記錄過期時自動從資料表中移除記錄。請參閱：[記錄資料表的過期時間。](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-record-expiration.html)

## 使用 啟用 S3 Tables 匯出 AWS CLI
<a name="storage-lens-s3-tables-export-cli"></a>

**注意**  
在執行下列命令之前，請確定您擁有最新的 CLI 版本。請參閱[安裝或更新至最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

下列範例使用 啟用 S3 Storage Lens 組態「預設指標報告」的 S3 Tables 匯出 AWS CLI。若要使用此範例，請以您自己的資訊取代*使用者輸入預留位置*。

```
aws s3control put-storage-lens-configuration --account-id=555555555555 --config-id=your-configuration-id --storage-lens-configuration '{
   "Id":"your-configuration-id",
   "AccountLevel":{
      "ActivityMetrics":{
        "IsEnabled":true
      },
      "BucketLevel":{
         "ActivityMetrics":{
            "IsEnabled":true
         }
      }
   },
   "DataExport":{
      "S3BucketDestination":{
         "OutputSchemaVersion":"V_1",
         "Format":"CSV",
         "AccountId":"555555555555",
         "Arn":"arn:aws:s3:::my-export-bucket",
         "Prefix":"storage-lens-exports/"
      },
      "StorageLensTableDestination":{
         "IsEnabled":true
      }
   },
   "IsEnabled":true
}'
```

## 使用 AWS SDKs 啟用 S3 資料表匯出
<a name="storage-lens-s3-tables-export-sdk"></a>

下列範例使用適用於 Python 的 AWS SDK (BotoS3) 啟用 S3 Storage Lens 組態「預設指標報告」的 S3 Tables 匯出。若要使用此範例，請以您自己的資訊取代*使用者輸入預留位置*。

```
import boto3

s3control = boto3.client('s3control')

response = s3control.put_storage_lens_configuration( AccountId='555555555555', ConfigId='your-configuration-id', StorageLensConfiguration={
        'Id': 'your-configuration-id',
        'AccountLevel': {
            'ActivityMetrics': {
              'IsEnabled': True
            },
            'BucketLevel': {
                'ActivityMetrics': {
                    'IsEnabled': True
                }
            }
        },
        'DataExport': {
            'S3BucketDestination': {
                'OutputSchemaVersion': 'V_1',
                'Format': 'CSV',
                'AccountId': '555555555555',
                'Arn': 'arn:aws:s3:::my-export-bucket',
                'Prefix': 'storage-lens-exports/'
            },
            'StorageLensTableDestination': {
                'IsEnabled': True
            }
        },
        'IsEnabled': True
    }
)
```

如需使用 AWS SDKs的詳細資訊，請參閱 [AWS SDKs和工具](https://aws.amazon.com/developer/tools/)。

## 後續步驟
<a name="storage-lens-s3-tables-export-next-steps"></a>

啟用 S3 Tables 匯出後，您可以：
+ 了解 [S3 Storage Lens 匯出至 S3 Tables 的資料表命名](storage-lens-s3-tables-naming.md) 
+ 了解 [了解 S3 Storage Lens 資料表結構描述](storage-lens-s3-tables-schemas.md) 

# S3 Storage Lens 匯出至 S3 Tables 的資料表命名
<a name="storage-lens-s3-tables-naming"></a>

當您將 S3 Storage Lens 指標匯出至 S3 Tables 時，系統會使用具有特定命名模式的 Apache Iceberg 目錄慣例來組織資料表，以確保相容性和組織性。

## 資料表位置結構
<a name="storage-lens-s3-tables-naming-location"></a>

完整的資料表位置遵循此模式：

```
s3tablescatalog/aws-s3/<namespace>/<table-name>
```

### 資料表儲存貯體名稱
<a name="storage-lens-s3-tables-naming-bucket"></a>

 **資料表儲存貯體：** `aws-s3`

S3 Storage Lens 匯出使用`aws-s3`資料表儲存貯體，這是 AWS S3-related系統資料表的指定儲存貯體。

### 目錄名稱
<a name="storage-lens-s3-tables-naming-catalog"></a>

 **目錄：** `s3tablescatalog/aws-s3`

S3 Storage Lens 資料表存放在 S3 目錄中，因為 Storage Lens 提供三種 S3 資源類型的洞見：
+ 儲存指標
+ 儲存貯體屬性
+ API 用量指標

## 命名慣例
<a name="storage-lens-s3-tables-naming-namespace"></a>

命名空間會組織目錄中的資料表。對於 S3 Storage Lens，命名空間衍生自 Storage Lens 組態 ID。

### 標準命名空間格式
<a name="storage-lens-s3-tables-naming-namespace-standard"></a>

對於沒有點IDs (`.`)：

```
lens_<configuration-id>_exp
```

 **範例：**如果您的組態 ID 為 `my-lens-config`，命名空間將為：

```
lens_my-lens-config_exp
```

### 使用點字元或大寫字母處理的命名空間格式
<a name="storage-lens-s3-tables-naming-namespace-dots"></a>

Storage Lens IDs 可包含點 (`.`) 或大寫字母 (`A-Z`)，但 S3 Tables 命名空間僅支援小寫字母、數字、連字號 (`-`) 和底線 ()`_`。當您的組態 ID 包含點時，它們會轉換為連字號、大寫字母會轉換為小寫字母，並新增雜湊尾碼以求唯一性：

```
lens_<configuration-id-with-dots-or-uppercase-replaced>_exp_<7-char-hash>
```

 **範例：**如果您的組態 ID 為 `my.LENS.config`，命名空間將為：

```
lens_my-lens-config_exp_a1b2c3d
```

其中 `a1b2c3d`是原始組態 ID 之 SHA-1 雜湊的前 7 個字元。

## 完成範例
<a name="storage-lens-s3-tables-naming-examples"></a>

針對 ID 為 的 Storage Lens 組態`production-metrics`：
+  **資料表儲存貯體：** `aws-s3`
+  **目錄：** `s3tablescatalog/aws-s3`
+  **命名空間：** `lens_production-metrics_exp`
+  **完整路徑：** `s3tablescatalog/aws-s3/lens_production-metrics_exp/<table-name>`

針對 ID 為 的 Storage Lens 組態`prod.us.east.metrics`：
+  **資料表儲存貯體：** `aws-s3`
+  **目錄：** `s3tablescatalog/aws-s3`
+  **命名空間：** `lens_prod-us-east-metrics_exp_f8e9a1b` （含雜湊）
+  **完整路徑：** `s3tablescatalog/aws-s3/lens_prod-us-east-metrics_exp_f8e9a1b/<table-name>`

## 資料表類型
<a name="storage-lens-s3-tables-naming-types"></a>

下表顯示為 S3 Storage Lens 匯出建立的不同資料表類型：


| 目錄 | 命名空間 | S3 資料表名稱 | Description | 
| --- | --- | --- | --- | 
| s3tablescatalog/aws-s3 | lens\$1<conf\$1name>\$1exp【\$1<hash>】 | default\$1storage\$1metrics | 此資料表包含 Storage Lens 組態的儲存指標。 | 
| s3tablescatalog/aws-s3 | lens\$1<conf\$1name>\$1exp【\$1<hash>】 | default\$1activity\$1metrics | 此資料表包含 Storage Lens 組態的活動指標。 | 
| s3tablescatalog/aws-s3 | lens\$1<conf\$1name>\$1exp【\$1<hash>】 | expand\$1prefixes\$1storage\$1metrics | 此資料表包含 Storage Lens 組態中所有字首的儲存指標。 | 
| s3tablescatalog/aws-s3 | lens\$1<conf\$1name>\$1exp【\$1<hash>】 | expand\$1prefixes\$1activity\$1metrics | 此資料表包含 Storage Lens 組態中所有字首的活動指標。 | 
| s3tablescatalog/aws-s3 | lens\$1<conf\$1name>\$1exp【\$1<hash>】 | bucket\$1property\$1metrics | 此資料表包含 Storage Lens 組態中所有儲存貯體的儲存貯體屬性指標。 | 

## 後續步驟
<a name="storage-lens-s3-tables-naming-next-steps"></a>
+ 了解 [了解 S3 Storage Lens 資料表結構描述](storage-lens-s3-tables-schemas.md) 
+ 了解 [S3 Storage Lens 資料表的許可](storage-lens-s3-tables-permissions.md) 

# 了解 S3 Storage Lens 資料表結構描述
<a name="storage-lens-s3-tables-schemas"></a>

將 S3 Storage Lens 指標匯出至 S3 資料表時，資料會整理成三個不同的資料表結構描述：儲存指標、儲存貯體屬性指標和活動指標。

## 儲存指標資料表結構描述
<a name="storage-lens-s3-tables-schemas-storage"></a>


| 名稱 | 類型 | Description | 
| --- | --- | --- | 
|  version\$1number  | string | 資料表結構描述的版本識別符 | 
|  configuration\$1id  | string | S3 Storage Lens 組態名稱 | 
|  report\$1time  | timestamptz | S3 Storage Lens 報告參考的日期 | 
|  aws\$1account\$1id  | string | 項目所參照的帳戶 ID | 
|  aws\$1region  | string | 區域 | 
|  storage\$1class  | string | 儲存體方案 | 
|  record\$1type  | string | 記錄類型，資料彙總related層級為何。值：ACCOUNT、BUCKET、PREFIX、STORAGE\$1LENS\$1GROUP\$1BUCKET、STORAGE\$1LENS\$1GROUP\$1ACCOUNT。 | 
|  record\$1value  | string | 記錄類型下有超過一筆記錄的解構符號。它用於參考字首 | 
|  bucket\$1name  | string | 儲存貯體名稱 | 
|  object\$1count  | long | 為目前參考項目存放的物件數量 | 
|  storage\$1bytes  | DECIMAL(38，0) | 目前參考項目儲存的位元組數 | 
|  bucket\$1key\$1sse\$1kms\$1object\$1count  | long | 使用針對目前參考項目存放之客戶受管金鑰加密的物件數量 | 
|  bucket\$1key\$1sse\$1kms\$1storage\$1bytes  | DECIMAL(38，0) | 使用針對目前參考項目存放之客戶受管金鑰加密的位元組數 | 
|  current\$1version\$1object\$1count  | long | 為目前參考項目存放的目前版本物件數量 | 
|  current\$1version\$1storage\$1bytes  | DECIMAL(38，0) | 為目前參考項目儲存的目前版本位元組數 | 
|  delete\$1marker\$1object\$1count  | long | 為目前參考項目存放的刪除標記物件數量 | 
|  delete\$1marker\$1storage\$1bytes  | DECIMAL(38，0) | 為目前參考項目儲存的刪除標記位元組數 | 
|  encrypted\$1object\$1count  | long | 為目前參考項目存放的加密物件數量 | 
|  encrypted\$1storage\$1bytes  | DECIMAL(38，0) | 為目前參考項目儲存的加密位元組數 | 
|  incomplete\$1mpu\$1object\$1older\$1than\$17\$1days\$1count  | long | 針對目前參考項目存放超過 7 天的未完成分段上傳物件數量 | 
|  incomplete\$1mpu\$1storage\$1older\$1than\$17\$1days\$1bytes  | DECIMAL(38，0) | 目前參考項目儲存超過 7 天的未完成分段上傳位元組數量 | 
|  incomplete\$1mpu\$1object\$1count  | long | 針對目前參考項目存放的未完成分段上傳物件數量 | 
|  incomplete\$1mpu\$1storage\$1bytes  | DECIMAL(38，0) | 為目前參考項目儲存的不完整分段上傳位元組數 | 
|  non\$1current\$1version\$1object\$1count  | long | 為目前參考項目存放的非目前版本物件數量 | 
|  non\$1current\$1version\$1storage\$1bytes  | DECIMAL(38，0) | 為目前參考項目存放的非目前版本位元組數 | 
|  object\$1lock\$1enabled\$1object\$1count  | long | 針對目前參考項目中已啟用鎖定的物件存放的物件數量 | 
|  object\$1lock\$1enabled\$1storage\$1bytes  | DECIMAL(38，0) | 在目前參考項目中啟用鎖定的物件所儲存的位元組數 | 
|  replicated\$1object\$1count  | long | 針對目前參考項目複寫的物件數量 | 
|  replicated\$1storage\$1bytes  | DECIMAL(38，0) | 針對目前參考項目複寫的位元組數 | 
|  replicated\$1object\$1source\$1count  | long | 複寫為目前參考項目存放來源的物件數量 | 
|  replicated\$1storage\$1source\$1bytes  | DECIMAL(38，0) | 複寫為目前參考項目來源的位元組數 | 
|  sse\$1kms\$1object\$1count  | long | 使用為目前參考項目存放的 SSE 金鑰加密的物件數量 | 
|  sse\$1kms\$1storage\$1bytes  | DECIMAL(38，0) | 使用為目前參考項目存放的 SSE 金鑰加密的位元組數 | 
|  object\$10kb\$1count  | long | 大小等於 0KB 的物件數量，包括目前版本、非最新版本、不完整的分段上傳和刪除標記 | 
|  object\$10kb\$1to\$1128kb\$1count  | long | 大小大於 0KB 且小於 128KB 的物件數量，包括目前版本、非目前版本、不完整的分段上傳和刪除標記 | 
|  object\$1128kb\$1to\$1256kb\$1count  | long | 大小大於 128KB 且小於 256KB 的物件數量，包括目前版本、非最新版本、不完整的分段上傳和刪除標記 | 
|  object\$1256kb\$1to\$1512kb\$1count  | long | 大小大於 256KB 且小於 512KB 的物件數量，包括目前版本、非最新版本、不完整的分段上傳和刪除標記 | 
|  object\$1512kb\$1to\$11mb\$1count  | long | 大小大於 512KB 且小於 1MB 的物件數量，包括目前版本、非目前版本、不完整的分段上傳和刪除標記 | 
|  object\$11mb\$1to\$12mb\$1count  | long | 大小大於 1MB 且小於 2MB 的物件數量，包括目前版本、非最新版本、不完整的分段上傳和刪除標記 | 
|  object\$12mb\$1to\$14mb\$1count  | long | 大小大於 2MB 且小於 4MB 的物件數量，包括目前版本、非目前版本、不完整的分段上傳和刪除標記 | 
|  object\$14mb\$1to\$18mb\$1count  | long | 大小大於 4MB 且小於 8MB 的物件數量，包括目前版本、非最新版本、不完整的分段上傳和刪除標記 | 
|  object\$18mb\$1to\$116mb\$1count  | long | 大小大於 8MB 且小於 16MB 的物件數量，包括目前版本、非最新版本、不完整的分段上傳和刪除標記 | 
|  object\$116mb\$1to\$132mb\$1count  | long | 大小大於 16MB 且小於 32MB 的物件數量，包括目前版本、非目前版本、不完整的分段上傳和刪除標記 | 
|  object\$132mb\$1to\$164mb\$1count  | long | 大小大於 32MB 且小於 64MB 的物件數量，包括目前版本、非目前版本、不完整的分段上傳和刪除標記 | 
|  object\$164mb\$1to\$1128mb\$1count  | long | 大小大於 64MB 且小於 128MB 的物件數量，包括目前版本、非最新版本、不完整的分段上傳和刪除標記 | 
|  object\$1128mb\$1to\$1256mb\$1count  | long | 大於 128MB 且小於 256MB 的物件大小，包括目前版本、非目前版本、不完整的分段上傳和刪除標記 | 
|  object\$1256mb\$1to\$1512mb\$1count  | long | 大於 256MB 且小於 512MB 的物件大小，包括目前版本、非目前版本、不完整的分段上傳和刪除標記 | 
|  object\$1512mb\$1to\$11gb\$1count  | long | 物件大小大於 512MB 且小於 1GB 的數量，包括目前版本、非目前版本、不完整的分段上傳和刪除標記 | 
|  object\$11gb\$1to\$12gb\$1count  | long | 大於 1GB 且小於 2GB 的物件大小數目，包括目前版本、非最新版本、不完整的分段上傳和刪除標記 | 
|  object\$12gb\$1to\$14gb\$1count  | long | 物件大小大於 2GB 且小於 4GB 的數量，包括目前版本、非最新版本、不完整的分段上傳和刪除標記 | 
|  object\$1larger\$1than\$14gb\$1count  | long | 大於 4GB 的物件大小數目，包括目前版本、非目前版本、不完整的分段上傳和刪除標記 | 

## 儲存貯體屬性指標資料表結構描述
<a name="storage-lens-s3-tables-schemas-bucket-property"></a>


| 名稱 | 類型 | Description | 
| --- | --- | --- | 
|  version\$1number  | string | 資料表結構描述的版本識別符 | 
|  configuration\$1id  | string | S3 Storage Lens 組態名稱 | 
|  report\$1time  | timestamptz | S3 Storage Lens 報告參考的日期 | 
|  aws\$1account\$1id  | string | 項目參照的帳戶 ID | 
|  record\$1type  | string | 記錄類型，與資料彙總層級相關。值：ACCOUNT、BUCKET、PREFIX、STORAGE\$1LENS\$1GROUP\$1BUCKET、STORAGE\$1LENS\$1GROUP\$1ACCOUNT。 | 
|  record\$1value  | string | 記錄類型下有超過一筆記錄的解構符號。它用於參考 字首。 | 
|  aws\$1region  | string | 區域 | 
|  storage\$1class  | string | 儲存體方案 | 
|  bucket\$1name  | string | 儲存貯體名稱 | 
|  versioning\$1enabled\$1bucket\$1count  | long | 目前參考項目已啟用版本控制的儲存貯體數量 | 
|  mfa\$1delete\$1enabled\$1bucket\$1count  | long | 目前參考項目已啟用 MFA 刪除的儲存貯體數量 | 
|  sse\$1kms\$1enabled\$1bucket\$1count  | long | 針對目前參考的項目啟用 KMS 的儲存貯體數量 | 
|  object\$1ownership\$1bucket\$1owner\$1enforced\$1bucket\$1count  | long | 目前參考項目強制執行物件擁有權儲存貯體擁有者的儲存貯體數量 | 
|  object\$1ownership\$1bucket\$1owner\$1preferred\$1bucket\$1count  | long | 目前參考項目偏好物件擁有權儲存貯體擁有者的儲存貯體數量 | 
|  object\$1ownership\$1object\$1writer\$1bucket\$1count  | long | 目前參考項目具有物件擁有權物件寫入器的儲存貯體數量 | 
|  transfer\$1acceleration\$1enabled\$1bucket\$1count  | long | 目前參考項目已啟用傳輸加速的儲存貯體數量 | 
|  event\$1notification\$1enabled\$1bucket\$1count  | long | 為目前參考項目啟用事件通知的儲存貯體數量 | 
|  transition\$1lifecycle\$1rule\$1count  | long | 目前參考項目的轉換生命週期規則數目 | 
|  expiration\$1lifecycle\$1rule\$1count  | long | 目前參考項目的過期生命週期規則數目 | 
|  non\$1current\$1version\$1transition\$1lifecycle\$1rule\$1count  | long | 目前參考項目的非目前版本轉換生命週期規則數目 | 
|  non\$1current\$1version\$1expiration\$1lifecycle\$1rule\$1count  | long | 目前參考項目的非目前版本過期生命週期規則數目 | 
|  abort\$1incomplete\$1multipart\$1upload\$1lifecycle\$1rule\$1count  | long | 中止目前參考項目未完成分段上傳生命週期規則的數量 | 
|  expired\$1object\$1delete\$1marker\$1lifecycle\$1rule\$1count  | long | 目前參考項目的過期物件刪除標記生命週期規則數目 | 
|  same\$1region\$1replication\$1rule\$1count  | long | 目前參考項目的相同區域複寫規則計數 | 
|  cross\$1region\$1replication\$1rule\$1count  | long | 目前參考項目的跨區域複寫規則計數 | 
|  same\$1account\$1replication\$1rule\$1count  | long | 目前參考項目的相同帳戶複寫規則計數數量 | 
|  cross\$1account\$1replication\$1rule\$1count  | long | 目前參考項目的跨帳戶複寫規則計數數目 | 
|  invalid\$1destination\$1replication\$1rule\$1count  | long | 目前參考項目具有無效目的地複寫的儲存貯體數量 | 

## 活動指標資料表結構描述
<a name="storage-lens-s3-tables-schemas-activity"></a>


| 名稱 | 類型 | Description | 
| --- | --- | --- | 
|  version\$1number  | string | 資料表結構描述的版本識別符 | 
|  configuration\$1id  | string | S3 Storage Lens 組態名稱 | 
|  report\$1time  | timestamptz | S3 Storage Lens 報告參考的日期 | 
|  aws\$1account\$1id  | string | 項目參照的帳戶 ID | 
|  aws\$1region  | string | 區域 | 
|  storage\$1class  | string | 儲存體方案 | 
|  record\$1type  | string | 記錄類型，與資料彙總層級相關。值：ACCOUNT、BUCKET、PREFIX、STORAGE\$1LENS\$1GROUP\$1BUCKET、STORAGE\$1LENS\$1GROUP\$1ACCOUNT。 | 
|  record\$1value  | string | 記錄類型下有超過一筆記錄的解構符號。它用於參考字首 | 
|  bucket\$1name  | string | 儲存貯體名稱 | 
|  all\$1request\$1count  | long | 目前參考項目的 \$1all\$1 請求數量 | 
|  all\$1sse\$1kms\$1encrypted\$1request\$1count  | long | 目前參考項目的 KMS 加密請求數量 | 
|  all\$1unsupported\$1sig\$1request\$1count  | long | 目前參考項目不支援的 Sig 請求數目 | 
|  all\$1unsupported\$1tls\$1request\$1count  | long | 目前參考項目不支援的 TLS 請求數量 | 
|  bad\$1request\$1error\$1400\$1count  | long | 目前參考項目的 400 個錯誤請求錯誤數量 | 
|  delete\$1request\$1count  | long | 目前參考項目的刪除請求數目 | 
|  downloaded\$1bytes  | decimal(0，0) | 目前參考項目的下載位元組數 | 
|  error\$14xx\$1count  | long | 目前參考項目的 4xx 錯誤數目 | 
|  error\$15xx\$1count  | long | 目前參考項目的 5xx 錯誤數目 | 
|  forbidden\$1error\$1403\$1count  | long | 目前參考項目的 403 個禁止錯誤數量 | 
|  get\$1request\$1count  | long | 目前參考項目的取得請求數量 | 
|  head\$1request\$1count  | long | 目前參考項目的標頭請求數 | 
|  internal\$1server\$1error\$1500\$1count  | long | 目前參考項目的 500 個內部伺服器錯誤數量 | 
|  list\$1request\$1count  | long | 目前參考項目的清單請求數量 | 
|  not\$1found\$1error\$1404\$1count  | long | 目前參考項目找不到錯誤的 404 個數量 | 
|  ok\$1status\$1200\$1count  | long | 目前參考項目的 200 個 OK 請求數量 | 
|  partial\$1content\$1status\$1206\$1count  | long | 目前參考項目的 206 個部分內容請求數量 | 
|  post\$1request\$1count  | long | 目前參考項目的文章請求數量 | 
|  put\$1request\$1count  | long | 目前參考項目的放置請求數量 | 
|  select\$1request\$1count  | long | 目前參考項目的選取請求數量 | 
|  select\$1returned\$1bytes  | decimal(0，0) | 選取目前參考項目的請求所傳回的位元組數 | 
|  select\$1scanned\$1bytes  | decimal(0，0) | 選取目前參考項目的請求所掃描的位元組數 | 
|  service\$1unavailable\$1error\$1503\$1count  | long | 目前參考項目的 503 個服務無法使用錯誤數目 | 
|  uploaded\$1bytes  | decimal(0，0) | 目前參考項目的上傳位元組數 | 
|  average\$1first\$1byte\$1latency  | long | 從 S3 儲存貯體收到完整請求到開始傳回回應之間的平均每次請求時間，以過去 24 小時測量 | 
|  average\$1total\$1request\$1latency  | long | 收到的第一個位元組和傳送至 S3 儲存貯體的最後一個位元組之間的每次請求平均經過時間，在過去 24 小時內測量 | 
|  read\$10kb\$1request\$1count  | long | 資料大小為 0KB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$10kb\$1to\$1128kb\$1request\$1count  | long | 資料大小大於 0KB 且高達 128KB 的 GetObject 請求數目，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$1128kb\$1to\$1256kb\$1request\$1count  | long | 資料大小大於 128KB 且高達 256KB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$1256kb\$1to\$1512kb\$1request\$1count  | long | 資料大小大於 256KB 且高達 512KB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$1512kb\$1to\$11mb\$1request\$1count  | long | 資料大小大於 512KB 且高達 1MB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$11mb\$1to\$12mb\$1request\$1count  | long | 資料大小大於 1MB 且高達 2MB 的 GetObject 請求數目，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$12mb\$1to\$14mb\$1request\$1count  | long | 資料大小大於 2MB 且高達 4MB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$14mb\$1to\$18mb\$1request\$1count  | long | 資料大小大於 4MB 且高達 8MB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$18mb\$1to\$116mb\$1request\$1count  | long | 資料大小大於 8MB 且高達 16MB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$116mb\$1to\$132mb\$1request\$1count  | long | 資料大小大於 16MB 且高達 32MB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$132mb\$1to\$164mb\$1request\$1count  | long | 資料大小大於 32MB 且高達 64MB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$164mb\$1to\$1128mb\$1request\$1count  | long | 資料大小大於 64MB 且高達 128MB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$1128mb\$1to\$1256mb\$1request\$1count  | long | 資料大小大於 128MB 且高達 256MB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$1256mb\$1to\$1512mb\$1request\$1count  | long | 資料大小大於 256MB 且高達 512MB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$1512mb\$1to\$11gb\$1request\$1count  | long | 資料大小大於 512MB 且最高可達 1GB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$11gb\$1to\$12gb\$1request\$1count  | long | 資料大小大於 1GB 且最高可達 2GB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$12gb\$1to\$14gb\$1request\$1count  | long | 資料大小大於 2GB 且最高可達 4GB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  read\$1larger\$1than\$14gb\$1request\$1count  | long | 資料大小大於 4GB 的 GetObject 請求數量，包括以範圍為基礎的請求和整個物件請求 | 
|  write\$10kb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數量，資料大小為 0KB | 
|  write\$10kb\$1to\$1128kb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數目，其資料大小大於 0KB 且最多 128KB | 
|  write\$1128kb\$1to\$1256kb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數目，其資料大小大於 128KB 且上限為 256KB | 
|  write\$1256kb\$1to\$1512kb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數目，其資料大小大於 256KB 且最多 512KB | 
|  write\$1512kb\$1to\$11mb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數量，其資料大小大於 512KB 且最多 1MB | 
|  write\$11mb\$1to\$12mb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數量，其資料大小大於 1MB 且最多 2MB | 
|  write\$12mb\$1to\$14mb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數量，其資料大小大於 2MB 且最多 4MB | 
|  write\$14mb\$1to\$18mb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數量，其資料大小大於 4MB 且最多 8MB | 
|  write\$18mb\$1to\$116mb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數目，其資料大小大於 8MB 且高達 16MB | 
|  write\$116mb\$1to\$132mb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數量，其資料大小大於 16MB 且最多 32MB | 
|  write\$132mb\$1to\$164mb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數量，其資料大小大於 32MB 且最多 64MB | 
|  write\$164mb\$1to\$1128mb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數量，其資料大小大於 64MB 且最多 128MB | 
|  write\$1128mb\$1to\$1256mb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數量，其資料大小大於 128MB 且最多 256MB | 
|  write\$1256mb\$1to\$1512mb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數量，其資料大小大於 256MB 且最多 512MB | 
|  write\$1512mb\$1to\$11gb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數量，其資料大小大於 512MB 且最高可達 1GB | 
|  write\$11gb\$1to\$12gb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數目，其資料大小大於 1GB 且最高可達 2GB | 
|  write\$12gb\$1to\$14gb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的數量，其資料大小大於 2GB 且最多 4GB | 
|  write\$1larger\$1than\$14gb\$1request\$1count  | long | PutObject、UploadPart 和 CreateMultipartUpload 請求的資料大小大於 4GB | 
|  concurrent\$1put\$1503\$1error\$1count  | long | 由於同時寫入相同物件而產生的 503 個錯誤數量 | 
|  cross\$1region\$1request\$1count  | long | 來自與儲存貯體主區域不同區域中用戶端的請求數量 | 
|  cross\$1region\$1transferred\$1bytes  | decimal(0，0) | 從與儲存貯體主區域不同區域中的呼叫傳輸的位元組數 | 
|  cross\$1region\$1without\$1replication\$1request\$1count  | long | 來自與儲存貯體主區域不同區域中用戶端的請求數量，不包括跨區域複寫請求 | 
|  cross\$1region\$1without\$1replication\$1transferred\$1bytes  | decimal(0，0) | 從與儲存貯體主區域不同區域中的呼叫傳輸的位元組數，不包括跨區域複寫位元組 | 
|  inregion\$1request\$1count  | long | 來自與儲存貯體主區域相同區域中用戶端的請求數量 | 
|  inregion\$1transferred\$1bytes  | decimal(0，0) | 從與儲存貯體主區域相同 區域的呼叫傳輸的位元組數 | 
|  unique\$1objects\$1accessed\$1daily\$1count  | long | 過去 24 小時內至少存取一次的物件數量 | 

## 後續步驟
<a name="storage-lens-s3-tables-schemas-next-steps"></a>
+ 了解 [S3 Storage Lens 資料表的許可](storage-lens-s3-tables-permissions.md) 
+ 啟動 [使用分析工具查詢 S3 Storage Lens 資料](storage-lens-s3-tables-querying.md) 
+ 檢閱 [Amazon S3 Storage Lens 指標詞彙表](storage_lens_metrics_glossary.md) 以取得詳細的指標定義

# S3 Storage Lens 資料表的許可
<a name="storage-lens-s3-tables-permissions"></a>

若要使用匯出至 S3 Tables 的 S3 Storage Lens 資料，您需要適當的 AWS Identity and Access Management (IAM) 許可。本主題涵蓋匯出指標和管理加密所需的許可。

## 指標匯出至 S3 資料表的許可
<a name="storage-lens-s3-tables-permissions-export"></a>

若要建立和使用 S3 Storage Lens 資料表和資料表儲存貯體，您必須具有特定`s3tables`許可。若要將 S3 Storage Lens 至少設定為 S3 Tables，您必須具有下列`s3tables`許可：
+  `s3tables:CreateTableBucket` – 此許可可讓您建立 AWS受管資料表儲存貯體。您帳戶中的所有 S3 Storage Lens 指標都存放在名為 的單一 AWS受管資料表儲存貯體中`aws-s3`。
+  `s3tables:PutTableBucketPolicy` – S3 Storage Lens 使用此許可來設定資料表儲存貯體政策，允許`systemtables.s3.amazonaws.com`存取儲存貯體，以便交付日誌。

**重要**  
如果您移除服務主體 的許可`systemtables.s3.amazonaws.com`，S3 Storage Lens 將無法根據您的組態使用資料更新 S3 資料表。除了已提供的政策之外，我們建議您新增其他存取控制政策，而不是編輯設定資料表儲存貯體時新增的固定政策。

**注意**  
系統會為每個 Storage Lens 組態建立每種指標匯出類型的個別 S3 資料表。如果您在 區域中有多個 Storage Lens 組態，則會為其他組態建立個別的資料表。例如，S3 資料表儲存貯體有三種可用的資料表類型。

## AWS KMS 加密資料表的許可
<a name="storage-lens-s3-tables-permissions-kms"></a>

S3 資料表中的所有資料，包括 S3 Storage Lens 指標，預設會使用 SSE-S3 加密進行加密。您可以選擇使用 AWS KMS 金鑰 (SSE-KMS) 加密 Storage Lens 指標報告。如果您選擇使用 KMS 金鑰加密 S3 Storage Lens 指標報告，您必須擁有其他許可。

1. 使用者或 IAM 角色需要下列許可。您可以使用位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台授予這些許可。
   +  `kms:DescribeKey` 在所使用的 AWS KMS 金鑰上

1. 在金鑰的 AWS KMS 金鑰政策上，您需要下列許可。您可以使用位於 https：//[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) 的 AWS KMS 主控台授予這些許可。若要使用此政策，請以您自己的資訊取代 ` user input placeholders `。

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EnableSystemTablesKeyUsage",
               "Effect": "Allow",
               "Principal": {
                   "Service": "systemtables.s3.amazonaws.com"
               },
               "Action": [
                   "kms:DescribeKey",
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": "111122223333"
                   }
               }
           },
           {
               "Sid": "EnableKeyUsage",
               "Effect": "Allow",
               "Principal": {
                   "Service": "maintenance.s3tables.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
               "Condition": {
                   "StringLike": {
                       "kms:EncryptionContext:aws:s3:arn": "<table-bucket-arn>/*"
                   }
               }
           }
       ]
   }
   ```

## S3 Storage Lens 的服務連結角色
<a name="storage-lens-s3-tables-permissions-slr"></a>

S3 Storage Lens 使用服務連結角色將指標寫入 S3 Tables。當您在帳戶中第一次啟用 S3 Tables 匯出時，會自動建立此角色。服務連結角色具有下列許可：
+  `s3tables:CreateTable` - 在資料表儲存貯體中建立`aws-s3`資料表
+  `s3tables:PutTableData` - 將指標資料寫入資料表
+  `s3tables:GetTable` - 擷取資料表中繼資料

您不需要手動建立或管理此服務連結角色。如需服務連結角色的詳細資訊，請參閱《*IAM 使用者指南*》中的[使用服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)。

## 許可的最佳實務
<a name="storage-lens-s3-tables-permissions-best-practices"></a>

設定 S3 Storage Lens 資料表的許可時，請遵循下列最佳實務：
+  **使用最低權限** - 僅授予特定任務所需的許可。例如，如果使用者只需要查詢資料，請勿授予修改 Storage Lens 組態的許可。
+  **使用 IAM 角色** - 針對存取 S3 Storage Lens 資料表的應用程式和服務，使用 IAM 角色而非長期存取金鑰。
+  **啟用 AWS CloudTrail** - 啟用 CloudTrail 記錄以監控對 S3 Storage Lens 資料表的存取並追蹤許可變更。
+  **使用資源型政策** - 盡可能使用資源型政策來控制對特定資料表或命名空間的存取。
+  **定期檢閱許可** - 定期檢閱和稽核 IAM 政策和 Lake Formation 許可，以確保它們遵循最低權限原則。

## 故障診斷許可
<a name="storage-lens-s3-tables-permissions-troubleshooting"></a>

### 啟用 S3 Tables 匯出時存取遭拒
<a name="storage-lens-s3-tables-permissions-troubleshooting-export"></a>

 **問題：**嘗試啟用 S3 Tables 匯出時，您收到「存取遭拒」錯誤。

 **解決方案：**確認您的 IAM 使用者或角色具有 `s3:PutStorageLensConfiguration`許可和必要的 S3 Tables 許可。

### 查詢資料表時存取遭拒
<a name="storage-lens-s3-tables-permissions-troubleshooting-query"></a>

 **問題：**您在 Amazon Athena 中查詢 S3 Storage Lens 資料表時收到「存取遭拒」錯誤。

 **解決方案：**驗證：
+ `aws-s3` 資料表儲存貯體上已啟用分析整合
+ Lake Formation 許可已正確設定
+ 您的 IAM 使用者或角色具有必要的 Amazon Athena 許可

### KMS 加密錯誤
<a name="storage-lens-s3-tables-permissions-troubleshooting-kms"></a>

 **問題：**您在存取加密資料表時收到 KMS 相關錯誤。

 **解決方案：**驗證：
+ 您的 IAM 政策包含必要的 KMS 許可
+ KMS 金鑰政策會將許可授予 S3 Storage Lens 服務主體
+ KMS 金鑰與您的 Storage Lens 組態位於相同的區域

## 後續步驟
<a name="storage-lens-s3-tables-permissions-next-steps"></a>
+ 了解 [設定 Amazon S3 Storage Lens 許可](storage_lens_iam_permissions.md) 
+ 了解 [使用分析工具查詢 S3 Storage Lens 資料](storage-lens-s3-tables-querying.md) 
+ 了解 [搭配 S3 Storage Lens 資料表使用 AI 助理](storage-lens-s3-tables-ai-tools.md) 

# 使用分析工具查詢 S3 Storage Lens 資料
<a name="storage-lens-s3-tables-querying"></a>

在使用 Amazon Athena 或 Amazon EMR 等分析服務查詢匯出至 S3 Tables 的 S3 Storage Lens 資料之前，您必須在 AWS受管 `aws-s3` 資料表儲存貯體上啟用分析整合，並設定 AWS Lake Formation 許可。 S3 AWS 

**重要**  
在「aws-s3」資料表儲存貯體上啟用分析整合是經常遺漏的必要步驟。如果沒有此組態，您將無法使用 AWS 分析服務查詢 S3 Storage Lens 資料表。

## 先決條件
<a name="storage-lens-s3-tables-querying-prerequisites"></a>

開始之前，請確定您已：
+ 啟用 S3 Tables 匯出的 S3 Storage Lens 組態。如需詳細資訊，請參閱 [將 S3 Storage Lens 指標匯出至 S3 資料表](storage-lens-s3-tables-export.md)。
+ 存取 Amazon Athena 或其他分析服務。
+ 啟用第一個資料可用的匯出後，等待 24-48 小時。

## 整合概觀
<a name="storage-lens-s3-tables-querying-integration-overview"></a>

如需整合 S3 Tables 與 AWS 分析服務的詳細資訊，包括先決條件、IAM 角色組態和step-by-step程序，請參閱[整合 Amazon S3 Tables 與 AWS 分析服務。](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html)

啟用 S3 Tables 匯出和設定分析整合之後，您可以使用 Amazon Athena、Amazon Redshift 和 Amazon EMR 等 AWS 分析服務查詢 S3 Storage Lens 資料。這可讓您執行自訂分析、建立儀表板，以及使用標準 SQL 從儲存資料衍生洞見。

## 使用 Amazon Athena 查詢
<a name="storage-lens-s3-tables-querying-athena"></a>

Amazon Athena 是一種無伺服器互動式查詢服務，可讓您輕鬆地使用標準 SQL 分析資料。使用下列步驟在 Athena 中查詢 S3 Storage Lens 資料。

**注意**  
在所有查詢範例中，將 取代`lens_my-config_exp`為您實際的 Storage Lens 組態命名空間。如需命名命名的詳細資訊，請參閱 [S3 Storage Lens 匯出至 S3 Tables 的資料表命名](storage-lens-s3-tables-naming.md) 。

### 範例：查詢熱門儲存取用者
<a name="storage-lens-s3-tables-querying-athena-top-consumers"></a>

下列查詢會依儲存體使用量識別前 10 個儲存貯體：

```
SELECT 
    bucket_name,
    storage_class,
    SUM(storage_bytes) / POWER(1024, 3) AS storage_gb,
    SUM(object_count) AS objects
FROM "s3tablescatalog/aws-s3"."lens_my-config_exp"."default_storage_metrics"
WHERE report_time = (
    SELECT MAX(report_time) 
    FROM "s3tablescatalog/aws-s3"."lens_my-config_exp"."default_storage_metrics"
)
    AND record_type = 'BUCKET'
    AND bucket_name != ''
GROUP BY bucket_name, storage_class
ORDER BY storage_gb DESC
LIMIT 10
```

### 範例：分析一段時間內的儲存成長
<a name="storage-lens-s3-tables-querying-athena-growth"></a>

下列查詢會分析過去 30 天的儲存成長：

```
SELECT 
    CAST(report_time AS date) AS report_date,
    SUM(storage_bytes) / POWER(1024, 3) AS total_storage_gb
FROM "s3tablescatalog/aws-s3"."lens_my-config_exp"."default_storage_metrics"
WHERE report_time >= current_date - interval '30' day
    AND record_type = 'ACCOUNT'
GROUP BY CAST(report_time AS date)
ORDER BY report_date DESC;
```

### 範例：識別未完成的分段上傳
<a name="storage-lens-s3-tables-querying-athena-mpu"></a>

下列查詢會尋找具有超過 7 天未完成分段上傳的儲存貯體：

```
SELECT 
    bucket_name,
    SUM(incomplete_mpu_storage_older_than_7_days_bytes) / POWER(1024, 3) AS wasted_storage_gb,
    SUM(incomplete_mpu_object_older_than_7_days_count) AS wasted_objects
FROM "s3tablescatalog/aws-s3"."lens_my-config_exp"."default_storage_metrics"
WHERE report_time = (
    SELECT MAX(report_time) 
    FROM "s3tablescatalog/aws-s3"."lens_my-config_exp"."default_storage_metrics"
)
    AND record_type = 'BUCKET'
    AND incomplete_mpu_storage_older_than_7_days_bytes > 0
GROUP BY bucket_name
ORDER BY wasted_storage_gb DESC;
```

### 範例：尋找冷資料候選項目
<a name="storage-lens-s3-tables-querying-athena-cold-data"></a>

下列查詢會識別過去 100 天內沒有活動的字首，這些字首存放在熱儲存層中：

```
WITH recent_activity AS (
    SELECT DISTINCT 
        bucket_name,
        record_value AS prefix_path
    FROM "s3tablescatalog/aws-s3"."lens_my-config_exp"."expanded_prefixes_activity_metrics"
    WHERE report_time >= current_date - interval '100' day
        AND record_type = 'PREFIX'
        AND all_request_count > 0
)
SELECT 
    s.bucket_name,
    s.record_value AS prefix_path,
    s.storage_class,
    SUM(s.storage_bytes) / POWER(1024, 3) AS storage_gb
FROM "s3tablescatalog/aws-s3"."lens_my-config_exp"."expanded_prefixes_storage_metrics" s
LEFT JOIN recent_activity r 
    ON s.bucket_name = r.bucket_name 
    AND s.record_value = r.prefix_path
WHERE s.report_time = (
    SELECT MAX(report_time) 
    FROM "s3tablescatalog/aws-s3"."lens_my-config_exp"."expanded_prefixes_storage_metrics"
)
    AND s.record_type = 'PREFIX'
    AND s.storage_class IN ('STANDARD', 'REDUCED_REDUNDANCY')
    AND s.storage_bytes > 1073741824  -- > 1GB
    AND r.prefix_path IS NULL  -- No recent activity
GROUP BY s.bucket_name, s.record_value, s.storage_class
ORDER BY storage_gb DESC
LIMIT 20;
```

### 範例：分析請求模式
<a name="storage-lens-s3-tables-querying-athena-requests"></a>

下列查詢會分析請求模式，以了解存取頻率：

```
SELECT 
    bucket_name,
    SUM(all_request_count) AS total_requests,
    SUM(get_request_count) AS get_requests,
    SUM(put_request_count) AS put_requests,
    ROUND(100.0 * SUM(get_request_count) / NULLIF(SUM(all_request_count), 0), 2) AS get_percentage,
    SUM(downloaded_bytes) / POWER(1024, 3) AS downloaded_gb
FROM "s3tablescatalog/aws-s3"."lens_my-config_exp"."default_activity_metrics"
WHERE report_time >= current_date - interval '7' day
    AND record_type = 'BUCKET'
    AND bucket_name != ''
GROUP BY bucket_name
HAVING SUM(all_request_count) > 0
ORDER BY total_requests DESC
LIMIT 10;
```

## 在 Amazon EMR 上使用 Apache Spark 查詢
<a name="storage-lens-s3-tables-querying-emr"></a>

Amazon EMR 提供受管 Hadoop 架構，可讓您使用 Apache Spark 輕鬆處理大量資料。您可以使用 Iceberg 連接器直接讀取 S3 Storage Lens 資料表。

### 使用 Spark 讀取 S3 資料表
<a name="storage-lens-s3-tables-querying-emr-spark"></a>

使用下列 Python 程式碼，透過 Spark 讀取 S3 Storage Lens 資料：

```
from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("S3StorageLensAnalysis") \
    .config("spark.sql.catalog.s3tablescatalog", "org.apache.iceberg.spark.SparkCatalog") \
    .config("spark.sql.catalog.s3tablescatalog.catalog-impl", "org.apache.iceberg.aws.glue.GlueCatalog") \
    .getOrCreate()

# Read S3 Storage Lens data
df = spark.read \
    .format("iceberg") \
    .load("s3tablescatalog/aws-s3.lens_my-config_exp.default_storage_metrics")

# Analyze data
df.filter("record_type = 'BUCKET'") \
    .groupBy("bucket_name", "storage_class") \
    .sum("storage_bytes") \
    .orderBy("sum(storage_bytes)", ascending=False) \
    .show(10)
```

## 查詢最佳化最佳實務
<a name="storage-lens-s3-tables-querying-optimization"></a>

遵循這些最佳實務來最佳化查詢效能並降低成本：
+  **依 report\$1time 篩選** – 一律包含日期篩選條件，以減少掃描的資料量。這對保留期較長的資料表尤其重要。

  ```
  WHERE report_time >= current_date - interval '7' day
  ```
+  **使用 record\$1type 篩選條件** – 指定適當的彙總層級 (ACCOUNT、BUCKET、 PREFIX)，以僅查詢您需要的資料。

  ```
  WHERE record_type = 'BUCKET'
  ```
+  **包含 LIMIT 子句** – 針對探索性查詢使用 LIMIT，以控制結果大小並降低查詢成本。

  ```
  LIMIT 100
  ```
+  **篩選空白記錄** – 使用條件來排除空白或零值記錄。

  ```
  WHERE storage_bytes > 0
  ```
+  **使用最新資料** – 分析目前狀態時，請篩選最新的 report\$1time，以避免掃描歷史資料。

  ```
  WHERE report_time = (SELECT MAX(report_time) FROM table_name)
  ```

### 最佳化查詢模式範例
<a name="storage-lens-s3-tables-querying-optimization-example"></a>

下列查詢示範最佳化的最佳實務：

```
SELECT 
    bucket_name,
    SUM(storage_bytes) / POWER(1024, 3) AS storage_gb
FROM "s3tablescatalog/aws-s3"."lens_my-config_exp"."default_storage_metrics"
WHERE report_time >= current_date - interval '7' day  -- Date filter
    AND record_type = 'BUCKET'                         -- Record type filter
    AND storage_bytes > 0                              -- Non-empty filter
    AND bucket_name != ''                              -- Non-empty filter
GROUP BY bucket_name
ORDER BY storage_gb DESC
LIMIT 100;                                             -- Result limit
```

## 疑難排解
<a name="storage-lens-s3-tables-querying-troubleshooting"></a>

### 查詢不會傳回任何結果
<a name="storage-lens-s3-tables-querying-troubleshooting-no-results"></a>

 **問題：**您的查詢已成功完成，但不會傳回任何結果。

 **解決方案**：
+ 檢查最新的 report\$1time 以確認資料是否可用：

  ```
  SELECT MAX(report_time) AS latest_data
  FROM "s3tablescatalog/aws-s3"."lens_my-config_exp"."default_storage_metrics";
  ```
+ 請確定您使用的是正確的命名空間名稱。使用 `SHOW TABLES IN `lens_my-config_exp`;` 列出可用的資料表。
+ 在啟用 S3 Tables 匯出後等待 24-48 小時，第一個資料才可使用。

### 存取遭拒錯誤
<a name="storage-lens-s3-tables-querying-troubleshooting-access"></a>

 **問題：**您在執行查詢時收到存取遭拒錯誤。

 **解決方案：**確認已正確設定 AWS Lake Formation 許可。如需詳細資訊，請參閱[將 Amazon S3 Tables 與 AWS 分析服務整合。](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html)

## 後續步驟
<a name="storage-lens-s3-tables-querying-next-steps"></a>
+ 了解 [搭配 S3 Storage Lens 資料表使用 AI 助理](storage-lens-s3-tables-ai-tools.md)
+ 檢閱 [Amazon S3 Storage Lens 指標詞彙表](storage_lens_metrics_glossary.md)以取得指標定義
+ 探索[Amazon S3 Storage Lens 指標使用案例](storage-lens-use-cases.md)更多分析想法
+ 了解 [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) 無伺服器查詢

# 搭配 S3 Storage Lens 資料表使用 AI 助理
<a name="storage-lens-s3-tables-ai-tools"></a>

您可以使用 AI 助理和對話式 AI 工具，與使用自然語言匯出至 S3 資料表的 S3 S3 Storage Lens 資料互動。透過利用模型內容通訊協定 (MCP) 和 Amazon S3 Tables 的 MCP 伺服器，您可以查詢、分析和獲得儲存資料的洞見，而無需撰寫 SQL 查詢。

## 概觀
<a name="storage-lens-s3-tables-ai-tools-overview"></a>

模型內容通訊協定 (MCP) 是 AI 應用程式存取和使用內容資訊的標準化方式。MCP Server for Amazon S3 Tables 提供工具，可讓 AI 助理使用自然語言界面與您的 S3 Tables 資料互動。這會普及資料存取，並讓技術技能層級的個人能夠使用 S3 Storage Lens 指標。

使用適用於 S3 Tables 的 MCP 伺服器，您可以使用自然語言來：
+ 列出 S3 資料表儲存貯體、命名空間和資料表
+ 查詢 S3 Storage Lens 指標並取得洞見
+ 分析儲存趨勢和模式
+ 識別成本最佳化機會
+ 產生報告和視覺化效果

## 支援的 AI 助理
<a name="storage-lens-s3-tables-ai-tools-supported"></a>

MCP Server for S3 Tables 可與支援模型內容通訊協定的各種 AI 助理搭配使用，包括：
+ **Kiro** - 內建 MCP 支援的 AI 編碼助理
+ **Amazon Q Developer** - AWS開發人員的 AI 輔助
+ **Cline** - 具有 MCP 整合的 AI 編碼助理
+ **Claude Desktop** - 支援 MCP 的 Anthropic 桌面應用程式
+ **游標** - AI 支援的程式碼編輯器

**重要**  
AI 產生的 SQL 查詢和建議應在使用前進行檢閱和驗證。驗證查詢是否適合您的資料結構、使用案例和效能需求。在生產環境中實作建議之前，請務必在非生產環境中測試建議。

## 使用 S3 Storage Lens 資料表設定 Kiro
<a name="storage-lens-s3-tables-ai-tools-kiro-setup"></a>

Kiro 是一種 AI 編碼助理，可透過 MCP 伺服器與 S3 Tables 無縫整合。Kiro 可協助您直接透過其界面安裝和設定 MCP 伺服器，簡化設定程序。

如需 Kiro 的詳細資訊，請參閱 [Kiro AI](https://kiro.ai/)。

### 先決條件
<a name="storage-lens-s3-tables-ai-tools-kiro-prerequisites"></a>

開始之前，請確定您已：
+ Kiro 安裝在您的系統上。從 https：//[https://kiro.ai/](https://kiro.ai/) 下載
+ AWS CLI 使用適當的登入資料設定
+ 啟用 S3 Tables 匯出的 S3 Storage Lens 組態
+ 查詢 S3 資料表的許可。如需詳細資訊，請參閱[S3 Storage Lens 資料表的許可](storage-lens-s3-tables-permissions.md)。

### 步驟 1：安裝 S3 Tables MCP 伺服器
<a name="storage-lens-s3-tables-ai-tools-kiro-step1"></a>

您可以透過兩種方式安裝 S3 Tables MCP 伺服器：

**選項 1：使用 Kiro 的內建 MCP 伺服器管理**  
Kiro 可協助您直接透過其界面探索和安裝 MCP 伺服器：

1. 開啟 Kiro

1. 存取 MCP 伺服器管理界面 （通常透過設定或命令調色盤）

1. 搜尋「S3 Tables」或「awslabs.s3-tables-mcp-server」

1. 遵循 Kiro 的提示來安裝和設定伺服器

**選項 2：使用 uvx 手動安裝**  
或者，您可以使用 Python 套件執行器 `uvx`手動安裝 MCP 伺服器：

```
uvx awslabs.s3-tables-mcp-server@latest
```

如需安裝 MCP 伺服器的詳細資訊，請參閱 [AWS S3 Tables MCP Server 文件](https://awslabs.github.io/mcp/servers/s3-tables-mcp-server)。

### 步驟 2：設定 Kiro MCP 設定
<a name="storage-lens-s3-tables-ai-tools-kiro-step2"></a>

`~/.kiro/settings/mcp.json` 使用下列內容在 建立或更新您的 Kiro MCP 組態檔案：

```
{
  "mcpServers": {
    "awslabs.s3-tables-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.s3-tables-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}
```

`your-aws-profile` 將 取代為您的 AWS CLI 設定檔名稱，並將 `us-east-1`取代為您的 AWS 區域。

### 步驟 3：驗證組態
<a name="storage-lens-s3-tables-ai-tools-kiro-step3"></a>

設定 MCP 伺服器後，重新啟動 Kiro 並確認 S3 Tables 工具可用。您可以在 Kiro 的設定中檢查可用的 MCP 伺服器，或要求 Kiro 列出可用的工具。

## AI 助理的範例使用案例
<a name="storage-lens-s3-tables-ai-tools-examples"></a>

下列範例示範如何搭配 AI 助理使用自然語言提示來與 S3 Storage Lens 資料互動。

### 範例 1：查詢熱門儲存取用者
<a name="storage-lens-s3-tables-ai-tools-examples-consumers"></a>

**提示：**「顯示我的 S3 Storage Lens 資料中依儲存體用量列出的前 10 個儲存貯體。」

AI 助理將使用 MCP 伺服器查詢 S3 Storage Lens 資料表並傳回結果，包括儲存貯體名稱、儲存類別和儲存量。

### 範例 2：分析儲存成長
<a name="storage-lens-s3-tables-ai-tools-examples-growth"></a>

**提示：**「分析過去 30 天的儲存成長，並顯示趨勢。」

AI 助理將查詢儲存指標表、計算每日儲存總計，並呈現成長趨勢。

### 範例 3：識別成本最佳化機會
<a name="storage-lens-s3-tables-ai-tools-examples-optimization"></a>

**提示：**「尋找具有未完成分段上傳且超過 7 天而浪費儲存的儲存貯體。」

AI 助理將查詢儲存指標資料表是否有未完成的分段上傳，並提供可能節省成本的儲存貯體清單。

### 範例 4：尋找冷資料候選項目
<a name="storage-lens-s3-tables-ai-tools-examples-cold-data"></a>

**提示：**「識別在過去 100 天內沒有活動的字首，這些字首存放在熱儲存層中。」

AI 助理會分析儲存和活動指標，以識別可移至較冷儲存層的資料，以進行成本最佳化。

### 範例 5：產生儲存報告
<a name="storage-lens-s3-tables-ai-tools-examples-reports"></a>

**提示：**「建立我的 S3 儲存體摘要報告，顯示上週的總儲存體、物件計數和請求模式。」

AI 助理將查詢多個資料表、彙總資料，並產生完整的報告。

## 使用 AI 助理的最佳實務
<a name="storage-lens-s3-tables-ai-tools-best-practices"></a>

搭配 S3 Storage Lens 資料使用 AI 助理時，請遵循下列最佳實務：
+ **在您的提示中具體**說明 - 提供明確、具體的指示，說明您想要分析哪些資料，以及您正在尋找哪些洞見。
+ **驗證 AI 產生的查詢** - 在執行或採取行動之前，請務必檢閱和驗證 AI 助理產生的 SQL 查詢和建議。AI 助理偶爾可能會產生不正確的查詢或建議，這些查詢或建議需要根據您的特定使用案例和資料進行驗證。
+ **使用適當的許可** - 確保 AI 助理使用的 IAM 憑證只有必要的許可。對於唯讀分析，僅授予 SELECT 許可。
+ **監控用量** - 使用 追蹤 AI 助理執行的查詢 AWS CloudTrail ，以維護稽核線索。
+ **從簡單的查詢**開始 - 從簡單的查詢開始，以了解 AI 助理如何解譯您的提示，然後進行更複雜的分析。

## 記錄和可追蹤性
<a name="storage-lens-s3-tables-ai-tools-logging"></a>

搭配 AI 助理使用 S3 Tables MCP Server 時，您有多種方式可以稽核操作：
+ **本機日誌** - MCP 伺服器會在本機記錄請求和回應。您可以使用`--log-dir`組態選項指定日誌目錄。
+ **AWS CloudTrail** - 透過使用 PyIceberg 的 MCP 伺服器執行的所有 S3 Tables 操作都會以 `awslabs/mcp/s3-tables-mcp-server/<version>`做為使用者代理程式字串。您可以依此使用者代理程式篩選 CloudTrail 日誌，以追蹤 AI 助理執行的動作。
+ **AI 助理歷史記錄** - Kiro 和 Cline 等 AI 助理會維護歷史記錄日誌，記錄自然語言請求、LLM 回應和提供給 MCP 伺服器的指示。

## 安全考量
<a name="storage-lens-s3-tables-ai-tools-security"></a>

搭配 S3 Storage Lens 資料使用 AI 助理時，請遵循下列安全最佳實務：
+ **使用最低權限存取** - 僅授予 AI 助理其任務所需的最低許可。
+ **啟用 MFA** - 對 AI 助理存取 AWS 的帳戶使用多重驗證。
+ **定期檢閱許可** - 定期稽核授予 AI 助理的許可，並撤銷不必要的存取權。
+ **使用單獨的登入**資料 - 考慮使用單獨的 AWS 登入資料進行 AI 助理存取，以促進追蹤和稽核。
+ **避免共用敏感資料** - 在提示中將敏感資訊分享給 AI 助理時要小心，尤其是在使用雲端式 AI 服務時。

## 疑難排解
<a name="storage-lens-s3-tables-ai-tools-troubleshooting"></a>

### AI 助理無法連線至 S3 資料表
<a name="storage-lens-s3-tables-ai-tools-troubleshooting-connection"></a>

**問題：**AI 助理回報無法連線至 S3 Tables 或 MCP Server 沒有回應。

**解決方案**：
+ 使用 驗證 MCP 伺服器是否已正確安裝 `uvx awslabs.s3-tables-mcp-server@latest --version`
+ 檢查您的 AWS 登入資料是否已正確設定
+ 確保 MCP 組態檔案具有正確的 AWS 設定檔和區域

### 存取遭拒錯誤
<a name="storage-lens-s3-tables-ai-tools-troubleshooting-access"></a>

**問題：**AI 助理在查詢 S3 Storage Lens 資料表時收到存取遭拒錯誤。

**解決方案**：
+ 確認`aws-s3`資料表儲存貯體上已啟用分析整合
+ 檢查 Lake Formation 許可是否已正確設定
+ 確保 AWS 登入資料具有必要的 IAM 許可

### 不正確或非預期的結果
<a name="storage-lens-s3-tables-ai-tools-troubleshooting-results"></a>

**問題：**AI 助理傳回不正確或非預期的結果。

**解決方案**：
+ 檢閱 AI 助理產生的 SQL 查詢
+ 確認您為 Storage Lens 組態使用正確的命名空間名稱
+ 透過查詢最新的 report\$1time 檢查資料是否可用
+ 精簡您的提示，以更具體地說明您想要分析的內容

## 其他資源
<a name="storage-lens-s3-tables-ai-tools-resources"></a>

如需搭配 S3 Tables 使用 AI 助理的詳細資訊，請參閱下列資源：
+ [Kiro AI](https://kiro.ai/) - 內建 MCP 支援的 AI 編碼助理
+ [使用模型內容通訊協定 (MCP) - 儲存部落格實作 S3 資料表的對話式 AI](https://aws.amazon.com/blogs/storage/implementing-conversational-ai-for-s3-tables-using-model-context-protocol-mcp/) AWS 
+ [AWS S3 Tables MCP 伺服器文件](https://awslabs.github.io/mcp/servers/s3-tables-mcp-server)
+ [模型內容通訊協定規格](https://modelcontextprotocol.io/)