Glue Setup
Use this skill when datus glue is installed but has no configured environment,
or to add another environment.
Config structure
Profiles live under agent.plugins.glue.<profile> in the config file named by
the ## Plugins section of the system prompt:
agent:
plugins:
glue:
prod:
default: true
region: us-east-1
catalog_id: "123456789012" # optional — a cross-account Data Catalog id
# credentials — omit to use the standard AWS chain, otherwise any of:
profile: my-aws-profile
access_key_id: ${AWS_ACCESS_KEY_ID} # secret — env var reference
secret_access_key: ${AWS_SECRET_ACCESS_KEY} # secret
role_arn: arn:aws:iam::123456789012:role/datus-glue # assume this role
Steps
- Ask for
regionand the auth method (prefer the AWS chain;${VAR}for any keys). Ask whether the catalog is in another account (catalog_id). - The IAM principal needs read access:
glue:GetDatabases,glue:GetTables,glue:GetTable,glue:SearchTables,glue:GetPartitions,glue:GetCrawler(s),glue:GetJob(s),glue:GetJobRun(s),glue:GetConnection(s), pluslogs:GetLogEventsforjobs logs. To run work:glue:StartCrawler,glue:StartJobRun,glue:BatchStopJobRun. For catalog writes: the matchingCreate*/Update*/Delete*actions. - Write the profile into the config file named in the
## Pluginspreamble; mark the first profiledefault: true. - Verify with a cheap read-only call:
datus glue catalog databases --limit 5.
Troubleshooting
no AWS credentials found/no AWS region configured— set credentials orregion.EntityNotFoundException— the database/table/crawler/job name is wrong, or it lives in another account's catalog (setcatalog_id).jobs logsempty — the run may not have produced logs yet, or the log group differs; the plugin reads/aws-glue/jobs/output(--errorfor the error log group), stream = the job run id.