# querying-aws-s3

Скилл для запросов к метаданным S3 через Athena SQL: считает объекты, ищет недавние загрузки и удаления, разбирает классы хранения.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 5500 установок · ★ 3282
- Автор: aws
- Лицензия: Apache-2.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/aws/agent-toolkit-for-aws/tree/HEAD/skills/specialized-skills/system-table-skills/querying-aws-s3/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/querying-aws-s3

## Что делает

Скилл учит агента работать с системными таблицами S3 Metadata и S3 Storage Lens вместо сырых API. Таблицы Iceberg лежат в управляемом AWS бакете `aws-s3` и читаются через Amazon Athena. Запрос идёт по схеме `"s3tablescatalog/aws-s3"."<namespace>".""`.

Три таблицы метаданных: `journal` — журнал событий CREATE, DELETE, UPDATE_METADATA, `inventory` — текущее состояние по одному объекту на строку, `annotation` — содержимое аннотаций в колонке `text_value`. У Storage Lens свои таблицы: `default_storage_metrics`, `default_activity_metrics`, `bucket_property_metrics`.

Почему не `list-objects-v2`? Он отдаёт по 1000 объектов на страницу, а на бакете с миллионами объектов это тупик. Ещё он не скажет, кто загрузил объект и с какого IP — такие поля есть только в `journal`. Перед первым запросом проверьте, включён ли сбор метаданных: `aws s3api get-bucket-metadata-configuration --bucket <BUCKET> --region <REGION>`. Если вернулась ошибка `MetadataConfigurationNotFound`, таблиц ещё нет и их надо создать. Для доступа из Athena нужен федеративный каталог `s3tablescatalog`, зарегистрированный в Glue, и рабочая группа Athena с шифрованием SSE-KMS на выходной локации. Без этого запрос упадёт с `CATALOG_NOT_FOUND`. Скилл советует использовать IAM-роли или временные учётные данные вместо долгоживущих ключей.

## Требования
- Работает с: AWS

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add aws/agent-toolkit-for-aws --skill querying-aws-s3 -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/querying-aws-s3/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/querying-aws-s3/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add aws/agent-toolkit-for-aws --skill querying-aws-s3 -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/querying-aws-s3/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add aws/agent-toolkit-for-aws --skill querying-aws-s3 -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/querying-aws-s3/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install aws/agent-toolkit-for-aws querying-aws-s3
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/querying-aws-s3/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add aws/agent-toolkit-for-aws --skill querying-aws-s3 -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/aws/agent-toolkit-for-aws --path skills/specialized-skills/system-table-skills/querying-aws-s3
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/querying-aws-s3/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add aws/agent-toolkit-for-aws --skill querying-aws-s3 -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/aws/agent-toolkit-for-aws/tree/HEAD/skills/specialized-skills/system-table-skills/querying-aws-s3/SKILL.md

## Когда брать
- посчитать объекты в бакете без пагинации по 1000 штук
- найти, кто загрузил или удалил объект и с какого IP
- разложить содержимое бакета по классам хранения
- отобрать объекты по тегу или пользовательским метаданным
- посмотреть динамику запросов GET, PUT и DELETE по бакету

## Примеры запросов агенту
- сколько объектов в бакете my-bucket
- кто загружал файлы в префикс logs/ за последние сутки
- покажи разбивку по классам хранения для my-bucket

## Похожие
- [aws-s3](https://affpapa.org/nevibecode/skills/aws-s3.md) — скилл · 345 установок
- [aws-cloudtrail](https://affpapa.org/nevibecode/skills/aws-cloudtrail.md) — скилл · 340 установок
- [aws-sdk-java-v2-s3](https://affpapa.org/nevibecode/skills/aws-sdk-java-v2-s3.md) — скилл · 3700 установок
- [aws-penetration-testing](https://affpapa.org/nevibecode/skills/aws-penetration-testing.md) — скилл · ★ 4676
- [iac-terraform-data-engineering](https://affpapa.org/nevibecode/skills/iac-terraform-data-engineering.md) — скилл · 1800 установок
- [iac-data-engineering-terraform](https://affpapa.org/nevibecode/skills/iac-data-engineering-terraform.md) — скилл · 1800 установок

Из того же набора: [aws/agent-toolkit-for-aws](https://affpapa.org/nevibecode/by/aws/agent-toolkit-for-aws.md) — 133 карточки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
