Skip to content
Back to main site

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.

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.

Terminal window
export VERA_ENDPOINT="http://localhost:5003"
export AWS_ACCESS_KEY_ID=test AWS_SECRET_ACCESS_KEY=test
export AWS_REGION=us-east-1 AWS_DEFAULT_REGION=us-east-1
export AWS_SHARED_CREDENTIALS_FILE=/dev/null
export AWS_EC2_METADATA_DISABLED=true
export AWS_PAGER="" AWS_CLI_AUTO_PROMPT=off
unset AWS_PROFILE AWS_DEFAULT_PROFILE
unset AWS_SESSION_TOKEN AWS_SECURITY_TOKEN
unset AWS_WEB_IDENTITY_TOKEN_FILE AWS_ROLE_ARN AWS_ROLE_SESSION_NAME
unset AWS_CONTAINER_CREDENTIALS_FULL_URI
unset AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
cat > vera-aws-config <<'EOF'
[default]
region = us-east-1
output = json
cli_binary_format = base64
s3 =
addressing_style = path
EOF
export 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.

Create a Data Catalog database and a table in it, then read the table back.

Terminal window
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:

Output
{
"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:

Terminal window
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}'
Output
{
"Name": "vera_docs_catalog",
"Description": "Updated documentation catalog"
}

To clean up, delete the table, then the database:

Terminal window
aws --endpoint-url "$VERA_ENDPOINT" glue delete-table --database-name vera_docs_catalog --name events
aws --endpoint-url "$VERA_ENDPOINT" glue delete-database --name vera_docs_catalog
  • 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, UpdateJob and DeleteJob matched AWS’s responses. Starting a job run returns NotIncluded: 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.

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, StartJobRun returned HTTP 501 NotIncluded, 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 RUNNING with 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, GetTable omitted CatalogId and CreatedBy and returned a different VersionId, GetDatabases omitted CatalogId and the IAM_ALLOWED_PRINCIPALS grant the recorded account’s response had, and GetJobs reported different capacity fields.
  • Permissions weren’t tested. Lake Formation enforcement, cross-account catalogs and table data in S3 weren’t tried.

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

