Skip to content
Agentmart
Submit a tool

querying-aws-sagemaker-catalog

Runs SQL analytics on SageMaker Catalog asset metadata tables exported as Apache Iceberg in S3 Tables.

Skill by awsOfficial

IndexedApache-2.0★ 3,049
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/aws-querying-aws-sagemaker-catalog

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Runs SQL analytics on SageMaker Catalog asset metadata tables exported as Apache Iceberg in S3 Tables. Covers governance queries, asset growth tracking, ownership audits, time-travel over catalog state, and metadata quality analysis. Applies when querying catalog inventory, finding assets without descriptions, comparing catalog snapshots, or auditing data ownership. Trigger phrases: catalog inventory SQL, how many assets, assets without descriptions, asset growth over time, who owns this data, catalog governance, data quality audit, catalog analytics.

Use cases: backend, cloud, data, security

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/querying-aws-sagemaker-catalog

What's inside

Skill name
querying-aws-sagemaker-catalog
Description
Runs SQL analytics on SageMaker Catalog asset metadata tables exported as Apache Iceberg in S3 Tables. Covers governance queries, asset growth tracking, ownership audits, time-travel over catalog state, and metadata quality analysis. Applies when querying catalog inventory, finding assets without descriptions, comparing catalog snapshots, or auditing data ownership. Trigger phrases: catalog inventory SQL, how many assets, assets without descriptions, asset growth over time, who owns this data, catalog governance, data quality audit, catalog analytics.
License
Apache-2.0
Instructions
228 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Query AWS SageMaker Catalog System Tables

## Overview

**Works best with** the [AWS MCP server](https://docs.aws.amazon.com/aws-mcp/) for sandboxed execution and audit logging. All commands below use the AWS CLI and work in any environment with configured AWS credentials.

Amazon SageMaker Unified Studio (whose catalog feature is referred to below as SageMaker Catalog) exports asset metadata as a daily-snapshot
Apache Iceberg table in the AWS-managed `aws-sagemaker-catalog` table bucket. This
enables SQL queries over your entire data catalog inventory — asset counts, governance
gaps, ownership audits, and historical comparisons — without building custom ETL.

Data is partitioned by `snapshot_time` and exported once daily (around midnight per
region). The table is read-only.

## Decision Tree

| User intent | Use this skill? | Alternative |
|---|---|---|
| SQL analytics on catalog state (counts, governance, trends) | **Yes** | — |
| Historical comparison ("what changed in catalog last week") | **Yes** — time travel via `snapshot_time` | — |
| Find assets without owners or descriptions | **Yes** | — |
| Find a specific table by name or concept | **No** | `finding-data-lake-assets` or Glue Discovery `search` |
| Browse/enumerate catalog interactively | **No** | `exploring-data-catalog` |
| Run a query *on* a table's data | **No** | `querying-data-lake` |
| Manage catalog metadata (add descriptions, tags) | **No** | Glue Discovery `put-form-type` / `associate-glossary-terms` |

## Common Tasks

### 1. Check If Configured

```bash
aws datazone get-data-export-configuration \
  --domain-identifier <DOMAIN_ID> \
  --region <REGION>
```

- If no domain exists: `aws datazone list-domains --region <REGION>`
- If export not enabled: guide user to enable.
- One domain per account per region.

Verify table bucket exists:

```bash
aws s3tables list-table-buckets --region <REGION> \
  --query "tableBuckets[?name=='aws-sagemaker-catalog']"
```

### 2. Enable

**With KMS encryption (recommended for production):**

```bash
aws datazone put-data-export-configuration \
  --domain-identifier <DOMAIN_ID> \
  --region <REGION> \
  --enable-export \
  --encryption-configuration kmsKeyArn=<KMS_KEY_ARN>,sseAlgorithm=aws:kms
```

> **Note**: Encryption cannot be changed after creation. Always specify KMS for sensitive catalog data.

Without encryption (for quick testing only):

```bash
aws datazone put-data-export-configuration \
  --domain-identifier <DOMAIN_ID> \
  --region <REGION> \
  --enable-export
```

First data available within 24 hours. See:
[Exporting asset metadata](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/export-asset-metadata.html)

### 3. Verify Permissions for Querying

Requires:

- S3 Tables federated catalog registered in Glue (`s3tablescatalog`)
- Lake Formation SELECT + DESCRIBE grants on the table

Grant access:

```bash
aws lakeformation grant-permissions \
  --principal DataLakePrincipalIdentifier=<ROLE_ARN> \
  --resource '{"Table": {"CatalogId": "<ACCOUNT>:s3tablescatalog/aws-sagemaker-catalog", "DatabaseName": "asset_metadata", "Name": "asset"}}' \
  --permissions DESCRIBE SELECT \
  --region <REGION>
```

### 4. Query

**Query syntax:**

```sql
"s3tablescatalog/aws-sagemaker-catalog"."asset_metadata"."asset"
```

**Constraints:**

- You MUST always filter by `snapshot_time` — without it, the query scans all historical snapshots and returns duplicates
- You MUST confirm workgroup and output location before executing
- Default to `DATE(snapshot_time) = CURRENT_DATE` for current state
- You SHOULD use the key columns documented in this skill to build queries. If you need the full schema, run `get-tables` once:

  ```
  aws glue get-tables --catalog-id "<ACCOUNT>:s3tablescatalog/aws-sagemaker-catalog" --database-name "asset_metadata" --region <REGION>
  ```

**Key columns:**

| Column | What it holds | Usage |
|--------|--------------|-------|
| `snapshot_time` | Partition key — daily snapshot timestamp | **Always filter on this** |
| `asset_id` | Unique catalog asset identifier | Primary key for lookups |
| `resource_type_enum` | GlueTable, RedshiftTable, S3Collection, etc. | Filter by asset type |
| `resource_id` | ARN or native identifier | Cross-reference with source systems |
| `asset_name` | Business-friendly name | Display, search |
| `resource_name` | Technical name (table name, prefix) | Filtering |

From aws/agent-toolkit-for-aws, Apache-2.0.

More from aws/agent-toolkit-for-aws

Signals

Stars
3,049
Forks
394
Open issues
40
Last commit (this folder)
Jun 17, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from aws

Cite this page

querying-aws-sagemaker-catalog skill. Agent Mart. https://agentmart.dev/skills/aws-querying-aws-sagemaker-catalog (last updated 2026-10-24)