AWS Glue
Manage Data Catalog database and table records.
Plan: Free266 of 300 operations implemented, 1 failed in testing3Known differences
Starting a job run returned HTTP 501 NotIncluded in Vera 1.2.2, because the job engine isn't included, and a Pro license doesn't add it.
Example checked on Vera 1.2.2, 8 November 2026. Each coverage note names its own evidence and date.
Connect
Section titled “Connect”This Free service needs no license key. Start Vera as in Get started, then run this in a terminal of its own, from an empty scratch directory. It gives the official AWS CLI dummy credentials and a config file of its own, so no AWS account is needed and your own AWS profile isn't touched.
export VERA_ENDPOINT="http://localhost:5003"export AWS_ACCESS_KEY_ID=test AWS_SECRET_ACCESS_KEY=testexport AWS_REGION=us-east-1 AWS_DEFAULT_REGION=us-east-1export AWS_SHARED_CREDENTIALS_FILE=/dev/nullexport AWS_EC2_METADATA_DISABLED=trueexport AWS_PAGER="" AWS_CLI_AUTO_PROMPT=offunset AWS_PROFILE AWS_DEFAULT_PROFILEunset AWS_SESSION_TOKEN AWS_SECURITY_TOKENunset AWS_WEB_IDENTITY_TOKEN_FILE AWS_ROLE_ARN AWS_ROLE_SESSION_NAMEunset AWS_CONTAINER_CREDENTIALS_FULL_URIunset AWS_CONTAINER_CREDENTIALS_RELATIVE_URIcat > vera-aws-config <<'EOF'[default]region = us-east-1output = jsoncli_binary_format = base64s3 = addressing_style = pathEOFexport AWS_CONFIG_FILE="$PWD/vera-aws-config"When you've finished every example in this terminal, close it and delete vera-aws-config, not before.
The example uses the AWS CLI’s glue commands. The emulator serves the 2017-03-31 API over the AWS JSON protocol, and the example was checked with the official AWS CLI 2.31.35. It covers the Data Catalog only. A job needs an IAM role: in Vera 1.2.2, job metadata worked with a freshly created role, but starting a job run returned HTTP 501 NotIncluded (see Limitations). A role that doesn’t exist isn’t a substitute: in Vera 1.2.0 preview, CreateJob then returned InvalidInputException, saying the role doesn’t exist.
Example
Section titled “Example”Create a Data Catalog database and a table in it, then read the table back.
aws --endpoint-url "$VERA_ENDPOINT" glue create-database \ --database-input '{"Name":"vera_docs_catalog","Description":"Documentation catalog"}'aws --endpoint-url "$VERA_ENDPOINT" glue create-table --database-name vera_docs_catalog \ --table-input '{"Name":"events","StorageDescriptor":{"Columns":[{"Name":"value","Type":"string"}],"Location":"s3://example-bucket/events/"}}'aws --endpoint-url "$VERA_ENDPOINT" glue get-table --database-name vera_docs_catalog --name events \ --query 'Table.{Name:Name,Columns:StorageDescriptor.Columns,Location:StorageDescriptor.Location}'The table keeps its column and location:
{ "Name": "events", "Columns": [ { "Name": "value", "Type": "string" } ], "Location": "s3://example-bucket/events/"}The location is stored metadata. The example doesn’t create or read example-bucket, and doesn’t need it to exist.
Update the database’s description and read it back:
aws --endpoint-url "$VERA_ENDPOINT" glue update-database --name vera_docs_catalog \ --database-input '{"Name":"vera_docs_catalog","Description":"Updated documentation catalog"}'aws --endpoint-url "$VERA_ENDPOINT" glue get-database --name vera_docs_catalog \ --query 'Database.{Name:Name,Description:Description}'{ "Name": "vera_docs_catalog", "Description": "Updated documentation catalog"}To clean up, delete the table, then the database:
aws --endpoint-url "$VERA_ENDPOINT" glue delete-table --database-name vera_docs_catalog --name eventsaws --endpoint-url "$VERA_ENDPOINT" glue delete-database --name vera_docs_catalogSupported features
Section titled “Supported features”- Data Catalog databases, created, read, updated and deleted, with their descriptions.
- Data Catalog tables, created, read and deleted, with their columns and storage location kept on readback. In an earlier recorded comparison, creating and deleting databases and tables matched AWS’s responses.
- Job records. In Vera 1.2.2, job metadata worked with a freshly created IAM role. Earlier testing created jobs with an IAM role and a script location, and in an earlier recorded comparison,
CreateJob,UpdateJobandDeleteJobmatched AWS’s responses. Starting a job run returnsNotIncluded: see Limitations. - Also served, not yet tested: partitions, connections, crawlers and classifiers, triggers and workflows, blueprints, column statistics, data quality, the schema registry, machine learning transforms, interactive sessions, dev endpoints, integrations, security configurations and tags.
Limitations
Section titled “Limitations”The main limits are below. A few more apply to every service, and the API coverage notes cover smaller differences.
- Job runs can’t start. In Vera 1.2.2,
StartJobRunreturned HTTP 501NotIncluded, because this release doesn’t include the job engine, and a Pro license doesn’t add it. A working IAM role doesn’t remove this separate limit. - Job scripts didn’t run in earlier testing. A started run was
RUNNINGwith no workers, and no script, Spark environment or ETL output was seen. Don’t use the emulator to test job completion, retries, bookmarks or concurrent-run limits. - Crawlers and data movement weren’t tested. Crawlers, Spark and ETL runs, bookmarks, imports and exports, and other data movement weren’t verified.
- Some reads differ from AWS’s. In an earlier recorded comparison,
GetTableomittedCatalogIdandCreatedByand returned a differentVersionId,GetDatabasesomittedCatalogIdand theIAM_ALLOWED_PRINCIPALSgrant the recorded account’s response had, andGetJobsreported different capacity fields. - Permissions weren’t tested. Lake Formation enforcement, cross-account catalogs and table data in S3 weren’t tried.
API coverage
Section titled “API coverage”Every operation in AWS's published 2017-03-31 API (SDK model, botocore 1.43.105), and whether the emulator implements it. Availability combines the earlier implementation inventory with the dated observations below; checking a page's example does not verify every operation. Each note names its evidence first; an observation given without a build or date comes from earlier testing, on 3 November 2026. What the statuses mean
No operation matches .
Try part of a name, such as AssociateGlossaryTerms, or .
| Operation | Status | Notes |
|---|---|---|
| Associate | Not implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Not implemented | |
| Batch | Implemented | |
| Batch | Not implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Batch | Implemented | |
| Cancel | Implemented | |
| Cancel | Implemented | |
| Cancel | Implemented | |
| Cancel | Implemented | |
| Check | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | Local observation: Vera 1.2.0 preview, 5 November 2026 — created a database with a description. |
| Create | Implemented | |
| Create | Not implemented | |
| Create | Not implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | Local observation: Vera 1.2.2, 8 November 2026 — job metadata worked with a freshly created IAM role. Local observation: Vera 1.2.0 preview, 5 November 2026 — with a role that doesn't exist, returned InvalidInputException. |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | Local observation: Vera 1.2.0 preview, 5 November 2026 — created a table with one column and an S3 location, which is stored as metadata; the bucket wasn't created or read. |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Create | Implemented | |
| Delete | Not implemented | |
| Delete | Not implemented | |
| Delete | Not implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | Local observation: Vera 1.2.0 preview, 5 November 2026 — deleted an empty database. |
| Delete | Implemented | |
| Delete | Not implemented | |
| Delete | Not implemented | |
| Delete | Not implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | Local observation: Vera 1.2.0 preview, 5 November 2026 — deleted the table. |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Delete | Implemented | |
| Describe | Implemented | |
| Describe | Implemented | |
| Describe | Implemented | |
| Describe | Implemented | |
| Disassociate | Not implemented | |
| Get | Not implemented | |
| Get | Not implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Not implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | Local observation: Vera 1.2.0 preview, 5 November 2026 — returned the database's name and updated description. |
| Get | Known difference | Recorded comparison: In the recorded account and catalog configuration, the AWS response contains an IAM_ALLOWED_PRINCIPALS default-permissions grant while the emulator returns an empty CreateTableDefaultPermissions. The missing CatalogId is a separate response-field difference. |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Not implemented | |
| Get | Not implemented | |
| Get | Not implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Known difference | Recorded comparison: Returns AllocatedCapacity as 0 where AWS's had 2, and omits MaxCapacity. |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Known difference | Recorded comparison: Omits CatalogId and CreatedBy, returns VersionId 1 where AWS's had 0, and adds IsMaterializedView, PartitionKeys, Status and empty storage descriptor lists. Local observation: Vera 1.2.0 preview, 5 November 2026 — returned the table's column and location. |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Get | Implemented | |
| Import | Implemented | |
| List | Not implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Not implemented | |
| List | Not implemented | |
| List | Not implemented | |
| List | Implemented | |
| List | Not implemented | |
| List | Not implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| List | Implemented | |
| Modify | Implemented | |
| Put | Not implemented | |
| Put | Not implemented | |
| Put | Not implemented | |
| Put | Implemented | |
| Put | Not implemented | |
| Put | Implemented | |
| Put | Not implemented | |
| Put | Implemented | |
| Put | Implemented | |
| Put | Implemented | |
| Query | Implemented | |
| Register | Implemented | |
| Register | Implemented | |
| Remove | Implemented | |
| Reset | Implemented | |
| Resume | Implemented | |
| Run | Implemented | |
| Search | Not implemented | |
| Search | Implemented | |
| Start | Implemented | |
| Start | Implemented | |
| Start | Implemented | |
| Start | Implemented | |
| Start | Implemented | |
| Start | Implemented | |
| Start | Implemented | |
| Start | Implemented | |
| Start | Implemented | |
| Start | Failed in testing | Local observation: Vera 1.2.2, 8 November 2026 — returned HTTP 501 NotIncluded. Local observation: Vera 1.2.0-rc.3, 6 November 2026 — returns HTTP 501 NotIncluded, because this Vera release doesn't include the job engine. A Pro license doesn't add the engine. The request named a job that doesn't exist; the refusal came before the job was looked up. The earlier finding that follows doesn't describe Vera 1.2.0-rc.3 or Vera 1.2.2. In earlier testing, on 3 November 2026, it recorded the run as RUNNING, but the job's script didn't run. |
| Start | Implemented | |
| Start | Implemented | |
| Start | Implemented | |
| Start | Implemented | |
| Start | Implemented | |
| Stop | Implemented | |
| Stop | Implemented | |
| Stop | Implemented | |
| Stop | Implemented | |
| Stop | Implemented | |
| Stop | Implemented | |
| Stop | Implemented | |
| Stop | Implemented | |
| Tag | Implemented | |
| Test | Implemented | |
| Untag | Implemented | |
| Update | Not implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | Local observation: Vera 1.2.0 preview, 5 November 2026 — changed the database's description. |
| Update | Implemented | |
| Update | Not implemented | |
| Update | Not implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented | |
| Update | Implemented |