OperationStatusNotes
AssociateGlossaryTermsNot implemented
BatchCreatePartitionImplemented
BatchDeleteConnectionImplemented
BatchDeletePartitionImplemented
BatchDeleteTableImplemented
BatchDeleteTableVersionImplemented
BatchGetBlueprintsImplemented
BatchGetCrawlersImplemented
BatchGetCustomEntityTypesImplemented
BatchGetDataQualityResultImplemented
BatchGetDataQualityRulesetEvaluationRunNot implemented
BatchGetDevEndpointsImplemented
BatchGetIterableFormsNot implemented
BatchGetJobsImplemented
BatchGetPartitionImplemented
BatchGetTableOptimizerImplemented
BatchGetTriggersImplemented
BatchGetWorkflowsImplemented
BatchPutDataQualityStatisticAnnotationImplemented
BatchStopJobRunImplemented
BatchUpdatePartitionImplemented
CancelDataQualityRuleRecommendationRunImplemented
CancelDataQualityRulesetEvaluationRunImplemented
CancelMLTaskRunImplemented
CancelStatementImplemented
CheckSchemaVersionValidityImplemented
CreateBlueprintImplemented
CreateCatalogImplemented
CreateClassifierImplemented
CreateColumnStatisticsTaskSettingsImplemented
CreateConnectionImplemented
CreateCrawlerImplemented
CreateCustomEntityTypeImplemented
CreateDataQualityRulesetImplemented
CreateDatabaseImplementedLocal observation: Vera 1.2.0 preview, 5 November 2026 — created a database with a description.
CreateDevEndpointImplemented
CreateGlossaryNot implemented
CreateGlossaryTermNot implemented
CreateGlueIdentityCenterConfigurationImplemented
CreateIntegrationImplemented
CreateIntegrationResourcePropertyImplemented
CreateIntegrationTablePropertiesImplemented
CreateJobImplementedLocal 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.
CreateMLTransformImplemented
CreatePartitionImplemented
CreatePartitionIndexImplemented
CreateRegistryImplemented
CreateSchemaImplemented
CreateScriptImplemented
CreateSecurityConfigurationImplemented
CreateSessionImplemented
CreateTableImplementedLocal 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.
CreateTableOptimizerImplemented
CreateTriggerImplemented
CreateUsageProfileImplemented
CreateUserDefinedFunctionImplemented
CreateWorkflowImplemented
DeleteAssetNot implemented
DeleteAssetTypeNot implemented
DeleteAttachmentNot implemented
DeleteBlueprintImplemented
DeleteCatalogImplemented
DeleteClassifierImplemented
DeleteColumnStatisticsForPartitionImplemented
DeleteColumnStatisticsForTableImplemented
DeleteColumnStatisticsTaskSettingsImplemented
DeleteConnectionImplemented
DeleteConnectionTypeImplemented
DeleteCrawlerImplemented
DeleteCustomEntityTypeImplemented
DeleteDataQualityRulesetImplemented
DeleteDatabaseImplementedLocal observation: Vera 1.2.0 preview, 5 November 2026 — deleted an empty database.
DeleteDevEndpointImplemented
DeleteFormTypeNot implemented
DeleteGlossaryNot implemented
DeleteGlossaryTermNot implemented
DeleteGlueIdentityCenterConfigurationImplemented
DeleteIntegrationImplemented
DeleteIntegrationResourcePropertyImplemented
DeleteIntegrationTablePropertiesImplemented
DeleteJobImplemented
DeleteMLTransformImplemented
DeletePartitionImplemented
DeletePartitionIndexImplemented
DeleteRegistryImplemented
DeleteResourcePolicyImplemented
DeleteSchemaImplemented
DeleteSchemaVersionsImplemented
DeleteSecurityConfigurationImplemented
DeleteSessionImplemented
DeleteTableImplementedLocal observation: Vera 1.2.0 preview, 5 November 2026 — deleted the table.
DeleteTableOptimizerImplemented
DeleteTableVersionImplemented
DeleteTriggerImplemented
DeleteUsageProfileImplemented
DeleteUserDefinedFunctionImplemented
DeleteWorkflowImplemented
DescribeConnectionTypeImplemented
DescribeEntityImplemented
DescribeInboundIntegrationsImplemented
DescribeIntegrationsImplemented
DisassociateGlossaryTermsNot implemented
GetAssetNot implemented
GetAssetTypeNot implemented
GetBlueprintImplemented
GetBlueprintRunImplemented
GetBlueprintRunsImplemented
GetCatalogImplemented
GetCatalogImportStatusImplemented
GetCatalogsImplemented
GetClassifierImplemented
GetClassifiersImplemented
GetColumnStatisticsForPartitionImplemented
GetColumnStatisticsForTableImplemented
GetColumnStatisticsTaskRunImplemented
GetColumnStatisticsTaskRunsImplemented
GetColumnStatisticsTaskSettingsImplemented
GetConnectionImplemented
GetConnectionsImplemented
GetCrawlerImplemented
GetCrawlerMetricsImplemented
GetCrawlersImplemented
GetCustomEntityTypeImplemented
GetDashboardUrlImplemented
GetDataCatalogEncryptionSettingsImplemented
GetDataCatalogExportConfigurationNot implemented
GetDataQualityModelImplemented
GetDataQualityModelResultImplemented
GetDataQualityResultImplemented
GetDataQualityRuleRecommendationRunImplemented
GetDataQualityRulesetImplemented
GetDataQualityRulesetEvaluationRunImplemented
GetDatabaseImplementedLocal observation: Vera 1.2.0 preview, 5 November 2026 — returned the database's name and updated description.
GetDatabasesKnown differenceRecorded 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.
GetDataflowGraphImplemented
GetDevEndpointImplemented
GetDevEndpointsImplemented
GetEntityRecordsImplemented
GetFormTypeNot implemented
GetGlossaryNot implemented
GetGlossaryTermNot implemented
GetGlueIdentityCenterConfigurationImplemented
GetIntegrationResourcePropertyImplemented
GetIntegrationTablePropertiesImplemented
GetJobImplemented
GetJobBookmarkImplemented
GetJobRunImplemented
GetJobRunsImplemented
GetJobsKnown differenceRecorded comparison: Returns AllocatedCapacity as 0 where AWS's had 2, and omits MaxCapacity.
GetMLTaskRunImplemented
GetMLTaskRunsImplemented
GetMLTransformImplemented
GetMLTransformsImplemented
GetMappingImplemented
GetMaterializedViewRefreshTaskRunImplemented
GetPartitionImplemented
GetPartitionIndexesImplemented
GetPartitionsImplemented
GetPlanImplemented
GetRegistryImplemented
GetResourcePoliciesImplemented
GetResourcePolicyImplemented
GetSchemaImplemented
GetSchemaByDefinitionImplemented
GetSchemaVersionImplemented
GetSchemaVersionsDiffImplemented
GetSecurityConfigurationImplemented
GetSecurityConfigurationsImplemented
GetSessionImplemented
GetSessionEndpointImplemented
GetStatementImplemented
GetTableKnown differenceRecorded 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.
GetTableOptimizerImplemented
GetTableVersionImplemented
GetTableVersionsImplemented
GetTablesImplemented
GetTagsImplemented
GetTriggerImplemented
GetTriggersImplemented
GetUnfilteredPartitionMetadataImplemented
GetUnfilteredPartitionsMetadataImplemented
GetUnfilteredTableMetadataImplemented
GetUsageProfileImplemented
GetUserDefinedFunctionImplemented
GetUserDefinedFunctionsImplemented
GetWorkflowImplemented
GetWorkflowRunImplemented
GetWorkflowRunPropertiesImplemented
GetWorkflowRunsImplemented
ImportCatalogToGlueImplemented
ListAssetTypesNot implemented
ListBlueprintsImplemented
ListColumnStatisticsTaskRunsImplemented
ListConnectionTypesImplemented
ListCrawlersImplemented
ListCrawlsImplemented
ListCustomEntityTypesImplemented
ListDataQualityResultsImplemented
ListDataQualityRuleRecommendationRunsImplemented
ListDataQualityRulesetEvaluationRunsImplemented
ListDataQualityRulesetsImplemented
ListDataQualityStatisticAnnotationsImplemented
ListDataQualityStatisticsImplemented
ListDevEndpointsImplemented
ListEntitiesImplemented
ListFormTypesNot implemented
ListGlossariesNot implemented
ListGlossaryTermsNot implemented
ListIntegrationResourcePropertiesImplemented
ListIntegrationTablePropertiesNot implemented
ListIterableFormsNot implemented
ListJobsImplemented
ListMLTransformsImplemented
ListMaterializedViewRefreshTaskRunsImplemented
ListRegistriesImplemented
ListSchemaVersionsImplemented
ListSchemasImplemented
ListSessionsImplemented
ListStatementsImplemented
ListTableOptimizerRunsImplemented
ListTriggersImplemented
ListUsageProfilesImplemented
ListWorkflowsImplemented
ModifyIntegrationImplemented
PutAssetNot implemented
PutAssetTypeNot implemented
PutAttachmentNot implemented
PutDataCatalogEncryptionSettingsImplemented
PutDataCatalogExportConfigurationNot implemented
PutDataQualityProfileAnnotationImplemented
PutFormTypeNot implemented
PutResourcePolicyImplemented
PutSchemaVersionMetadataImplemented
PutWorkflowRunPropertiesImplemented
QuerySchemaVersionMetadataImplemented
RegisterConnectionTypeImplemented
RegisterSchemaVersionImplemented
RemoveSchemaVersionMetadataImplemented
ResetJobBookmarkImplemented
ResumeWorkflowRunImplemented
RunStatementImplemented
SearchAssetsNot implemented
SearchTablesImplemented
StartBlueprintRunImplemented
StartColumnStatisticsTaskRunImplemented
StartColumnStatisticsTaskRunScheduleImplemented
StartCrawlerImplemented
StartCrawlerScheduleImplemented
StartDataQualityRuleRecommendationRunImplemented
StartDataQualityRulesetEvaluationRunImplemented
StartExportLabelsTaskRunImplemented
StartImportLabelsTaskRunImplemented
StartJobRunFailed in testingLocal 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.
StartMLEvaluationTaskRunImplemented
StartMLLabelingSetGenerationTaskRunImplemented
StartMaterializedViewRefreshTaskRunImplemented
StartTriggerImplemented
StartWorkflowRunImplemented
StopColumnStatisticsTaskRunImplemented
StopColumnStatisticsTaskRunScheduleImplemented
StopCrawlerImplemented
StopCrawlerScheduleImplemented
StopMaterializedViewRefreshTaskRunImplemented
StopSessionImplemented
StopTriggerImplemented
StopWorkflowRunImplemented
TagResourceImplemented
TestConnectionImplemented
UntagResourceImplemented
UpdateAssetNot implemented
UpdateBlueprintImplemented
UpdateCatalogImplemented
UpdateClassifierImplemented
UpdateColumnStatisticsForPartitionImplemented
UpdateColumnStatisticsForTableImplemented
UpdateColumnStatisticsTaskSettingsImplemented
UpdateConnectionImplemented
UpdateCrawlerImplemented
UpdateCrawlerScheduleImplemented
UpdateDataQualityRulesetImplemented
UpdateDatabaseImplementedLocal observation: Vera 1.2.0 preview, 5 November 2026 — changed the database's description.
UpdateDevEndpointImplemented
UpdateGlossaryNot implemented
UpdateGlossaryTermNot implemented
UpdateGlueIdentityCenterConfigurationImplemented
UpdateIntegrationResourcePropertyImplemented
UpdateIntegrationTablePropertiesImplemented
UpdateJobImplemented
UpdateJobFromSourceControlImplemented
UpdateMLTransformImplemented
UpdatePartitionImplemented
UpdateRegistryImplemented
UpdateSchemaImplemented
UpdateSourceControlFromJobImplemented
UpdateTableImplemented
UpdateTableOptimizerImplemented
UpdateTriggerImplemented
UpdateUsageProfileImplemented
UpdateUserDefinedFunctionImplemented
UpdateWorkflowImplemented