Glue **** Client ====== class Glue.Client A low-level client representing AWS Glue Defines the public endpoint for the Glue service. import boto3 client = boto3.client('glue') These are the available methods: * batch_create_partition * batch_delete_connection * batch_delete_partition * batch_delete_table * batch_delete_table_version * batch_get_blueprints * batch_get_crawlers * batch_get_custom_entity_types * batch_get_data_quality_result * batch_get_dev_endpoints * batch_get_jobs * batch_get_partition * batch_get_table_optimizer * batch_get_triggers * batch_get_workflows * batch_put_data_quality_statistic_annotation * batch_stop_job_run * batch_update_partition * can_paginate * cancel_data_quality_rule_recommendation_run * cancel_data_quality_ruleset_evaluation_run * cancel_ml_task_run * cancel_statement * check_schema_version_validity * close * create_blueprint * create_catalog * create_classifier * create_column_statistics_task_settings * create_connection * create_crawler * create_custom_entity_type * create_data_quality_ruleset * create_database * create_dev_endpoint * create_integration * create_integration_resource_property * create_integration_table_properties * create_job * create_ml_transform * create_partition * create_partition_index * create_registry * create_schema * create_script * create_security_configuration * create_session * create_table * create_table_optimizer * create_trigger * create_usage_profile * create_user_defined_function * create_workflow * delete_blueprint * delete_catalog * delete_classifier * delete_column_statistics_for_partition * delete_column_statistics_for_table * delete_column_statistics_task_settings * delete_connection * delete_crawler * delete_custom_entity_type * delete_data_quality_ruleset * delete_database * delete_dev_endpoint * delete_integration * delete_integration_table_properties * delete_job * delete_ml_transform * delete_partition * delete_partition_index * delete_registry * delete_resource_policy * delete_schema * delete_schema_versions * delete_security_configuration * delete_session * delete_table * delete_table_optimizer * delete_table_version * delete_trigger * delete_usage_profile * delete_user_defined_function * delete_workflow * describe_connection_type * describe_entity * describe_inbound_integrations * describe_integrations * get_blueprint * get_blueprint_run * get_blueprint_runs * get_catalog * get_catalog_import_status * get_catalogs * get_classifier * get_classifiers * get_column_statistics_for_partition * get_column_statistics_for_table * get_column_statistics_task_run * get_column_statistics_task_runs * get_column_statistics_task_settings * get_connection * get_connections * get_crawler * get_crawler_metrics * get_crawlers * get_custom_entity_type * get_data_catalog_encryption_settings * get_data_quality_model * get_data_quality_model_result * get_data_quality_result * get_data_quality_rule_recommendation_run * get_data_quality_ruleset * get_data_quality_ruleset_evaluation_run * get_database * get_databases * get_dataflow_graph * get_dev_endpoint * get_dev_endpoints * get_entity_records * get_integration_resource_property * get_integration_table_properties * get_job * get_job_bookmark * get_job_run * get_job_runs * get_jobs * get_mapping * get_ml_task_run * get_ml_task_runs * get_ml_transform * get_ml_transforms * get_paginator * get_partition * get_partition_indexes * get_partitions * get_plan * get_registry * get_resource_policies * get_resource_policy * get_schema * get_schema_by_definition * get_schema_version * get_schema_versions_diff * get_security_configuration * get_security_configurations * get_session * get_statement * get_table * get_table_optimizer * get_table_version * get_table_versions * get_tables * get_tags * get_trigger * get_triggers * get_unfiltered_partition_metadata * get_unfiltered_partitions_metadata * get_unfiltered_table_metadata * get_usage_profile * get_user_defined_function * get_user_defined_functions * get_waiter * get_workflow * get_workflow_run * get_workflow_run_properties * get_workflow_runs * import_catalog_to_glue * list_blueprints * list_column_statistics_task_runs * list_connection_types * list_crawlers * list_crawls * list_custom_entity_types * list_data_quality_results * list_data_quality_rule_recommendation_runs * list_data_quality_ruleset_evaluation_runs * list_data_quality_rulesets * list_data_quality_statistic_annotations * list_data_quality_statistics * list_dev_endpoints * list_entities * list_jobs * list_ml_transforms * list_registries * list_schema_versions * list_schemas * list_sessions * list_statements * list_table_optimizer_runs * list_triggers * list_usage_profiles * list_workflows * modify_integration * put_data_catalog_encryption_settings * put_data_quality_profile_annotation * put_resource_policy * put_schema_version_metadata * put_workflow_run_properties * query_schema_version_metadata * register_schema_version * remove_schema_version_metadata * reset_job_bookmark * resume_workflow_run * run_statement * search_tables * start_blueprint_run * start_column_statistics_task_run * start_column_statistics_task_run_schedule * start_crawler * start_crawler_schedule * start_data_quality_rule_recommendation_run * start_data_quality_ruleset_evaluation_run * start_export_labels_task_run * start_import_labels_task_run * start_job_run * start_ml_evaluation_task_run * start_ml_labeling_set_generation_task_run * start_trigger * start_workflow_run * stop_column_statistics_task_run * stop_column_statistics_task_run_schedule * stop_crawler * stop_crawler_schedule * stop_session * stop_trigger * stop_workflow_run * tag_resource * test_connection * untag_resource * update_blueprint * update_catalog * update_classifier * update_column_statistics_for_partition * update_column_statistics_for_table * update_column_statistics_task_settings * update_connection * update_crawler * update_crawler_schedule * update_data_quality_ruleset * update_database * update_dev_endpoint * update_integration_resource_property * update_integration_table_properties * update_job * update_job_from_source_control * update_ml_transform * update_partition * update_registry * update_schema * update_source_control_from_job * update_table * update_table_optimizer * update_trigger * update_usage_profile * update_user_defined_function * update_workflow Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * DescribeEntity * GetClassifiers * GetConnections * GetCrawlerMetrics * GetCrawlers * GetDatabases * GetDevEndpoints * GetJobRuns * GetJobs * GetPartitionIndexes * GetPartitions * GetResourcePolicies * GetSecurityConfigurations * GetTableVersions * GetTables * GetTriggers * GetUserDefinedFunctions * GetWorkflowRuns * ListBlueprints * ListConnectionTypes * ListEntities * ListJobs * ListRegistries * ListSchemaVersions * ListSchemas * ListTableOptimizerRuns * ListTriggers * ListUsageProfiles * ListWorkflows Glue / Paginator / GetPartitions GetPartitions ************* class Glue.Paginator.GetPartitions paginator = client.get_paginator('get_partitions') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.get_partitions()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( CatalogId='string', DatabaseName='string', TableName='string', Expression='string', Segment={ 'SegmentNumber': 123, 'TotalSegments': 123 }, ExcludeColumnSchema=True|False, TransactionId='string', QueryAsOfTime=datetime(2015, 1, 1), PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the partitions in question reside. If none is provided, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the catalog database where the partitions reside. * **TableName** (*string*) -- **[REQUIRED]** The name of the partitions' table. * **Expression** (*string*) -- An expression that filters the partitions to be returned. The expression uses SQL syntax similar to the SQL "WHERE" filter clause. The SQL statement parser JSQLParser parses the expression. *Operators*: The following are the operators that you can use in the "Expression" API call: = Checks whether the values of the two operands are equal; if yes, then the condition becomes true. Example: Assume 'variable a' holds 10 and 'variable b' holds 20. (a = b) is not true. < > Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true. Example: (a < > b) is true. > Checks whether the value of the left operand is greater than the value of the right operand; if yes, then the condition becomes true. Example: (a > b) is not true. < Checks whether the value of the left operand is less than the value of the right operand; if yes, then the condition becomes true. Example: (a < b) is true. >= Checks whether the value of the left operand is greater than or equal to the value of the right operand; if yes, then the condition becomes true. Example: (a >= b) is not true. <= Checks whether the value of the left operand is less than or equal to the value of the right operand; if yes, then the condition becomes true. Example: (a <= b) is true. AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL Logical operators. *Supported Partition Key Types*: The following are the supported partition keys. * "string" * "date" * "timestamp" * "int" * "bigint" * "long" * "tinyint" * "smallint" * "decimal" If an type is encountered that is not valid, an exception is thrown. The following list shows the valid operators on each type. When you define a crawler, the "partitionKey" type is created as a "STRING", to be compatible with the catalog partitions. *Sample API Call*: * **Segment** (*dict*) -- The segment of the table's partitions to scan in this request. * **SegmentNumber** *(integer) --* **[REQUIRED]** The zero-based index number of the segment. For example, if the total number of segments is 4, "SegmentNumber" values range from 0 through 3. * **TotalSegments** *(integer) --* **[REQUIRED]** The total number of segments. * **ExcludeColumnSchema** (*boolean*) -- When true, specifies not returning the partition column schema. Useful when you are interested only in other partition attributes such as partition values or location. This approach avoids the problem of a large response by not returning duplicate data. * **TransactionId** (*string*) -- The transaction ID at which to read the partition contents. * **QueryAsOfTime** (*datetime*) -- The time as of when to read the partition contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with "TransactionId". * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Partitions': [ { 'Values': [ 'string', ], 'DatabaseName': 'string', 'TableName': 'string', 'CreationTime': datetime(2015, 1, 1), 'LastAccessTime': datetime(2015, 1, 1), 'StorageDescriptor': { 'Columns': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'Location': 'string', 'AdditionalLocations': [ 'string', ], 'InputFormat': 'string', 'OutputFormat': 'string', 'Compressed': True|False, 'NumberOfBuckets': 123, 'SerdeInfo': { 'Name': 'string', 'SerializationLibrary': 'string', 'Parameters': { 'string': 'string' } }, 'BucketColumns': [ 'string', ], 'SortColumns': [ { 'Column': 'string', 'SortOrder': 123 }, ], 'Parameters': { 'string': 'string' }, 'SkewedInfo': { 'SkewedColumnNames': [ 'string', ], 'SkewedColumnValues': [ 'string', ], 'SkewedColumnValueLocationMaps': { 'string': 'string' } }, 'StoredAsSubDirectories': True|False, 'SchemaReference': { 'SchemaId': { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionNumber': 123 } }, 'Parameters': { 'string': 'string' }, 'LastAnalyzedTime': datetime(2015, 1, 1), 'CatalogId': 'string' }, ], } **Response Structure** * *(dict) --* * **Partitions** *(list) --* A list of requested partitions. * *(dict) --* Represents a slice of table data. * **Values** *(list) --* The values of the partition. * *(string) --* * **DatabaseName** *(string) --* The name of the catalog database in which to create the partition. * **TableName** *(string) --* The name of the database table in which to create the partition. * **CreationTime** *(datetime) --* The time at which the partition was created. * **LastAccessTime** *(datetime) --* The last time at which the partition was accessed. * **StorageDescriptor** *(dict) --* Provides information about the physical location where the partition is stored. * **Columns** *(list) --* A list of the "Columns" in the table. * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **Location** *(string) --* The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * **AdditionalLocations** *(list) --* A list of locations that point to the path where a Delta table is located. * *(string) --* * **InputFormat** *(string) --* The input format: "SequenceFileInputFormat" (binary), or "TextInputFormat", or a custom format. * **OutputFormat** *(string) --* The output format: "SequenceFileOutputFormat" (binary), or "IgnoreKeyTextOutputFormat", or a custom format. * **Compressed** *(boolean) --* "True" if the data in the table is compressed, or "False" if not. * **NumberOfBuckets** *(integer) --* Must be specified if the table contains any dimension columns. * **SerdeInfo** *(dict) --* The serialization/deserialization (SerDe) information. * **Name** *(string) --* Name of the SerDe. * **SerializationLibrary** *(string) --* Usually the class that implements the SerDe. An example is "org.apache.hadoop.hive.serde2.column ar.ColumnarSerDe". * **Parameters** *(dict) --* These key-value pairs define initialization parameters for the SerDe. * *(string) --* * *(string) --* * **BucketColumns** *(list) --* A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * *(string) --* * **SortColumns** *(list) --* A list specifying the sort order of each bucket in the table. * *(dict) --* Specifies the sort order of a sorted column. * **Column** *(string) --* The name of the column. * **SortOrder** *(integer) --* Indicates that the column is sorted in ascending order ( "== 1"), or in descending order ( "==0"). * **Parameters** *(dict) --* The user-supplied properties in key-value form. * *(string) --* * *(string) --* * **SkewedInfo** *(dict) --* The information about values that appear frequently in a column (skewed values). * **SkewedColumnNames** *(list) --* A list of names of columns that contain skewed values. * *(string) --* * **SkewedColumnValues** *(list) --* A list of values that appear so frequently as to be considered skewed. * *(string) --* * **SkewedColumnValueLocationMaps** *(dict) --* A mapping of skewed values to the columns that contain them. * *(string) --* * *(string) --* * **StoredAsSubDirectories** *(boolean) --* "True" if the table data is stored in subdirectories, or "False" if not. * **SchemaReference** *(dict) --* An object that references a schema stored in the Glue Schema Registry. When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference. * **SchemaId** *(dict) --* A structure that contains schema identity fields. Either this or the "SchemaVersionId" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionId** *(string) --* The unique ID assigned to a version of the schema. Either this or the "SchemaId" has to be provided. * **SchemaVersionNumber** *(integer) --* The version number of the schema. * **Parameters** *(dict) --* These key-value pairs define partition parameters. * *(string) --* * *(string) --* * **LastAnalyzedTime** *(datetime) --* The last time at which column statistics were computed for this partition. * **CatalogId** *(string) --* The ID of the Data Catalog in which the partition resides. Glue / Paginator / ListSchemaVersions ListSchemaVersions ****************** class Glue.Paginator.ListSchemaVersions paginator = client.get_paginator('list_schema_versions') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.list_schema_versions()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( SchemaId={ 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **SchemaId** (*dict*) -- **[REQUIRED]** This is a wrapper structure to contain schema identity fields. The structure contains: * SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. Either "SchemaArn" or "SchemaName" and "RegistryName" has to be provided. * SchemaId$SchemaName: The name of the schema. Either "SchemaArn" or "SchemaName" and "RegistryName" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Schemas': [ { 'SchemaArn': 'string', 'SchemaVersionId': 'string', 'VersionNumber': 123, 'Status': 'AVAILABLE'|'PENDING'|'FAILURE'|'DELETING', 'CreatedTime': 'string' }, ], } **Response Structure** * *(dict) --* * **Schemas** *(list) --* An array of "SchemaVersionList" objects containing details of each schema version. * *(dict) --* An object containing the details about a schema version. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. * **SchemaVersionId** *(string) --* The unique identifier of the schema version. * **VersionNumber** *(integer) --* The version number of the schema. * **Status** *(string) --* The status of the schema version. * **CreatedTime** *(string) --* The date and time the schema version was created. Glue / Paginator / GetTableVersions GetTableVersions **************** class Glue.Paginator.GetTableVersions paginator = client.get_paginator('get_table_versions') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.get_table_versions()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( CatalogId='string', DatabaseName='string', TableName='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the tables reside. If none is provided, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase. * **TableName** (*string*) -- **[REQUIRED]** The name of the table. For Hive compatibility, this name is entirely lowercase. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'TableVersions': [ { 'Table': { 'Name': 'string', 'DatabaseName': 'string', 'Description': 'string', 'Owner': 'string', 'CreateTime': datetime(2015, 1, 1), 'UpdateTime': datetime(2015, 1, 1), 'LastAccessTime': datetime(2015, 1, 1), 'LastAnalyzedTime': datetime(2015, 1, 1), 'Retention': 123, 'StorageDescriptor': { 'Columns': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'Location': 'string', 'AdditionalLocations': [ 'string', ], 'InputFormat': 'string', 'OutputFormat': 'string', 'Compressed': True|False, 'NumberOfBuckets': 123, 'SerdeInfo': { 'Name': 'string', 'SerializationLibrary': 'string', 'Parameters': { 'string': 'string' } }, 'BucketColumns': [ 'string', ], 'SortColumns': [ { 'Column': 'string', 'SortOrder': 123 }, ], 'Parameters': { 'string': 'string' }, 'SkewedInfo': { 'SkewedColumnNames': [ 'string', ], 'SkewedColumnValues': [ 'string', ], 'SkewedColumnValueLocationMaps': { 'string': 'string' } }, 'StoredAsSubDirectories': True|False, 'SchemaReference': { 'SchemaId': { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionNumber': 123 } }, 'PartitionKeys': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'ViewOriginalText': 'string', 'ViewExpandedText': 'string', 'TableType': 'string', 'Parameters': { 'string': 'string' }, 'CreatedBy': 'string', 'IsRegisteredWithLakeFormation': True|False, 'TargetTable': { 'CatalogId': 'string', 'DatabaseName': 'string', 'Name': 'string', 'Region': 'string' }, 'CatalogId': 'string', 'VersionId': 'string', 'FederatedTable': { 'Identifier': 'string', 'DatabaseIdentifier': 'string', 'ConnectionName': 'string', 'ConnectionType': 'string' }, 'ViewDefinition': { 'IsProtected': True|False, 'Definer': 'string', 'SubObjects': [ 'string', ], 'Representations': [ { 'Dialect': 'REDSHIFT'|'ATHENA'|'SPARK', 'DialectVersion': 'string', 'ViewOriginalText': 'string', 'ViewExpandedText': 'string', 'ValidationConnection': 'string', 'IsStale': True|False }, ] }, 'IsMultiDialectView': True|False, 'Status': { 'RequestedBy': 'string', 'UpdatedBy': 'string', 'RequestTime': datetime(2015, 1, 1), 'UpdateTime': datetime(2015, 1, 1), 'Action': 'UPDATE'|'CREATE', 'State': 'QUEUED'|'IN_PROGRESS'|'SUCCESS'|'STOPPED'|'FAILED', 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' }, 'Details': { 'RequestedChange': {'... recursive ...'}, 'ViewValidations': [ { 'Dialect': 'REDSHIFT'|'ATHENA'|'SPARK', 'DialectVersion': 'string', 'ViewValidationText': 'string', 'UpdateTime': datetime(2015, 1, 1), 'State': 'QUEUED'|'IN_PROGRESS'|'SUCCESS'|'STOPPED'|'FAILED', 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } } }, 'VersionId': 'string' }, ], } **Response Structure** * *(dict) --* * **TableVersions** *(list) --* A list of strings identifying available versions of the specified table. * *(dict) --* Specifies a version of a table. * **Table** *(dict) --* The table in question. * **Name** *(string) --* The table name. For Hive compatibility, this must be entirely lowercase. * **DatabaseName** *(string) --* The name of the database where the table metadata resides. For Hive compatibility, this must be all lowercase. * **Description** *(string) --* A description of the table. * **Owner** *(string) --* The owner of the table. * **CreateTime** *(datetime) --* The time when the table definition was created in the Data Catalog. * **UpdateTime** *(datetime) --* The last time that the table was updated. * **LastAccessTime** *(datetime) --* The last time that the table was accessed. This is usually taken from HDFS, and might not be reliable. * **LastAnalyzedTime** *(datetime) --* The last time that column statistics were computed for this table. * **Retention** *(integer) --* The retention time for this table. * **StorageDescriptor** *(dict) --* A storage descriptor containing information about the physical storage of this table. * **Columns** *(list) --* A list of the "Columns" in the table. * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **Location** *(string) --* The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * **AdditionalLocations** *(list) --* A list of locations that point to the path where a Delta table is located. * *(string) --* * **InputFormat** *(string) --* The input format: "SequenceFileInputFormat" (binary), or "TextInputFormat", or a custom format. * **OutputFormat** *(string) --* The output format: "SequenceFileOutputFormat" (binary), or "IgnoreKeyTextOutputFormat", or a custom format. * **Compressed** *(boolean) --* "True" if the data in the table is compressed, or "False" if not. * **NumberOfBuckets** *(integer) --* Must be specified if the table contains any dimension columns. * **SerdeInfo** *(dict) --* The serialization/deserialization (SerDe) information. * **Name** *(string) --* Name of the SerDe. * **SerializationLibrary** *(string) --* Usually the class that implements the SerDe. An example is "org.apache.hadoop.hive.serde2.colu mnar.ColumnarSerDe". * **Parameters** *(dict) --* These key-value pairs define initialization parameters for the SerDe. * *(string) --* * *(string) --* * **BucketColumns** *(list) --* A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * *(string) --* * **SortColumns** *(list) --* A list specifying the sort order of each bucket in the table. * *(dict) --* Specifies the sort order of a sorted column. * **Column** *(string) --* The name of the column. * **SortOrder** *(integer) --* Indicates that the column is sorted in ascending order ( "== 1"), or in descending order ( "==0"). * **Parameters** *(dict) --* The user-supplied properties in key-value form. * *(string) --* * *(string) --* * **SkewedInfo** *(dict) --* The information about values that appear frequently in a column (skewed values). * **SkewedColumnNames** *(list) --* A list of names of columns that contain skewed values. * *(string) --* * **SkewedColumnValues** *(list) --* A list of values that appear so frequently as to be considered skewed. * *(string) --* * **SkewedColumnValueLocationMaps** *(dict) --* A mapping of skewed values to the columns that contain them. * *(string) --* * *(string) --* * **StoredAsSubDirectories** *(boolean) --* "True" if the table data is stored in subdirectories, or "False" if not. * **SchemaReference** *(dict) --* An object that references a schema stored in the Glue Schema Registry. When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference. * **SchemaId** *(dict) --* A structure that contains schema identity fields. Either this or the "SchemaVersionId" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionId** *(string) --* The unique ID assigned to a version of the schema. Either this or the "SchemaId" has to be provided. * **SchemaVersionNumber** *(integer) --* The version number of the schema. * **PartitionKeys** *(list) --* A list of columns by which the table is partitioned. Only primitive types are supported as partition keys. When you create a table used by Amazon Athena, and you do not specify any "partitionKeys", you must at least set the value of "partitionKeys" to an empty list. For example: ""PartitionKeys": []" * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **ViewOriginalText** *(string) --* Included for Apache Hive compatibility. Not used in the normal course of Glue operations. If the table is a "VIRTUAL_VIEW", certain Athena configuration encoded in base64. * **ViewExpandedText** *(string) --* Included for Apache Hive compatibility. Not used in the normal course of Glue operations. * **TableType** *(string) --* The type of this table. Glue will create tables with the "EXTERNAL_TABLE" type. Other services, such as Athena, may create tables with additional table types. Glue related table types: EXTERNAL_TABLE Hive compatible attribute - indicates a non-Hive managed table. GOVERNED Used by Lake Formation. The Glue Data Catalog understands "GOVERNED". * **Parameters** *(dict) --* These key-value pairs define properties associated with the table. * *(string) --* * *(string) --* * **CreatedBy** *(string) --* The person or entity who created the table. * **IsRegisteredWithLakeFormation** *(boolean) --* Indicates whether the table has been registered with Lake Formation. * **TargetTable** *(dict) --* A "TableIdentifier" structure that describes a target table for resource linking. * **CatalogId** *(string) --* The ID of the Data Catalog in which the table resides. * **DatabaseName** *(string) --* The name of the catalog database that contains the target table. * **Name** *(string) --* The name of the target table. * **Region** *(string) --* Region of the target table. * **CatalogId** *(string) --* The ID of the Data Catalog in which the table resides. * **VersionId** *(string) --* The ID of the table version. * **FederatedTable** *(dict) --* A "FederatedTable" structure that references an entity outside the Glue Data Catalog. * **Identifier** *(string) --* A unique identifier for the federated table. * **DatabaseIdentifier** *(string) --* A unique identifier for the federated database. * **ConnectionName** *(string) --* The name of the connection to the external metastore. * **ConnectionType** *(string) --* The type of connection used to access the federated table, specifying the protocol or method for connecting to the external data source. * **ViewDefinition** *(dict) --* A structure that contains all the information that defines the view, including the dialect or dialects for the view, and the query. * **IsProtected** *(boolean) --* You can set this flag as true to instruct the engine not to push user-provided operations into the logical plan of the view during query planning. However, setting this flag does not guarantee that the engine will comply. Refer to the engine's documentation to understand the guarantees provided, if any. * **Definer** *(string) --* The definer of a view in SQL. * **SubObjects** *(list) --* A list of table Amazon Resource Names (ARNs). * *(string) --* * **Representations** *(list) --* A list of representations. * *(dict) --* A structure that contains the dialect of the view, and the query that defines the view. * **Dialect** *(string) --* The dialect of the query engine. * **DialectVersion** *(string) --* The version of the dialect of the query engine. For example, 3.0.0. * **ViewOriginalText** *(string) --* The "SELECT" query provided by the customer during "CREATE VIEW DDL". This SQL is not used during a query on a view ( "ViewExpandedText" is used instead). "ViewOriginalText" is used for cases like "SHOW CREATE VIEW" where users want to see the original DDL command that created the view. * **ViewExpandedText** *(string) --* The expanded SQL for the view. This SQL is used by engines while processing a query on a view. Engines may perform operations during view creation to transform "ViewOriginalText" to "ViewExpandedText". For example: * Fully qualified identifiers: "SELECT * from table1 -> SELECT * from db1.table1" * **ValidationConnection** *(string) --* The name of the connection to be used to validate the specific representation of the view. * **IsStale** *(boolean) --* Dialects marked as stale are no longer valid and must be updated before they can be queried in their respective query engines. * **IsMultiDialectView** *(boolean) --* Specifies whether the view supports the SQL dialects of one or more different query engines and can therefore be read by those engines. * **Status** *(dict) --* A structure containing information about the state of an asynchronous change to a table. * **RequestedBy** *(string) --* The ARN of the user who requested the asynchronous change. * **UpdatedBy** *(string) --* The ARN of the user to last manually alter the asynchronous change (requesting cancellation, etc). * **RequestTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the change was initiated. * **UpdateTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the state was last updated. * **Action** *(string) --* Indicates which action was called on the table, currently only "CREATE" or "UPDATE". * **State** *(string) --* A generic status for the change in progress, such as QUEUED, IN_PROGRESS, SUCCESS, or FAILED. * **Error** *(dict) --* An error that will only appear when the state is "FAILED". This is a parent level exception message, there may be different >>``<>``<>``<>``<"). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, "" is okay, but "" is not). * **JsonClassifier** *(dict) --* A classifier for JSON content. * **Name** *(string) --* The name of the classifier. * **CreationTime** *(datetime) --* The time that this classifier was registered. * **LastUpdated** *(datetime) --* The time that this classifier was last updated. * **Version** *(integer) --* The version of this classifier. * **JsonPath** *(string) --* A "JsonPath" string defining the JSON data for the classifier to classify. Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers. * **CsvClassifier** *(dict) --* A classifier for comma-separated values (CSV). * **Name** *(string) --* The name of the classifier. * **CreationTime** *(datetime) --* The time that this classifier was registered. * **LastUpdated** *(datetime) --* The time that this classifier was last updated. * **Version** *(integer) --* The version of this classifier. * **Delimiter** *(string) --* A custom symbol to denote what separates each column entry in the row. * **QuoteSymbol** *(string) --* A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. * **ContainsHeader** *(string) --* Indicates whether the CSV file contains a header. * **Header** *(list) --* A list of strings representing column names. * *(string) --* * **DisableValueTrimming** *(boolean) --* Specifies not to trim values before identifying the type of column values. The default value is "true". * **AllowSingleColumn** *(boolean) --* Enables the processing of files that contain only one column. * **CustomDatatypeConfigured** *(boolean) --* Enables the custom datatype to be configured. * **CustomDatatypes** *(list) --* A list of custom datatypes including "BINARY", "BOOLEAN", "DATE", "DECIMAL", "DOUBLE", "FLOAT", "INT", "LONG", "SHORT", "STRING", "TIMESTAMP". * *(string) --* * **Serde** *(string) --* Sets the SerDe for processing CSV in the classifier, which will be applied in the Data Catalog. Valid values are "OpenCSVSerDe", "LazySimpleSerDe", and "None". You can specify the "None" value when you want the crawler to do the detection. Glue / Paginator / ListTriggers ListTriggers ************ class Glue.Paginator.ListTriggers paginator = client.get_paginator('list_triggers') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.list_triggers()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( DependentJobName='string', Tags={ 'string': 'string' }, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **DependentJobName** (*string*) -- The name of the job for which to retrieve triggers. The trigger that can start this job is returned. If there is no such trigger, all triggers are returned. * **Tags** (*dict*) -- Specifies to return only these tagged resources. * *(string) --* * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'TriggerNames': [ 'string', ], } **Response Structure** * *(dict) --* * **TriggerNames** *(list) --* The names of all triggers in the account, or the triggers with the specified tags. * *(string) --* Glue / Paginator / ListBlueprints ListBlueprints ************** class Glue.Paginator.ListBlueprints paginator = client.get_paginator('list_blueprints') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.list_blueprints()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Tags={ 'string': 'string' }, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Tags** (*dict*) -- Filters the list by an Amazon Web Services resource tag. * *(string) --* * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Blueprints': [ 'string', ], } **Response Structure** * *(dict) --* * **Blueprints** *(list) --* List of names of blueprints in the account. * *(string) --* Glue / Paginator / GetJobs GetJobs ******* class Glue.Paginator.GetJobs paginator = client.get_paginator('get_jobs') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.get_jobs()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** # This section is too large to render. # Please see the AWS API Documentation linked below. AWS API Documentation **Response Structure** # This section is too large to render. # Please see the AWS API Documentation linked below. AWS API Documentation Glue / Paginator / ListJobs ListJobs ******** class Glue.Paginator.ListJobs paginator = client.get_paginator('list_jobs') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.list_jobs()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Tags={ 'string': 'string' }, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Tags** (*dict*) -- Specifies to return only these tagged resources. * *(string) --* * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'JobNames': [ 'string', ], } **Response Structure** * *(dict) --* * **JobNames** *(list) --* The names of all jobs in the account, or the jobs with the specified tags. * *(string) --* Glue / Paginator / ListRegistries ListRegistries ************** class Glue.Paginator.ListRegistries paginator = client.get_paginator('list_registries') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.list_registries()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Registries': [ { 'RegistryName': 'string', 'RegistryArn': 'string', 'Description': 'string', 'Status': 'AVAILABLE'|'DELETING', 'CreatedTime': 'string', 'UpdatedTime': 'string' }, ], } **Response Structure** * *(dict) --* * **Registries** *(list) --* An array of "RegistryDetailedListItem" objects containing minimal details of each registry. * *(dict) --* A structure containing the details for a registry. * **RegistryName** *(string) --* The name of the registry. * **RegistryArn** *(string) --* The Amazon Resource Name (ARN) of the registry. * **Description** *(string) --* A description of the registry. * **Status** *(string) --* The status of the registry. * **CreatedTime** *(string) --* The data the registry was created. * **UpdatedTime** *(string) --* The date the registry was updated. Glue / Paginator / GetTriggers GetTriggers *********** class Glue.Paginator.GetTriggers paginator = client.get_paginator('get_triggers') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.get_triggers()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( DependentJobName='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **DependentJobName** (*string*) -- The name of the job to retrieve triggers for. The trigger that can start this job is returned, and if there is no such trigger, all triggers are returned. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Triggers': [ { 'Name': 'string', 'WorkflowName': 'string', 'Id': 'string', 'Type': 'SCHEDULED'|'CONDITIONAL'|'ON_DEMAND'|'EVENT', 'State': 'CREATING'|'CREATED'|'ACTIVATING'|'ACTIVATED'|'DEACTIVATING'|'DEACTIVATED'|'DELETING'|'UPDATING', 'Description': 'string', 'Schedule': 'string', 'Actions': [ { 'JobName': 'string', 'Arguments': { 'string': 'string' }, 'Timeout': 123, 'SecurityConfiguration': 'string', 'NotificationProperty': { 'NotifyDelayAfter': 123 }, 'CrawlerName': 'string' }, ], 'Predicate': { 'Logical': 'AND'|'ANY', 'Conditions': [ { 'LogicalOperator': 'EQUALS', 'JobName': 'string', 'State': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT'|'ERROR'|'WAITING'|'EXPIRED', 'CrawlerName': 'string', 'CrawlState': 'RUNNING'|'CANCELLING'|'CANCELLED'|'SUCCEEDED'|'FAILED'|'ERROR' }, ] }, 'EventBatchingCondition': { 'BatchSize': 123, 'BatchWindow': 123 } }, ], } **Response Structure** * *(dict) --* * **Triggers** *(list) --* A list of triggers for the specified job. * *(dict) --* Information about a specific trigger. * **Name** *(string) --* The name of the trigger. * **WorkflowName** *(string) --* The name of the workflow associated with the trigger. * **Id** *(string) --* Reserved for future use. * **Type** *(string) --* The type of trigger that this is. * **State** *(string) --* The current state of the trigger. * **Description** *(string) --* A description of this trigger. * **Schedule** *(string) --* A "cron" expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: "cron(15 12 * * ? *)". * **Actions** *(list) --* The actions initiated by this trigger. * *(dict) --* Defines an action to be initiated by a trigger. * **JobName** *(string) --* The name of a job to be run. * **Arguments** *(dict) --* The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job- execution script consumes, as well as arguments that Glue itself consumes. For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide. For information about the key-value pairs that Glue consumes to set up your job, see the Special Parameters Used by Glue topic in the developer guide. * *(string) --* * *(string) --* * **Timeout** *(integer) --* The "JobRun" timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters "TIMEOUT" status. This overrides the timeout value set in the parent job. Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception. When the value is left blank, the timeout is defaulted to 2880 minutes. Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day. For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days. * **SecurityConfiguration** *(string) --* The name of the "SecurityConfiguration" structure to be used with this action. * **NotificationProperty** *(dict) --* Specifies configuration properties of a job run notification. * **NotifyDelayAfter** *(integer) --* After a job run starts, the number of minutes to wait before sending a job run delay notification. * **CrawlerName** *(string) --* The name of the crawler to be used with this action. * **Predicate** *(dict) --* The predicate of this trigger, which defines when it will fire. * **Logical** *(string) --* An optional field if only one condition is listed. If multiple conditions are listed, then this field is required. * **Conditions** *(list) --* A list of the conditions that determine when the trigger will fire. * *(dict) --* Defines a condition under which a trigger fires. * **LogicalOperator** *(string) --* A logical operator. * **JobName** *(string) --* The name of the job whose "JobRuns" this condition applies to, and on which this trigger waits. * **State** *(string) --* The condition state. Currently, the only job states that a trigger can listen for are "SUCCEEDED", "STOPPED", "FAILED", and "TIMEOUT". The only crawler states that a trigger can listen for are "SUCCEEDED", "FAILED", and "CANCELLED". * **CrawlerName** *(string) --* The name of the crawler to which this condition applies. * **CrawlState** *(string) --* The state of the crawler to which this condition applies. * **EventBatchingCondition** *(dict) --* Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires. * **BatchSize** *(integer) --* Number of events that must be received from Amazon EventBridge before EventBridge event trigger fires. * **BatchWindow** *(integer) --* Window of time in seconds after which EventBridge event trigger fires. Window starts when first event is received. Glue / Paginator / GetSecurityConfigurations GetSecurityConfigurations ************************* class Glue.Paginator.GetSecurityConfigurations paginator = client.get_paginator('get_security_configurations') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.get_security_configurations()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'SecurityConfigurations': [ { 'Name': 'string', 'CreatedTimeStamp': datetime(2015, 1, 1), 'EncryptionConfiguration': { 'S3Encryption': [ { 'S3EncryptionMode': 'DISABLED'|'SSE-KMS'|'SSE-S3', 'KmsKeyArn': 'string' }, ], 'CloudWatchEncryption': { 'CloudWatchEncryptionMode': 'DISABLED'|'SSE-KMS', 'KmsKeyArn': 'string' }, 'JobBookmarksEncryption': { 'JobBookmarksEncryptionMode': 'DISABLED'|'CSE-KMS', 'KmsKeyArn': 'string' }, 'DataQualityEncryption': { 'DataQualityEncryptionMode': 'DISABLED'|'SSE-KMS', 'KmsKeyArn': 'string' } } }, ], } **Response Structure** * *(dict) --* * **SecurityConfigurations** *(list) --* A list of security configurations. * *(dict) --* Specifies a security configuration. * **Name** *(string) --* The name of the security configuration. * **CreatedTimeStamp** *(datetime) --* The time at which this security configuration was created. * **EncryptionConfiguration** *(dict) --* The encryption configuration associated with this security configuration. * **S3Encryption** *(list) --* The encryption configuration for Amazon Simple Storage Service (Amazon S3) data. * *(dict) --* Specifies how Amazon Simple Storage Service (Amazon S3) data should be encrypted. * **S3EncryptionMode** *(string) --* The encryption mode to use for Amazon S3 data. * **KmsKeyArn** *(string) --* The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data. * **CloudWatchEncryption** *(dict) --* The encryption configuration for Amazon CloudWatch. * **CloudWatchEncryptionMode** *(string) --* The encryption mode to use for CloudWatch data. * **KmsKeyArn** *(string) --* The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data. * **JobBookmarksEncryption** *(dict) --* The encryption configuration for job bookmarks. * **JobBookmarksEncryptionMode** *(string) --* The encryption mode to use for job bookmarks data. * **KmsKeyArn** *(string) --* The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data. * **DataQualityEncryption** *(dict) --* The encryption configuration for Glue Data Quality assets. * **DataQualityEncryptionMode** *(string) --* The encryption mode to use for encrypting Data Quality assets. These assets include data quality rulesets, results, statistics, anomaly detection models and observations. Valid values are "SSEKMS" for encryption using a customer-managed KMS key, or "DISABLED". * **KmsKeyArn** *(string) --* The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data. Glue / Paginator / GetCrawlers GetCrawlers *********** class Glue.Paginator.GetCrawlers paginator = client.get_paginator('get_crawlers') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.get_crawlers()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Crawlers': [ { 'Name': 'string', 'Role': 'string', 'Targets': { 'S3Targets': [ { 'Path': 'string', 'Exclusions': [ 'string', ], 'ConnectionName': 'string', 'SampleSize': 123, 'EventQueueArn': 'string', 'DlqEventQueueArn': 'string' }, ], 'JdbcTargets': [ { 'ConnectionName': 'string', 'Path': 'string', 'Exclusions': [ 'string', ], 'EnableAdditionalMetadata': [ 'COMMENTS'|'RAWTYPES', ] }, ], 'MongoDBTargets': [ { 'ConnectionName': 'string', 'Path': 'string', 'ScanAll': True|False }, ], 'DynamoDBTargets': [ { 'Path': 'string', 'scanAll': True|False, 'scanRate': 123.0 }, ], 'CatalogTargets': [ { 'DatabaseName': 'string', 'Tables': [ 'string', ], 'ConnectionName': 'string', 'EventQueueArn': 'string', 'DlqEventQueueArn': 'string' }, ], 'DeltaTargets': [ { 'DeltaTables': [ 'string', ], 'ConnectionName': 'string', 'WriteManifest': True|False, 'CreateNativeDeltaTable': True|False }, ], 'IcebergTargets': [ { 'Paths': [ 'string', ], 'ConnectionName': 'string', 'Exclusions': [ 'string', ], 'MaximumTraversalDepth': 123 }, ], 'HudiTargets': [ { 'Paths': [ 'string', ], 'ConnectionName': 'string', 'Exclusions': [ 'string', ], 'MaximumTraversalDepth': 123 }, ] }, 'DatabaseName': 'string', 'Description': 'string', 'Classifiers': [ 'string', ], 'RecrawlPolicy': { 'RecrawlBehavior': 'CRAWL_EVERYTHING'|'CRAWL_NEW_FOLDERS_ONLY'|'CRAWL_EVENT_MODE' }, 'SchemaChangePolicy': { 'UpdateBehavior': 'LOG'|'UPDATE_IN_DATABASE', 'DeleteBehavior': 'LOG'|'DELETE_FROM_DATABASE'|'DEPRECATE_IN_DATABASE' }, 'LineageConfiguration': { 'CrawlerLineageSettings': 'ENABLE'|'DISABLE' }, 'State': 'READY'|'RUNNING'|'STOPPING', 'TablePrefix': 'string', 'Schedule': { 'ScheduleExpression': 'string', 'State': 'SCHEDULED'|'NOT_SCHEDULED'|'TRANSITIONING' }, 'CrawlElapsedTime': 123, 'CreationTime': datetime(2015, 1, 1), 'LastUpdated': datetime(2015, 1, 1), 'LastCrawl': { 'Status': 'SUCCEEDED'|'CANCELLED'|'FAILED', 'ErrorMessage': 'string', 'LogGroup': 'string', 'LogStream': 'string', 'MessagePrefix': 'string', 'StartTime': datetime(2015, 1, 1) }, 'Version': 123, 'Configuration': 'string', 'CrawlerSecurityConfiguration': 'string', 'LakeFormationConfiguration': { 'UseLakeFormationCredentials': True|False, 'AccountId': 'string' } }, ], } **Response Structure** * *(dict) --* * **Crawlers** *(list) --* A list of crawler metadata. * *(dict) --* Specifies a crawler program that examines a data source and uses classifiers to try to determine its schema. If successful, the crawler records metadata concerning the data source in the Glue Data Catalog. * **Name** *(string) --* The name of the crawler. * **Role** *(string) --* The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data. * **Targets** *(dict) --* A collection of targets to crawl. * **S3Targets** *(list) --* Specifies Amazon Simple Storage Service (Amazon S3) targets. * *(dict) --* Specifies a data store in Amazon Simple Storage Service (Amazon S3). * **Path** *(string) --* The path to the Amazon S3 target. * **Exclusions** *(list) --* A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler. * *(string) --* * **ConnectionName** *(string) --* The name of a connection which allows a job or crawler to access data in Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC). * **SampleSize** *(integer) --* Sets the number of files in each leaf folder to be crawled when crawling sample files in a dataset. If not set, all the files are crawled. A valid value is an integer between 1 and 249. * **EventQueueArn** *(string) --* A valid Amazon SQS ARN. For example, "arn:aws:sqs:region:account:sqs". * **DlqEventQueueArn** *(string) --* A valid Amazon dead-letter SQS ARN. For example, "arn:aws:sqs:region:account:deadLetterQueue". * **JdbcTargets** *(list) --* Specifies JDBC targets. * *(dict) --* Specifies a JDBC data store to crawl. * **ConnectionName** *(string) --* The name of the connection to use to connect to the JDBC target. * **Path** *(string) --* The path of the JDBC target. * **Exclusions** *(list) --* A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler. * *(string) --* * **EnableAdditionalMetadata** *(list) --* Specify a value of "RAWTYPES" or "COMMENTS" to enable additional metadata in table responses. "RAWTYPES" provides the native-level datatype. "COMMENTS" provides comments associated with a column or table in the database. If you do not need additional metadata, keep the field empty. * *(string) --* * **MongoDBTargets** *(list) --* Specifies Amazon DocumentDB or MongoDB targets. * *(dict) --* Specifies an Amazon DocumentDB or MongoDB data store to crawl. * **ConnectionName** *(string) --* The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target. * **Path** *(string) --* The path of the Amazon DocumentDB or MongoDB target (database/collection). * **ScanAll** *(boolean) --* Indicates whether to scan all the records, or to sample rows from the table. Scanning all the records can take a long time when the table is not a high throughput table. A value of "true" means to scan all records, while a value of "false" means to sample the records. If no value is specified, the value defaults to "true". * **DynamoDBTargets** *(list) --* Specifies Amazon DynamoDB targets. * *(dict) --* Specifies an Amazon DynamoDB table to crawl. * **Path** *(string) --* The name of the DynamoDB table to crawl. * **scanAll** *(boolean) --* Indicates whether to scan all the records, or to sample rows from the table. Scanning all the records can take a long time when the table is not a high throughput table. A value of "true" means to scan all records, while a value of "false" means to sample the records. If no value is specified, the value defaults to "true". * **scanRate** *(float) --* The percentage of the configured read capacity units to use by the Glue crawler. Read capacity units is a term defined by DynamoDB, and is a numeric value that acts as rate limiter for the number of reads that can be performed on that table per second. The valid values are null or a value between 0.1 to 1.5. A null value is used when user does not provide a value, and defaults to 0.5 of the configured Read Capacity Unit (for provisioned tables), or 0.25 of the max configured Read Capacity Unit (for tables using on-demand mode). * **CatalogTargets** *(list) --* Specifies Glue Data Catalog targets. * *(dict) --* Specifies an Glue Data Catalog target. * **DatabaseName** *(string) --* The name of the database to be synchronized. * **Tables** *(list) --* A list of the tables to be synchronized. * *(string) --* * **ConnectionName** *(string) --* The name of the connection for an Amazon S3-backed Data Catalog table to be a target of the crawl when using a "Catalog" connection type paired with a "NETWORK" Connection type. * **EventQueueArn** *(string) --* A valid Amazon SQS ARN. For example, "arn:aws:sqs:region:account:sqs". * **DlqEventQueueArn** *(string) --* A valid Amazon dead-letter SQS ARN. For example, "arn:aws:sqs:region:account:deadLetterQueue". * **DeltaTargets** *(list) --* Specifies Delta data store targets. * *(dict) --* Specifies a Delta data store to crawl one or more Delta tables. * **DeltaTables** *(list) --* A list of the Amazon S3 paths to the Delta tables. * *(string) --* * **ConnectionName** *(string) --* The name of the connection to use to connect to the Delta table target. * **WriteManifest** *(boolean) --* Specifies whether to write the manifest files to the Delta table path. * **CreateNativeDeltaTable** *(boolean) --* Specifies whether the crawler will create native tables, to allow integration with query engines that support querying of the Delta transaction log directly. * **IcebergTargets** *(list) --* Specifies Apache Iceberg data store targets. * *(dict) --* Specifies an Apache Iceberg data source where Iceberg tables are stored in Amazon S3. * **Paths** *(list) --* One or more Amazon S3 paths that contains Iceberg metadata folders as "s3://bucket/prefix". * *(string) --* * **ConnectionName** *(string) --* The name of the connection to use to connect to the Iceberg target. * **Exclusions** *(list) --* A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler. * *(string) --* * **MaximumTraversalDepth** *(integer) --* The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Iceberg metadata folder in your Amazon S3 path. Used to limit the crawler run time. * **HudiTargets** *(list) --* Specifies Apache Hudi data store targets. * *(dict) --* Specifies an Apache Hudi data source. * **Paths** *(list) --* An array of Amazon S3 location strings for Hudi, each indicating the root folder with which the metadata files for a Hudi table resides. The Hudi folder may be located in a child folder of the root folder. The crawler will scan all folders underneath a path for a Hudi folder. * *(string) --* * **ConnectionName** *(string) --* The name of the connection to use to connect to the Hudi target. If your Hudi files are stored in buckets that require VPC authorization, you can set their connection properties here. * **Exclusions** *(list) --* A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler. * *(string) --* * **MaximumTraversalDepth** *(integer) --* The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Hudi metadata folder in your Amazon S3 path. Used to limit the crawler run time. * **DatabaseName** *(string) --* The name of the database in which the crawler's output is stored. * **Description** *(string) --* A description of the crawler. * **Classifiers** *(list) --* A list of UTF-8 strings that specify the custom classifiers that are associated with the crawler. * *(string) --* * **RecrawlPolicy** *(dict) --* A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run. * **RecrawlBehavior** *(string) --* Specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. A value of "CRAWL_EVERYTHING" specifies crawling the entire dataset again. A value of "CRAWL_NEW_FOLDERS_ONLY" specifies crawling only folders that were added since the last crawler run. A value of "CRAWL_EVENT_MODE" specifies crawling only the changes identified by Amazon S3 events. * **SchemaChangePolicy** *(dict) --* The policy that specifies update and delete behaviors for the crawler. * **UpdateBehavior** *(string) --* The update behavior when the crawler finds a changed schema. * **DeleteBehavior** *(string) --* The deletion behavior when the crawler finds a deleted object. * **LineageConfiguration** *(dict) --* A configuration that specifies whether data lineage is enabled for the crawler. * **CrawlerLineageSettings** *(string) --* Specifies whether data lineage is enabled for the crawler. Valid values are: * ENABLE: enables data lineage for the crawler * DISABLE: disables data lineage for the crawler * **State** *(string) --* Indicates whether the crawler is running, or whether a run is pending. * **TablePrefix** *(string) --* The prefix added to the names of tables that are created. * **Schedule** *(dict) --* For scheduled crawlers, the schedule when the crawler runs. * **ScheduleExpression** *(string) --* A "cron" expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: "cron(15 12 * * ? *)". * **State** *(string) --* The state of the schedule. * **CrawlElapsedTime** *(integer) --* If the crawler is running, contains the total time elapsed since the last crawl began. * **CreationTime** *(datetime) --* The time that the crawler was created. * **LastUpdated** *(datetime) --* The time that the crawler was last updated. * **LastCrawl** *(dict) --* The status of the last crawl, and potentially error information if an error occurred. * **Status** *(string) --* Status of the last crawl. * **ErrorMessage** *(string) --* If an error occurred, the error information about the last crawl. * **LogGroup** *(string) --* The log group for the last crawl. * **LogStream** *(string) --* The log stream for the last crawl. * **MessagePrefix** *(string) --* The prefix for a message about this crawl. * **StartTime** *(datetime) --* The time at which the crawl started. * **Version** *(integer) --* The version of the crawler. * **Configuration** *(string) --* Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Setting crawler configuration options. * **CrawlerSecurityConfiguration** *(string) --* The name of the "SecurityConfiguration" structure to be used by this crawler. * **LakeFormationConfiguration** *(dict) --* Specifies whether the crawler should use Lake Formation credentials for the crawler instead of the IAM role credentials. * **UseLakeFormationCredentials** *(boolean) --* Specifies whether to use Lake Formation credentials for the crawler instead of the IAM role credentials. * **AccountId** *(string) --* Required for cross account crawls. For same account crawls as the target data, this can be left as null. Glue / Paginator / GetPartitionIndexes GetPartitionIndexes ******************* class Glue.Paginator.GetPartitionIndexes paginator = client.get_paginator('get_partition_indexes') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.get_partition_indexes()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( CatalogId='string', DatabaseName='string', TableName='string', PaginationConfig={ 'MaxItems': 123, 'StartingToken': 'string' } ) Parameters: * **CatalogId** (*string*) -- The catalog ID where the table resides. * **DatabaseName** (*string*) -- **[REQUIRED]** Specifies the name of a database from which you want to retrieve partition indexes. * **TableName** (*string*) -- **[REQUIRED]** Specifies the name of a table for which you want to retrieve the partition indexes. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'PartitionIndexDescriptorList': [ { 'IndexName': 'string', 'Keys': [ { 'Name': 'string', 'Type': 'string' }, ], 'IndexStatus': 'CREATING'|'ACTIVE'|'DELETING'|'FAILED', 'BackfillErrors': [ { 'Code': 'ENCRYPTED_PARTITION_ERROR'|'INTERNAL_ERROR'|'INVALID_PARTITION_TYPE_DATA_ERROR'|'MISSING_PARTITION_VALUE_ERROR'|'UNSUPPORTED_PARTITION_CHARACTER_ERROR', 'Partitions': [ { 'Values': [ 'string', ] }, ] }, ] }, ], } **Response Structure** * *(dict) --* * **PartitionIndexDescriptorList** *(list) --* A list of index descriptors. * *(dict) --* A descriptor for a partition index in a table. * **IndexName** *(string) --* The name of the partition index. * **Keys** *(list) --* A list of one or more keys, as "KeySchemaElement" structures, for the partition index. * *(dict) --* A partition key pair consisting of a name and a type. * **Name** *(string) --* The name of a partition key. * **Type** *(string) --* The type of a partition key. * **IndexStatus** *(string) --* The status of the partition index. The possible statuses are: * CREATING: The index is being created. When an index is in a CREATING state, the index or its table cannot be deleted. * ACTIVE: The index creation succeeds. * FAILED: The index creation fails. * DELETING: The index is deleted from the list of indexes. * **BackfillErrors** *(list) --* A list of errors that can occur when registering partition indexes for an existing table. * *(dict) --* A list of errors that can occur when registering partition indexes for an existing table. These errors give the details about why an index registration failed and provide a limited number of partitions in the response, so that you can fix the partitions at fault and try registering the index again. The most common set of errors that can occur are categorized as follows: * EncryptedPartitionError: The partitions are encrypted. * InvalidPartitionTypeDataError: The partition value doesn't match the data type for that partition column. * MissingPartitionValueError: The partitions are encrypted. * UnsupportedPartitionCharacterError: Characters inside the partition value are not supported. For example: U+0000 , U+0001, U+0002. * InternalError: Any error which does not belong to other error codes. * **Code** *(string) --* The error code for an error that occurred when registering partition indexes for an existing table. * **Partitions** *(list) --* A list of a limited number of partitions in the response. * *(dict) --* Contains a list of values defining partitions. * **Values** *(list) --* The list of values. * *(string) --* Glue / Paginator / GetWorkflowRuns GetWorkflowRuns *************** class Glue.Paginator.GetWorkflowRuns paginator = client.get_paginator('get_workflow_runs') paginate(**kwargs) Creates an iterator that will paginate through responses from "Glue.Client.get_workflow_runs()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Name='string', IncludeGraph=True|False, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Name** (*string*) -- **[REQUIRED]** Name of the workflow whose metadata of runs should be returned. * **IncludeGraph** (*boolean*) -- Specifies whether to include the workflow graph in response or not. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Runs': [ { 'Name': 'string', 'WorkflowRunId': 'string', 'PreviousRunId': 'string', 'WorkflowRunProperties': { 'string': 'string' }, 'StartedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'Status': 'RUNNING'|'COMPLETED'|'STOPPING'|'STOPPED'|'ERROR', 'ErrorMessage': 'string', 'Statistics': { 'TotalActions': 123, 'TimeoutActions': 123, 'FailedActions': 123, 'StoppedActions': 123, 'SucceededActions': 123, 'RunningActions': 123, 'ErroredActions': 123, 'WaitingActions': 123 }, 'Graph': { 'Nodes': [ { 'Type': 'CRAWLER'|'JOB'|'TRIGGER', 'Name': 'string', 'UniqueId': 'string', 'TriggerDetails': { 'Trigger': { 'Name': 'string', 'WorkflowName': 'string', 'Id': 'string', 'Type': 'SCHEDULED'|'CONDITIONAL'|'ON_DEMAND'|'EVENT', 'State': 'CREATING'|'CREATED'|'ACTIVATING'|'ACTIVATED'|'DEACTIVATING'|'DEACTIVATED'|'DELETING'|'UPDATING', 'Description': 'string', 'Schedule': 'string', 'Actions': [ { 'JobName': 'string', 'Arguments': { 'string': 'string' }, 'Timeout': 123, 'SecurityConfiguration': 'string', 'NotificationProperty': { 'NotifyDelayAfter': 123 }, 'CrawlerName': 'string' }, ], 'Predicate': { 'Logical': 'AND'|'ANY', 'Conditions': [ { 'LogicalOperator': 'EQUALS', 'JobName': 'string', 'State': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT'|'ERROR'|'WAITING'|'EXPIRED', 'CrawlerName': 'string', 'CrawlState': 'RUNNING'|'CANCELLING'|'CANCELLED'|'SUCCEEDED'|'FAILED'|'ERROR' }, ] }, 'EventBatchingCondition': { 'BatchSize': 123, 'BatchWindow': 123 } } }, 'JobDetails': { 'JobRuns': [ { 'Id': 'string', 'Attempt': 123, 'PreviousRunId': 'string', 'TriggerName': 'string', 'JobName': 'string', 'JobMode': 'SCRIPT'|'VISUAL'|'NOTEBOOK', 'JobRunQueuingEnabled': True|False, 'StartedOn': datetime(2015, 1, 1), 'LastModifiedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'JobRunState': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT'|'ERROR'|'WAITING'|'EXPIRED', 'Arguments': { 'string': 'string' }, 'ErrorMessage': 'string', 'PredecessorRuns': [ { 'JobName': 'string', 'RunId': 'string' }, ], 'AllocatedCapacity': 123, 'ExecutionTime': 123, 'Timeout': 123, 'MaxCapacity': 123.0, 'WorkerType': 'Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X', 'NumberOfWorkers': 123, 'SecurityConfiguration': 'string', 'LogGroupName': 'string', 'NotificationProperty': { 'NotifyDelayAfter': 123 }, 'GlueVersion': 'string', 'DPUSeconds': 123.0, 'ExecutionClass': 'FLEX'|'STANDARD', 'MaintenanceWindow': 'string', 'ProfileName': 'string', 'StateDetail': 'string', 'ExecutionRoleSessionPolicy': 'string' }, ] }, 'CrawlerDetails': { 'Crawls': [ { 'State': 'RUNNING'|'CANCELLING'|'CANCELLED'|'SUCCEEDED'|'FAILED'|'ERROR', 'StartedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'ErrorMessage': 'string', 'LogGroup': 'string', 'LogStream': 'string' }, ] } }, ], 'Edges': [ { 'SourceId': 'string', 'DestinationId': 'string' }, ] }, 'StartingEventBatchCondition': { 'BatchSize': 123, 'BatchWindow': 123 } }, ], } **Response Structure** * *(dict) --* * **Runs** *(list) --* A list of workflow run metadata objects. * *(dict) --* A workflow run is an execution of a workflow providing all the runtime information. * **Name** *(string) --* Name of the workflow that was run. * **WorkflowRunId** *(string) --* The ID of this workflow run. * **PreviousRunId** *(string) --* The ID of the previous workflow run. * **WorkflowRunProperties** *(dict) --* The workflow run properties which were set during the run. * *(string) --* * *(string) --* * **StartedOn** *(datetime) --* The date and time when the workflow run was started. * **CompletedOn** *(datetime) --* The date and time when the workflow run completed. * **Status** *(string) --* The status of the workflow run. * **ErrorMessage** *(string) --* This error message describes any error that may have occurred in starting the workflow run. Currently the only error message is "Concurrent runs exceeded for workflow: "foo"." * **Statistics** *(dict) --* The statistics of the run. * **TotalActions** *(integer) --* Total number of Actions in the workflow run. * **TimeoutActions** *(integer) --* Total number of Actions that timed out. * **FailedActions** *(integer) --* Total number of Actions that have failed. * **StoppedActions** *(integer) --* Total number of Actions that have stopped. * **SucceededActions** *(integer) --* Total number of Actions that have succeeded. * **RunningActions** *(integer) --* Total number Actions in running state. * **ErroredActions** *(integer) --* Indicates the count of job runs in the ERROR state in the workflow run. * **WaitingActions** *(integer) --* Indicates the count of job runs in WAITING state in the workflow run. * **Graph** *(dict) --* The graph representing all the Glue components that belong to the workflow as nodes and directed connections between them as edges. * **Nodes** *(list) --* A list of the the Glue components belong to the workflow represented as nodes. * *(dict) --* A node represents an Glue component (trigger, crawler, or job) on a workflow graph. * **Type** *(string) --* The type of Glue component represented by the node. * **Name** *(string) --* The name of the Glue component represented by the node. * **UniqueId** *(string) --* The unique Id assigned to the node within the workflow. * **TriggerDetails** *(dict) --* Details of the Trigger when the node represents a Trigger. * **Trigger** *(dict) --* The information of the trigger represented by the trigger node. * **Name** *(string) --* The name of the trigger. * **WorkflowName** *(string) --* The name of the workflow associated with the trigger. * **Id** *(string) --* Reserved for future use. * **Type** *(string) --* The type of trigger that this is. * **State** *(string) --* The current state of the trigger. * **Description** *(string) --* A description of this trigger. * **Schedule** *(string) --* A "cron" expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: "cron(15 12 * * ? *)". * **Actions** *(list) --* The actions initiated by this trigger. * *(dict) --* Defines an action to be initiated by a trigger. * **JobName** *(string) --* The name of a job to be run. * **Arguments** *(dict) --* The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job-execution script consumes, as well as arguments that Glue itself consumes. For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide. For information about the key-value pairs that Glue consumes to set up your job, see the Special Parameters Used by Glue topic in the developer guide. * *(string) --* * *(string) --* * **Timeout** *(integer) --* The "JobRun" timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters "TIMEOUT" status. This overrides the timeout value set in the parent job. Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception. When the value is left blank, the timeout is defaulted to 2880 minutes. Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day. For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days. * **SecurityConfiguration** *(string) --* The name of the "SecurityConfiguration" structure to be used with this action. * **NotificationProperty** *(dict) --* Specifies configuration properties of a job run notification. * **NotifyDelayAfter** *(integer) --* After a job run starts, the number of minutes to wait before sending a job run delay notification. * **CrawlerName** *(string) --* The name of the crawler to be used with this action. * **Predicate** *(dict) --* The predicate of this trigger, which defines when it will fire. * **Logical** *(string) --* An optional field if only one condition is listed. If multiple conditions are listed, then this field is required. * **Conditions** *(list) --* A list of the conditions that determine when the trigger will fire. * *(dict) --* Defines a condition under which a trigger fires. * **LogicalOperator** *(string) --* A logical operator. * **JobName** *(string) --* The name of the job whose "JobRuns" this condition applies to, and on which this trigger waits. * **State** *(string) --* The condition state. Currently, the only job states that a trigger can listen for are "SUCCEEDED", "STOPPED", "FAILED", and "TIMEOUT". The only crawler states that a trigger can listen for are "SUCCEEDED", "FAILED", and "CANCELLED". * **CrawlerName** *(string) --* The name of the crawler to which this condition applies. * **CrawlState** *(string) --* The state of the crawler to which this condition applies. * **EventBatchingCondition** *(dict) --* Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires. * **BatchSize** *(integer) --* Number of events that must be received from Amazon EventBridge before EventBridge event trigger fires. * **BatchWindow** *(integer) --* Window of time in seconds after which EventBridge event trigger fires. Window starts when first event is received. * **JobDetails** *(dict) --* Details of the Job when the node represents a Job. * **JobRuns** *(list) --* The information for the job runs represented by the job node. * *(dict) --* Contains information about a job run. * **Id** *(string) --* The ID of this job run. * **Attempt** *(integer) --* The number of the attempt to run this job. * **PreviousRunId** *(string) --* The ID of the previous run of this job. For example, the "JobRunId" specified in the "StartJobRun" action. * **TriggerName** *(string) --* The name of the trigger that started this job run. * **JobName** *(string) --* The name of the job definition being used in this run. * **JobMode** *(string) --* A mode that describes how a job was created. Valid values are: * "SCRIPT" - The job was created using the Glue Studio script editor. * "VISUAL" - The job was created using the Glue Studio visual editor. * "NOTEBOOK" - The job was created using an interactive sessions notebook. When the "JobMode" field is missing or null, "SCRIPT" is assigned as the default value. * **JobRunQueuingEnabled** *(boolean) --* Specifies whether job run queuing is enabled for the job run. A value of true means job run queuing is enabled for the job run. If false or not populated, the job run will not be considered for queueing. * **StartedOn** *(datetime) --* The date and time at which this job run was started. * **LastModifiedOn** *(datetime) --* The last time that this job run was modified. * **CompletedOn** *(datetime) --* The date and time that this job run completed. * **JobRunState** *(string) --* The current state of the job run. For more information about the statuses of jobs that have terminated abnormally, see Glue Job Run Statuses. * **Arguments** *(dict) --* The job arguments associated with this run. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job-execution script consumes, as well as arguments that Glue itself consumes. Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a Glue Connection, Secrets Manager or other secret management mechanism if you intend to keep them within the Job. For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide. For information about the arguments you can provide to this field when configuring Spark jobs, see the Special Parameters Used by Glue topic in the developer guide. For information about the arguments you can provide to this field when configuring Ray jobs, see Using job parameters in Ray jobs in the developer guide. * *(string) --* * *(string) --* * **ErrorMessage** *(string) --* An error message associated with this job run. * **PredecessorRuns** *(list) --* A list of predecessors to this job run. * *(dict) --* A job run that was used in the predicate of a conditional trigger that triggered this job run. * **JobName** *(string) --* The name of the job definition used by the predecessor job run. * **RunId** *(string) --* The job-run ID of the predecessor job run. * **AllocatedCapacity** *(integer) --* This field is deprecated. Use "MaxCapacity" instead. The number of Glue data processing units (DPUs) allocated to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. * **ExecutionTime** *(integer) --* The amount of time (in seconds) that the job run consumed resources. * **Timeout** *(integer) --* The "JobRun" timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters "TIMEOUT" status. This value overrides the timeout value set in the parent job. Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception. When the value is left blank, the timeout is defaulted to 2880 minutes. Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day. For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days. * **MaxCapacity** *(float) --* For Glue version 1.0 or earlier jobs, using the standard worker type, the number of Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. For Glue version 2.0+ jobs, you cannot specify a "Maximum capacity". Instead, you should specify a "Worker type" and the "Number of workers". Do not set "MaxCapacity" if using "WorkerType" and "NumberOfWorkers". The value that can be allocated for "MaxCapacity" depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job: * When you specify a Python shell job ( >>``<>``<>``< SELECT * from db1.table1" * **ValidationConnection** *(string) --* The name of the connection to be used to validate the specific representation of the view. * **IsStale** *(boolean) --* Dialects marked as stale are no longer valid and must be updated before they can be queried in their respective query engines. * **IsMultiDialectView** *(boolean) --* Specifies whether the view supports the SQL dialects of one or more different query engines and can therefore be read by those engines. * **Status** *(dict) --* A structure containing information about the state of an asynchronous change to a table. * **RequestedBy** *(string) --* The ARN of the user who requested the asynchronous change. * **UpdatedBy** *(string) --* The ARN of the user to last manually alter the asynchronous change (requesting cancellation, etc). * **RequestTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the change was initiated. * **UpdateTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the state was last updated. * **Action** *(string) --* Indicates which action was called on the table, currently only "CREATE" or "UPDATE". * **State** *(string) --* A generic status for the change in progress, such as QUEUED, IN_PROGRESS, SUCCESS, or FAILED. * **Error** *(dict) --* An error that will only appear when the state is "FAILED". This is a parent level exception message, there may be different >>``</". * **RepositoryOwner** (*string*) -- The owner of the remote repository that contains the job artifacts. * **BranchName** (*string*) -- An optional branch in the remote repository. * **Folder** (*string*) -- An optional folder in the remote repository. * **CommitId** (*string*) -- A commit ID for a commit in the remote repository. * **AuthStrategy** (*string*) -- The type of authentication, which can be an authentication token stored in Amazon Web Services Secrets Manager, or a personal access token. * **AuthToken** (*string*) -- The value of the authorization token. Return type: dict Returns: **Response Syntax** { 'JobName': 'string' } **Response Structure** * *(dict) --* * **JobName** *(string) --* The name of the Glue job. **Exceptions** * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.AlreadyExistsException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.ValidationException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / stop_column_statistics_task_run_schedule stop_column_statistics_task_run_schedule **************************************** Glue.Client.stop_column_statistics_task_run_schedule(**kwargs) Stops a column statistics task run schedule. See also: AWS API Documentation **Request Syntax** response = client.stop_column_statistics_task_run_schedule( DatabaseName='string', TableName='string' ) Parameters: * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the database where the table resides. * **TableName** (*string*) -- **[REQUIRED]** The name of the table for which to stop a column statistic task run schedule. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / list_entities list_entities ************* Glue.Client.list_entities(**kwargs) Returns the available entities supported by the connection type. See also: AWS API Documentation **Request Syntax** response = client.list_entities( ConnectionName='string', CatalogId='string', ParentEntityName='string', NextToken='string', DataStoreApiVersion='string' ) Parameters: * **ConnectionName** (*string*) -- A name for the connection that has required credentials to query any connection type. * **CatalogId** (*string*) -- The catalog ID of the catalog that contains the connection. This can be null, By default, the Amazon Web Services Account ID is the catalog ID. * **ParentEntityName** (*string*) -- Name of the parent entity for which you want to list the children. This parameter takes a fully-qualified path of the entity in order to list the child entities. * **NextToken** (*string*) -- A continuation token, included if this is a continuation call. * **DataStoreApiVersion** (*string*) -- The API version of the SaaS connector. Return type: dict Returns: **Response Syntax** { 'Entities': [ { 'EntityName': 'string', 'Label': 'string', 'IsParentEntity': True|False, 'Description': 'string', 'Category': 'string', 'CustomProperties': { 'string': 'string' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Entities** *(list) --* A list of "Entity" objects. * *(dict) --* An entity supported by a given "ConnectionType". * **EntityName** *(string) --* The name of the entity. * **Label** *(string) --* Label used for the entity. * **IsParentEntity** *(boolean) --* A Boolean value which helps to determine whether there are sub objects that can be listed. * **Description** *(string) --* A description of the entity. * **Category** *(string) --* The type of entities that are present in the response. This value depends on the source connection. For example this is "SObjects" for Salesforce and "databases" or "schemas" or "tables" for sources like Amazon Redshift. * **CustomProperties** *(dict) --* An optional map of keys which may be returned for an entity by a connector. * *(string) --* * *(string) --* * **NextToken** *(string) --* A continuation token, present if the current segment is not the last. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.GlueEncryptionException" * "Glue.Client.exceptions.ValidationException" * "Glue.Client.exceptions.FederationSourceException" * "Glue.Client.exceptions.AccessDeniedException" Glue / Client / start_crawler start_crawler ************* Glue.Client.start_crawler(**kwargs) Starts a crawl using the specified crawler, regardless of what is scheduled. If the crawler is already running, returns a CrawlerRunningException. See also: AWS API Documentation **Request Syntax** response = client.start_crawler( Name='string' ) Parameters: **Name** (*string*) -- **[REQUIRED]** Name of the crawler to start. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.CrawlerRunningException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / start_ml_evaluation_task_run start_ml_evaluation_task_run **************************** Glue.Client.start_ml_evaluation_task_run(**kwargs) Starts a task to estimate the quality of the transform. When you provide label sets as examples of truth, Glue machine learning uses some of those examples to learn from them. The rest of the labels are used as a test to estimate quality. Returns a unique identifier for the run. You can call "GetMLTaskRun" to get more information about the stats of the "EvaluationTaskRun". See also: AWS API Documentation **Request Syntax** response = client.start_ml_evaluation_task_run( TransformId='string' ) Parameters: **TransformId** (*string*) -- **[REQUIRED]** The unique identifier of the machine learning transform. Return type: dict Returns: **Response Syntax** { 'TaskRunId': 'string' } **Response Structure** * *(dict) --* * **TaskRunId** *(string) --* The unique identifier associated with this run. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.ConcurrentRunsExceededException" * "Glue.Client.exceptions.MLTransformNotReadyException" Glue / Client / get_schema get_schema ********** Glue.Client.get_schema(**kwargs) Describes the specified schema in detail. See also: AWS API Documentation **Request Syntax** response = client.get_schema( SchemaId={ 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' } ) Parameters: **SchemaId** (*dict*) -- **[REQUIRED]** This is a wrapper structure to contain schema identity fields. The structure contains: * SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. Either "SchemaArn" or "SchemaName" and "RegistryName" has to be provided. * SchemaId$SchemaName: The name of the schema. Either "SchemaArn" or "SchemaName" and "RegistryName" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. Return type: dict Returns: **Response Syntax** { 'RegistryName': 'string', 'RegistryArn': 'string', 'SchemaName': 'string', 'SchemaArn': 'string', 'Description': 'string', 'DataFormat': 'AVRO'|'JSON'|'PROTOBUF', 'Compatibility': 'NONE'|'DISABLED'|'BACKWARD'|'BACKWARD_ALL'|'FORWARD'|'FORWARD_ALL'|'FULL'|'FULL_ALL', 'SchemaCheckpoint': 123, 'LatestSchemaVersion': 123, 'NextSchemaVersion': 123, 'SchemaStatus': 'AVAILABLE'|'PENDING'|'DELETING', 'CreatedTime': 'string', 'UpdatedTime': 'string' } **Response Structure** * *(dict) --* * **RegistryName** *(string) --* The name of the registry. * **RegistryArn** *(string) --* The Amazon Resource Name (ARN) of the registry. * **SchemaName** *(string) --* The name of the schema. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. * **Description** *(string) --* A description of schema if specified when created * **DataFormat** *(string) --* The data format of the schema definition. Currently "AVRO", "JSON" and "PROTOBUF" are supported. * **Compatibility** *(string) --* The compatibility mode of the schema. * **SchemaCheckpoint** *(integer) --* The version number of the checkpoint (the last time the compatibility mode was changed). * **LatestSchemaVersion** *(integer) --* The latest version of the schema associated with the returned schema definition. * **NextSchemaVersion** *(integer) --* The next version of the schema associated with the returned schema definition. * **SchemaStatus** *(string) --* The status of the schema. * **CreatedTime** *(string) --* The date and time the schema was created. * **UpdatedTime** *(string) --* The date and time the schema was updated. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / batch_get_workflows batch_get_workflows ******************* Glue.Client.batch_get_workflows(**kwargs) Returns a list of resource metadata for a given list of workflow names. After calling the "ListWorkflows" operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. See also: AWS API Documentation **Request Syntax** response = client.batch_get_workflows( Names=[ 'string', ], IncludeGraph=True|False ) Parameters: * **Names** (*list*) -- **[REQUIRED]** A list of workflow names, which may be the names returned from the "ListWorkflows" operation. * *(string) --* * **IncludeGraph** (*boolean*) -- Specifies whether to include a graph when returning the workflow resource metadata. Return type: dict Returns: **Response Syntax** { 'Workflows': [ { 'Name': 'string', 'Description': 'string', 'DefaultRunProperties': { 'string': 'string' }, 'CreatedOn': datetime(2015, 1, 1), 'LastModifiedOn': datetime(2015, 1, 1), 'LastRun': { 'Name': 'string', 'WorkflowRunId': 'string', 'PreviousRunId': 'string', 'WorkflowRunProperties': { 'string': 'string' }, 'StartedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'Status': 'RUNNING'|'COMPLETED'|'STOPPING'|'STOPPED'|'ERROR', 'ErrorMessage': 'string', 'Statistics': { 'TotalActions': 123, 'TimeoutActions': 123, 'FailedActions': 123, 'StoppedActions': 123, 'SucceededActions': 123, 'RunningActions': 123, 'ErroredActions': 123, 'WaitingActions': 123 }, 'Graph': { 'Nodes': [ { 'Type': 'CRAWLER'|'JOB'|'TRIGGER', 'Name': 'string', 'UniqueId': 'string', 'TriggerDetails': { 'Trigger': { 'Name': 'string', 'WorkflowName': 'string', 'Id': 'string', 'Type': 'SCHEDULED'|'CONDITIONAL'|'ON_DEMAND'|'EVENT', 'State': 'CREATING'|'CREATED'|'ACTIVATING'|'ACTIVATED'|'DEACTIVATING'|'DEACTIVATED'|'DELETING'|'UPDATING', 'Description': 'string', 'Schedule': 'string', 'Actions': [ { 'JobName': 'string', 'Arguments': { 'string': 'string' }, 'Timeout': 123, 'SecurityConfiguration': 'string', 'NotificationProperty': { 'NotifyDelayAfter': 123 }, 'CrawlerName': 'string' }, ], 'Predicate': { 'Logical': 'AND'|'ANY', 'Conditions': [ { 'LogicalOperator': 'EQUALS', 'JobName': 'string', 'State': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT'|'ERROR'|'WAITING'|'EXPIRED', 'CrawlerName': 'string', 'CrawlState': 'RUNNING'|'CANCELLING'|'CANCELLED'|'SUCCEEDED'|'FAILED'|'ERROR' }, ] }, 'EventBatchingCondition': { 'BatchSize': 123, 'BatchWindow': 123 } } }, 'JobDetails': { 'JobRuns': [ { 'Id': 'string', 'Attempt': 123, 'PreviousRunId': 'string', 'TriggerName': 'string', 'JobName': 'string', 'JobMode': 'SCRIPT'|'VISUAL'|'NOTEBOOK', 'JobRunQueuingEnabled': True|False, 'StartedOn': datetime(2015, 1, 1), 'LastModifiedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'JobRunState': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT'|'ERROR'|'WAITING'|'EXPIRED', 'Arguments': { 'string': 'string' }, 'ErrorMessage': 'string', 'PredecessorRuns': [ { 'JobName': 'string', 'RunId': 'string' }, ], 'AllocatedCapacity': 123, 'ExecutionTime': 123, 'Timeout': 123, 'MaxCapacity': 123.0, 'WorkerType': 'Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X', 'NumberOfWorkers': 123, 'SecurityConfiguration': 'string', 'LogGroupName': 'string', 'NotificationProperty': { 'NotifyDelayAfter': 123 }, 'GlueVersion': 'string', 'DPUSeconds': 123.0, 'ExecutionClass': 'FLEX'|'STANDARD', 'MaintenanceWindow': 'string', 'ProfileName': 'string', 'StateDetail': 'string', 'ExecutionRoleSessionPolicy': 'string' }, ] }, 'CrawlerDetails': { 'Crawls': [ { 'State': 'RUNNING'|'CANCELLING'|'CANCELLED'|'SUCCEEDED'|'FAILED'|'ERROR', 'StartedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'ErrorMessage': 'string', 'LogGroup': 'string', 'LogStream': 'string' }, ] } }, ], 'Edges': [ { 'SourceId': 'string', 'DestinationId': 'string' }, ] }, 'StartingEventBatchCondition': { 'BatchSize': 123, 'BatchWindow': 123 } }, 'Graph': { 'Nodes': [ { 'Type': 'CRAWLER'|'JOB'|'TRIGGER', 'Name': 'string', 'UniqueId': 'string', 'TriggerDetails': { 'Trigger': { 'Name': 'string', 'WorkflowName': 'string', 'Id': 'string', 'Type': 'SCHEDULED'|'CONDITIONAL'|'ON_DEMAND'|'EVENT', 'State': 'CREATING'|'CREATED'|'ACTIVATING'|'ACTIVATED'|'DEACTIVATING'|'DEACTIVATED'|'DELETING'|'UPDATING', 'Description': 'string', 'Schedule': 'string', 'Actions': [ { 'JobName': 'string', 'Arguments': { 'string': 'string' }, 'Timeout': 123, 'SecurityConfiguration': 'string', 'NotificationProperty': { 'NotifyDelayAfter': 123 }, 'CrawlerName': 'string' }, ], 'Predicate': { 'Logical': 'AND'|'ANY', 'Conditions': [ { 'LogicalOperator': 'EQUALS', 'JobName': 'string', 'State': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT'|'ERROR'|'WAITING'|'EXPIRED', 'CrawlerName': 'string', 'CrawlState': 'RUNNING'|'CANCELLING'|'CANCELLED'|'SUCCEEDED'|'FAILED'|'ERROR' }, ] }, 'EventBatchingCondition': { 'BatchSize': 123, 'BatchWindow': 123 } } }, 'JobDetails': { 'JobRuns': [ { 'Id': 'string', 'Attempt': 123, 'PreviousRunId': 'string', 'TriggerName': 'string', 'JobName': 'string', 'JobMode': 'SCRIPT'|'VISUAL'|'NOTEBOOK', 'JobRunQueuingEnabled': True|False, 'StartedOn': datetime(2015, 1, 1), 'LastModifiedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'JobRunState': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT'|'ERROR'|'WAITING'|'EXPIRED', 'Arguments': { 'string': 'string' }, 'ErrorMessage': 'string', 'PredecessorRuns': [ { 'JobName': 'string', 'RunId': 'string' }, ], 'AllocatedCapacity': 123, 'ExecutionTime': 123, 'Timeout': 123, 'MaxCapacity': 123.0, 'WorkerType': 'Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X', 'NumberOfWorkers': 123, 'SecurityConfiguration': 'string', 'LogGroupName': 'string', 'NotificationProperty': { 'NotifyDelayAfter': 123 }, 'GlueVersion': 'string', 'DPUSeconds': 123.0, 'ExecutionClass': 'FLEX'|'STANDARD', 'MaintenanceWindow': 'string', 'ProfileName': 'string', 'StateDetail': 'string', 'ExecutionRoleSessionPolicy': 'string' }, ] }, 'CrawlerDetails': { 'Crawls': [ { 'State': 'RUNNING'|'CANCELLING'|'CANCELLED'|'SUCCEEDED'|'FAILED'|'ERROR', 'StartedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'ErrorMessage': 'string', 'LogGroup': 'string', 'LogStream': 'string' }, ] } }, ], 'Edges': [ { 'SourceId': 'string', 'DestinationId': 'string' }, ] }, 'MaxConcurrentRuns': 123, 'BlueprintDetails': { 'BlueprintName': 'string', 'RunId': 'string' } }, ], 'MissingWorkflows': [ 'string', ] } **Response Structure** * *(dict) --* * **Workflows** *(list) --* A list of workflow resource metadata. * *(dict) --* A workflow is a collection of multiple dependent Glue jobs and crawlers that are run to complete a complex ETL task. A workflow manages the execution and monitoring of all its jobs and crawlers. * **Name** *(string) --* The name of the workflow. * **Description** *(string) --* A description of the workflow. * **DefaultRunProperties** *(dict) --* A collection of properties to be used as part of each execution of the workflow. The run properties are made available to each job in the workflow. A job can modify the properties for the next jobs in the flow. * *(string) --* * *(string) --* * **CreatedOn** *(datetime) --* The date and time when the workflow was created. * **LastModifiedOn** *(datetime) --* The date and time when the workflow was last modified. * **LastRun** *(dict) --* The information about the last execution of the workflow. * **Name** *(string) --* Name of the workflow that was run. * **WorkflowRunId** *(string) --* The ID of this workflow run. * **PreviousRunId** *(string) --* The ID of the previous workflow run. * **WorkflowRunProperties** *(dict) --* The workflow run properties which were set during the run. * *(string) --* * *(string) --* * **StartedOn** *(datetime) --* The date and time when the workflow run was started. * **CompletedOn** *(datetime) --* The date and time when the workflow run completed. * **Status** *(string) --* The status of the workflow run. * **ErrorMessage** *(string) --* This error message describes any error that may have occurred in starting the workflow run. Currently the only error message is "Concurrent runs exceeded for workflow: "foo"." * **Statistics** *(dict) --* The statistics of the run. * **TotalActions** *(integer) --* Total number of Actions in the workflow run. * **TimeoutActions** *(integer) --* Total number of Actions that timed out. * **FailedActions** *(integer) --* Total number of Actions that have failed. * **StoppedActions** *(integer) --* Total number of Actions that have stopped. * **SucceededActions** *(integer) --* Total number of Actions that have succeeded. * **RunningActions** *(integer) --* Total number Actions in running state. * **ErroredActions** *(integer) --* Indicates the count of job runs in the ERROR state in the workflow run. * **WaitingActions** *(integer) --* Indicates the count of job runs in WAITING state in the workflow run. * **Graph** *(dict) --* The graph representing all the Glue components that belong to the workflow as nodes and directed connections between them as edges. * **Nodes** *(list) --* A list of the the Glue components belong to the workflow represented as nodes. * *(dict) --* A node represents an Glue component (trigger, crawler, or job) on a workflow graph. * **Type** *(string) --* The type of Glue component represented by the node. * **Name** *(string) --* The name of the Glue component represented by the node. * **UniqueId** *(string) --* The unique Id assigned to the node within the workflow. * **TriggerDetails** *(dict) --* Details of the Trigger when the node represents a Trigger. * **Trigger** *(dict) --* The information of the trigger represented by the trigger node. * **Name** *(string) --* The name of the trigger. * **WorkflowName** *(string) --* The name of the workflow associated with the trigger. * **Id** *(string) --* Reserved for future use. * **Type** *(string) --* The type of trigger that this is. * **State** *(string) --* The current state of the trigger. * **Description** *(string) --* A description of this trigger. * **Schedule** *(string) --* A "cron" expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: "cron(15 12 * * ? *)". * **Actions** *(list) --* The actions initiated by this trigger. * *(dict) --* Defines an action to be initiated by a trigger. * **JobName** *(string) --* The name of a job to be run. * **Arguments** *(dict) --* The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job-execution script consumes, as well as arguments that Glue itself consumes. For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide. For information about the key-value pairs that Glue consumes to set up your job, see the Special Parameters Used by Glue topic in the developer guide. * *(string) --* * *(string) --* * **Timeout** *(integer) --* The "JobRun" timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters "TIMEOUT" status. This overrides the timeout value set in the parent job. Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception. When the value is left blank, the timeout is defaulted to 2880 minutes. Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day. For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days. * **SecurityConfiguration** *(string) --* The name of the "SecurityConfiguration" structure to be used with this action. * **NotificationProperty** *(dict) --* Specifies configuration properties of a job run notification. * **NotifyDelayAfter** *(integer) --* After a job run starts, the number of minutes to wait before sending a job run delay notification. * **CrawlerName** *(string) --* The name of the crawler to be used with this action. * **Predicate** *(dict) --* The predicate of this trigger, which defines when it will fire. * **Logical** *(string) --* An optional field if only one condition is listed. If multiple conditions are listed, then this field is required. * **Conditions** *(list) --* A list of the conditions that determine when the trigger will fire. * *(dict) --* Defines a condition under which a trigger fires. * **LogicalOperator** *(string) --* A logical operator. * **JobName** *(string) --* The name of the job whose "JobRuns" this condition applies to, and on which this trigger waits. * **State** *(string) --* The condition state. Currently, the only job states that a trigger can listen for are "SUCCEEDED", "STOPPED", "FAILED", and "TIMEOUT". The only crawler states that a trigger can listen for are "SUCCEEDED", "FAILED", and "CANCELLED". * **CrawlerName** *(string) --* The name of the crawler to which this condition applies. * **CrawlState** *(string) --* The state of the crawler to which this condition applies. * **EventBatchingCondition** *(dict) --* Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires. * **BatchSize** *(integer) --* Number of events that must be received from Amazon EventBridge before EventBridge event trigger fires. * **BatchWindow** *(integer) --* Window of time in seconds after which EventBridge event trigger fires. Window starts when first event is received. * **JobDetails** *(dict) --* Details of the Job when the node represents a Job. * **JobRuns** *(list) --* The information for the job runs represented by the job node. * *(dict) --* Contains information about a job run. * **Id** *(string) --* The ID of this job run. * **Attempt** *(integer) --* The number of the attempt to run this job. * **PreviousRunId** *(string) --* The ID of the previous run of this job. For example, the "JobRunId" specified in the "StartJobRun" action. * **TriggerName** *(string) --* The name of the trigger that started this job run. * **JobName** *(string) --* The name of the job definition being used in this run. * **JobMode** *(string) --* A mode that describes how a job was created. Valid values are: * "SCRIPT" - The job was created using the Glue Studio script editor. * "VISUAL" - The job was created using the Glue Studio visual editor. * "NOTEBOOK" - The job was created using an interactive sessions notebook. When the "JobMode" field is missing or null, "SCRIPT" is assigned as the default value. * **JobRunQueuingEnabled** *(boolean) --* Specifies whether job run queuing is enabled for the job run. A value of true means job run queuing is enabled for the job run. If false or not populated, the job run will not be considered for queueing. * **StartedOn** *(datetime) --* The date and time at which this job run was started. * **LastModifiedOn** *(datetime) --* The last time that this job run was modified. * **CompletedOn** *(datetime) --* The date and time that this job run completed. * **JobRunState** *(string) --* The current state of the job run. For more information about the statuses of jobs that have terminated abnormally, see Glue Job Run Statuses. * **Arguments** *(dict) --* The job arguments associated with this run. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job-execution script consumes, as well as arguments that Glue itself consumes. Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a Glue Connection, Secrets Manager or other secret management mechanism if you intend to keep them within the Job. For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide. For information about the arguments you can provide to this field when configuring Spark jobs, see the Special Parameters Used by Glue topic in the developer guide. For information about the arguments you can provide to this field when configuring Ray jobs, see Using job parameters in Ray jobs in the developer guide. * *(string) --* * *(string) --* * **ErrorMessage** *(string) --* An error message associated with this job run. * **PredecessorRuns** *(list) --* A list of predecessors to this job run. * *(dict) --* A job run that was used in the predicate of a conditional trigger that triggered this job run. * **JobName** *(string) --* The name of the job definition used by the predecessor job run. * **RunId** *(string) --* The job-run ID of the predecessor job run. * **AllocatedCapacity** *(integer) --* This field is deprecated. Use "MaxCapacity" instead. The number of Glue data processing units (DPUs) allocated to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. * **ExecutionTime** *(integer) --* The amount of time (in seconds) that the job run consumed resources. * **Timeout** *(integer) --* The "JobRun" timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters "TIMEOUT" status. This value overrides the timeout value set in the parent job. Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception. When the value is left blank, the timeout is defaulted to 2880 minutes. Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day. For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days. * **MaxCapacity** *(float) --* For Glue version 1.0 or earlier jobs, using the standard worker type, the number of Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. For Glue version 2.0+ jobs, you cannot specify a "Maximum capacity". Instead, you should specify a "Worker type" and the "Number of workers". Do not set "MaxCapacity" if using "WorkerType" and "NumberOfWorkers". The value that can be allocated for "MaxCapacity" depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job: * When you specify a Python shell job ( >>``<>``<>``<< JobCommand.Name``="gluestreaming"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation. * **WorkerType** *(string) --* The type of predefined worker that is allocated when a job runs. Accepts a value of G.1X, G.2X, G.4X, G.8X or G.025X for Spark jobs. Accepts the value Z.2X for Ray jobs. * For the "G.1X" worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs. * For the "G.2X" worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs. * For the "G.4X" worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in the following Amazon Web Services Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm). * For the "G.8X" worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs, in the same Amazon Web Services Regions as supported for the "G.4X" worker type. * For the "G.025X" worker type, each worker maps to 0.25 DPU (2 vCPUs, 4 GB of memory) with 84GB disk, and provides 1 executor per worker. We recommend this worker type for low volume streaming jobs. This worker type is only available for Glue version 3.0 or later streaming jobs. * For the "Z.2X" worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler. * **NumberOfWorkers** *(integer) --* The number of workers of a defined "workerType" that are allocated when a job runs. * **SecurityConfiguration** *(string) --* The name of the "SecurityConfiguration" structure to be used with this job run. * **LogGroupName** *(string) --* The name of the log group for secure logging that can be server-side encrypted in Amazon CloudWatch using KMS. This name can be "/aws-glue/jobs/", in which case the default encryption is "NONE". If you add a role name and "SecurityConfiguration" name (in other words, "/aws-glue/jobs-yourRoleName- yourSecurityConfigurationName/"), then that security configuration is used to encrypt the log group. * **NotificationProperty** *(dict) --* Specifies configuration properties of a job run notification. * **NotifyDelayAfter** *(integer) --* After a job run starts, the number of minutes to wait before sending a job run delay notification. * **GlueVersion** *(string) --* In Spark jobs, "GlueVersion" determines the versions of Apache Spark and Python that Glue available in a job. The Python version indicates the version supported for jobs of type Spark. Ray jobs should set "GlueVersion" to "4.0" or greater. However, the versions of Ray, Python and additional libraries available in your Ray job are determined by the "Runtime" parameter of the Job command. For more information about the available Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide. Jobs that are created without specifying a Glue version default to Glue 0.9. * **DPUSeconds** *(float) --* This field can be set for either job runs with execution class "FLEX" or when Auto Scaling is enabled, and represents the total time each executor ran during the lifecycle of a job run in seconds, multiplied by a DPU factor (1 for "G.1X", 2 for "G.2X", or 0.25 for "G.025X" workers). This value may be different than the "executionEngineRuntime" * "MaxCapacity" as in the case of Auto Scaling jobs, as the number of executors running at a given time may be less than the "MaxCapacity". Therefore, it is possible that the value of "DPUSeconds" is less than "executionEngineRuntime" * "MaxCapacity". * **ExecutionClass** *(string) --* Indicates whether the job is run with a standard or flexible execution class. The standard execution-class is ideal for time-sensitive workloads that require fast job startup and dedicated resources. The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary. Only jobs with Glue version 3.0 and above and command type "glueetl" will be allowed to set "ExecutionClass" to "FLEX". The flexible execution class is available for Spark jobs. * **MaintenanceWindow** *(string) --* This field specifies a day of the week and hour for a maintenance window for streaming jobs. Glue periodically performs maintenance activities. During these maintenance windows, Glue will need to restart your streaming jobs. Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT. * **ProfileName** *(string) --* The name of an Glue usage profile associated with the job run. * **StateDetail** *(string) --* This field holds details that pertain to the state of a job run. The field is nullable. For example, when a job run is in a WAITING state as a result of job run queuing, the field has the reason why the job run is in that state. * **ExecutionRoleSessionPolicy** *(string) --* This inline session policy to the StartJobRun API allows you to dynamically restrict the permissions of the specified execution role for the scope of the job, without requiring the creation of additional IAM roles. * **CrawlerDetails** *(dict) --* Details of the crawler when the node represents a crawler. * **Crawls** *(list) --* A list of crawls represented by the crawl node. * *(dict) --* The details of a crawl in the workflow. * **State** *(string) --* The state of the crawler. * **StartedOn** *(datetime) --* The date and time on which the crawl started. * **CompletedOn** *(datetime) --* The date and time on which the crawl completed. * **ErrorMessage** *(string) --* The error message associated with the crawl. * **LogGroup** *(string) --* The log group associated with the crawl. * **LogStream** *(string) --* The log stream associated with the crawl. * **Edges** *(list) --* A list of all the directed connections between the nodes belonging to the workflow. * *(dict) --* An edge represents a directed connection between two Glue components that are part of the workflow the edge belongs to. * **SourceId** *(string) --* The unique of the node within the workflow where the edge starts. * **DestinationId** *(string) --* The unique of the node within the workflow where the edge ends. * **StartingEventBatchCondition** *(dict) --* The batch condition that started the workflow run. * **BatchSize** *(integer) --* Number of events in the batch. * **BatchWindow** *(integer) --* Duration of the batch window in seconds. * **Graph** *(dict) --* The graph representing all the Glue components that belong to the workflow as nodes and directed connections between them as edges. * **Nodes** *(list) --* A list of the the Glue components belong to the workflow represented as nodes. * *(dict) --* A node represents an Glue component (trigger, crawler, or job) on a workflow graph. * **Type** *(string) --* The type of Glue component represented by the node. * **Name** *(string) --* The name of the Glue component represented by the node. * **UniqueId** *(string) --* The unique Id assigned to the node within the workflow. * **TriggerDetails** *(dict) --* Details of the Trigger when the node represents a Trigger. * **Trigger** *(dict) --* The information of the trigger represented by the trigger node. * **Name** *(string) --* The name of the trigger. * **WorkflowName** *(string) --* The name of the workflow associated with the trigger. * **Id** *(string) --* Reserved for future use. * **Type** *(string) --* The type of trigger that this is. * **State** *(string) --* The current state of the trigger. * **Description** *(string) --* A description of this trigger. * **Schedule** *(string) --* A "cron" expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: "cron(15 12 * * ? *)". * **Actions** *(list) --* The actions initiated by this trigger. * *(dict) --* Defines an action to be initiated by a trigger. * **JobName** *(string) --* The name of a job to be run. * **Arguments** *(dict) --* The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job-execution script consumes, as well as arguments that Glue itself consumes. For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide. For information about the key-value pairs that Glue consumes to set up your job, see the Special Parameters Used by Glue topic in the developer guide. * *(string) --* * *(string) --* * **Timeout** *(integer) --* The "JobRun" timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters "TIMEOUT" status. This overrides the timeout value set in the parent job. Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception. When the value is left blank, the timeout is defaulted to 2880 minutes. Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day. For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days. * **SecurityConfiguration** *(string) --* The name of the "SecurityConfiguration" structure to be used with this action. * **NotificationProperty** *(dict) --* Specifies configuration properties of a job run notification. * **NotifyDelayAfter** *(integer) --* After a job run starts, the number of minutes to wait before sending a job run delay notification. * **CrawlerName** *(string) --* The name of the crawler to be used with this action. * **Predicate** *(dict) --* The predicate of this trigger, which defines when it will fire. * **Logical** *(string) --* An optional field if only one condition is listed. If multiple conditions are listed, then this field is required. * **Conditions** *(list) --* A list of the conditions that determine when the trigger will fire. * *(dict) --* Defines a condition under which a trigger fires. * **LogicalOperator** *(string) --* A logical operator. * **JobName** *(string) --* The name of the job whose "JobRuns" this condition applies to, and on which this trigger waits. * **State** *(string) --* The condition state. Currently, the only job states that a trigger can listen for are "SUCCEEDED", "STOPPED", "FAILED", and "TIMEOUT". The only crawler states that a trigger can listen for are "SUCCEEDED", "FAILED", and "CANCELLED". * **CrawlerName** *(string) --* The name of the crawler to which this condition applies. * **CrawlState** *(string) --* The state of the crawler to which this condition applies. * **EventBatchingCondition** *(dict) --* Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires. * **BatchSize** *(integer) --* Number of events that must be received from Amazon EventBridge before EventBridge event trigger fires. * **BatchWindow** *(integer) --* Window of time in seconds after which EventBridge event trigger fires. Window starts when first event is received. * **JobDetails** *(dict) --* Details of the Job when the node represents a Job. * **JobRuns** *(list) --* The information for the job runs represented by the job node. * *(dict) --* Contains information about a job run. * **Id** *(string) --* The ID of this job run. * **Attempt** *(integer) --* The number of the attempt to run this job. * **PreviousRunId** *(string) --* The ID of the previous run of this job. For example, the "JobRunId" specified in the "StartJobRun" action. * **TriggerName** *(string) --* The name of the trigger that started this job run. * **JobName** *(string) --* The name of the job definition being used in this run. * **JobMode** *(string) --* A mode that describes how a job was created. Valid values are: * "SCRIPT" - The job was created using the Glue Studio script editor. * "VISUAL" - The job was created using the Glue Studio visual editor. * "NOTEBOOK" - The job was created using an interactive sessions notebook. When the "JobMode" field is missing or null, "SCRIPT" is assigned as the default value. * **JobRunQueuingEnabled** *(boolean) --* Specifies whether job run queuing is enabled for the job run. A value of true means job run queuing is enabled for the job run. If false or not populated, the job run will not be considered for queueing. * **StartedOn** *(datetime) --* The date and time at which this job run was started. * **LastModifiedOn** *(datetime) --* The last time that this job run was modified. * **CompletedOn** *(datetime) --* The date and time that this job run completed. * **JobRunState** *(string) --* The current state of the job run. For more information about the statuses of jobs that have terminated abnormally, see Glue Job Run Statuses. * **Arguments** *(dict) --* The job arguments associated with this run. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job-execution script consumes, as well as arguments that Glue itself consumes. Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a Glue Connection, Secrets Manager or other secret management mechanism if you intend to keep them within the Job. For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide. For information about the arguments you can provide to this field when configuring Spark jobs, see the Special Parameters Used by Glue topic in the developer guide. For information about the arguments you can provide to this field when configuring Ray jobs, see Using job parameters in Ray jobs in the developer guide. * *(string) --* * *(string) --* * **ErrorMessage** *(string) --* An error message associated with this job run. * **PredecessorRuns** *(list) --* A list of predecessors to this job run. * *(dict) --* A job run that was used in the predicate of a conditional trigger that triggered this job run. * **JobName** *(string) --* The name of the job definition used by the predecessor job run. * **RunId** *(string) --* The job-run ID of the predecessor job run. * **AllocatedCapacity** *(integer) --* This field is deprecated. Use "MaxCapacity" instead. The number of Glue data processing units (DPUs) allocated to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. * **ExecutionTime** *(integer) --* The amount of time (in seconds) that the job run consumed resources. * **Timeout** *(integer) --* The "JobRun" timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters "TIMEOUT" status. This value overrides the timeout value set in the parent job. Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception. When the value is left blank, the timeout is defaulted to 2880 minutes. Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day. For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days. * **MaxCapacity** *(float) --* For Glue version 1.0 or earlier jobs, using the standard worker type, the number of Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. For Glue version 2.0+ jobs, you cannot specify a "Maximum capacity". Instead, you should specify a "Worker type" and the "Number of workers". Do not set "MaxCapacity" if using "WorkerType" and "NumberOfWorkers". The value that can be allocated for "MaxCapacity" depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job: * When you specify a Python shell job ( >>``<>``<>``< Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true. Example: (a < > b) is true. > Checks whether the value of the left operand is greater than the value of the right operand; if yes, then the condition becomes true. Example: (a > b) is not true. < Checks whether the value of the left operand is less than the value of the right operand; if yes, then the condition becomes true. Example: (a < b) is true. >= Checks whether the value of the left operand is greater than or equal to the value of the right operand; if yes, then the condition becomes true. Example: (a >= b) is not true. <= Checks whether the value of the left operand is less than or equal to the value of the right operand; if yes, then the condition becomes true. Example: (a <= b) is true. AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL Logical operators. *Supported Partition Key Types*: The following are the supported partition keys. * "string" * "date" * "timestamp" * "int" * "bigint" * "long" * "tinyint" * "smallint" * "decimal" If an type is encountered that is not valid, an exception is thrown. The following list shows the valid operators on each type. When you define a crawler, the "partitionKey" type is created as a "STRING", to be compatible with the catalog partitions. *Sample API Call*: * **NextToken** (*string*) -- A continuation token, if this is not the first call to retrieve these partitions. * **Segment** (*dict*) -- The segment of the table's partitions to scan in this request. * **SegmentNumber** *(integer) --* **[REQUIRED]** The zero-based index number of the segment. For example, if the total number of segments is 4, "SegmentNumber" values range from 0 through 3. * **TotalSegments** *(integer) --* **[REQUIRED]** The total number of segments. * **MaxResults** (*integer*) -- The maximum number of partitions to return in a single response. * **ExcludeColumnSchema** (*boolean*) -- When true, specifies not returning the partition column schema. Useful when you are interested only in other partition attributes such as partition values or location. This approach avoids the problem of a large response by not returning duplicate data. * **TransactionId** (*string*) -- The transaction ID at which to read the partition contents. * **QueryAsOfTime** (*datetime*) -- The time as of when to read the partition contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with "TransactionId". Return type: dict Returns: **Response Syntax** { 'Partitions': [ { 'Values': [ 'string', ], 'DatabaseName': 'string', 'TableName': 'string', 'CreationTime': datetime(2015, 1, 1), 'LastAccessTime': datetime(2015, 1, 1), 'StorageDescriptor': { 'Columns': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'Location': 'string', 'AdditionalLocations': [ 'string', ], 'InputFormat': 'string', 'OutputFormat': 'string', 'Compressed': True|False, 'NumberOfBuckets': 123, 'SerdeInfo': { 'Name': 'string', 'SerializationLibrary': 'string', 'Parameters': { 'string': 'string' } }, 'BucketColumns': [ 'string', ], 'SortColumns': [ { 'Column': 'string', 'SortOrder': 123 }, ], 'Parameters': { 'string': 'string' }, 'SkewedInfo': { 'SkewedColumnNames': [ 'string', ], 'SkewedColumnValues': [ 'string', ], 'SkewedColumnValueLocationMaps': { 'string': 'string' } }, 'StoredAsSubDirectories': True|False, 'SchemaReference': { 'SchemaId': { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionNumber': 123 } }, 'Parameters': { 'string': 'string' }, 'LastAnalyzedTime': datetime(2015, 1, 1), 'CatalogId': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Partitions** *(list) --* A list of requested partitions. * *(dict) --* Represents a slice of table data. * **Values** *(list) --* The values of the partition. * *(string) --* * **DatabaseName** *(string) --* The name of the catalog database in which to create the partition. * **TableName** *(string) --* The name of the database table in which to create the partition. * **CreationTime** *(datetime) --* The time at which the partition was created. * **LastAccessTime** *(datetime) --* The last time at which the partition was accessed. * **StorageDescriptor** *(dict) --* Provides information about the physical location where the partition is stored. * **Columns** *(list) --* A list of the "Columns" in the table. * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **Location** *(string) --* The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * **AdditionalLocations** *(list) --* A list of locations that point to the path where a Delta table is located. * *(string) --* * **InputFormat** *(string) --* The input format: "SequenceFileInputFormat" (binary), or "TextInputFormat", or a custom format. * **OutputFormat** *(string) --* The output format: "SequenceFileOutputFormat" (binary), or "IgnoreKeyTextOutputFormat", or a custom format. * **Compressed** *(boolean) --* "True" if the data in the table is compressed, or "False" if not. * **NumberOfBuckets** *(integer) --* Must be specified if the table contains any dimension columns. * **SerdeInfo** *(dict) --* The serialization/deserialization (SerDe) information. * **Name** *(string) --* Name of the SerDe. * **SerializationLibrary** *(string) --* Usually the class that implements the SerDe. An example is "org.apache.hadoop.hive.serde2.columnar. ColumnarSerDe". * **Parameters** *(dict) --* These key-value pairs define initialization parameters for the SerDe. * *(string) --* * *(string) --* * **BucketColumns** *(list) --* A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * *(string) --* * **SortColumns** *(list) --* A list specifying the sort order of each bucket in the table. * *(dict) --* Specifies the sort order of a sorted column. * **Column** *(string) --* The name of the column. * **SortOrder** *(integer) --* Indicates that the column is sorted in ascending order ( "== 1"), or in descending order ( "==0"). * **Parameters** *(dict) --* The user-supplied properties in key-value form. * *(string) --* * *(string) --* * **SkewedInfo** *(dict) --* The information about values that appear frequently in a column (skewed values). * **SkewedColumnNames** *(list) --* A list of names of columns that contain skewed values. * *(string) --* * **SkewedColumnValues** *(list) --* A list of values that appear so frequently as to be considered skewed. * *(string) --* * **SkewedColumnValueLocationMaps** *(dict) --* A mapping of skewed values to the columns that contain them. * *(string) --* * *(string) --* * **StoredAsSubDirectories** *(boolean) --* "True" if the table data is stored in subdirectories, or "False" if not. * **SchemaReference** *(dict) --* An object that references a schema stored in the Glue Schema Registry. When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference. * **SchemaId** *(dict) --* A structure that contains schema identity fields. Either this or the "SchemaVersionId" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionId** *(string) --* The unique ID assigned to a version of the schema. Either this or the "SchemaId" has to be provided. * **SchemaVersionNumber** *(integer) --* The version number of the schema. * **Parameters** *(dict) --* These key-value pairs define partition parameters. * *(string) --* * *(string) --* * **LastAnalyzedTime** *(datetime) --* The last time at which column statistics were computed for this partition. * **CatalogId** *(string) --* The ID of the Data Catalog in which the partition resides. * **NextToken** *(string) --* A continuation token, if the returned list of partitions does not include the last one. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.GlueEncryptionException" * "Glue.Client.exceptions.InvalidStateException" * "Glue.Client.exceptions.ResourceNotReadyException" * "Glue.Client.exceptions.FederationSourceException" * "Glue.Client.exceptions.FederationSourceRetryableException" Glue / Client / list_data_quality_results list_data_quality_results ************************* Glue.Client.list_data_quality_results(**kwargs) Returns all data quality execution results for your account. See also: AWS API Documentation **Request Syntax** response = client.list_data_quality_results( Filter={ 'DataSource': { 'GlueTable': { 'DatabaseName': 'string', 'TableName': 'string', 'CatalogId': 'string', 'ConnectionName': 'string', 'AdditionalOptions': { 'string': 'string' } } }, 'JobName': 'string', 'JobRunId': 'string', 'StartedAfter': datetime(2015, 1, 1), 'StartedBefore': datetime(2015, 1, 1) }, NextToken='string', MaxResults=123 ) Parameters: * **Filter** (*dict*) -- The filter criteria. * **DataSource** *(dict) --* Filter results by the specified data source. For example, retrieving all results for an Glue table. * **GlueTable** *(dict) --* **[REQUIRED]** An Glue table. * **DatabaseName** *(string) --* **[REQUIRED]** A database name in the Glue Data Catalog. * **TableName** *(string) --* **[REQUIRED]** A table name in the Glue Data Catalog. * **CatalogId** *(string) --* A unique identifier for the Glue Data Catalog. * **ConnectionName** *(string) --* The name of the connection to the Glue Data Catalog. * **AdditionalOptions** *(dict) --* Additional options for the table. Currently there are two keys supported: * "pushDownPredicate": to filter on partitions without having to list and read all the files in your dataset. * "catalogPartitionPredicate": to use server-side partition pruning using partition indexes in the Glue Data Catalog. * *(string) --* * *(string) --* * **JobName** *(string) --* Filter results by the specified job name. * **JobRunId** *(string) --* Filter results by the specified job run ID. * **StartedAfter** *(datetime) --* Filter results by runs that started after this time. * **StartedBefore** *(datetime) --* Filter results by runs that started before this time. * **NextToken** (*string*) -- A paginated token to offset the results. * **MaxResults** (*integer*) -- The maximum number of results to return. Return type: dict Returns: **Response Syntax** { 'Results': [ { 'ResultId': 'string', 'DataSource': { 'GlueTable': { 'DatabaseName': 'string', 'TableName': 'string', 'CatalogId': 'string', 'ConnectionName': 'string', 'AdditionalOptions': { 'string': 'string' } } }, 'JobName': 'string', 'JobRunId': 'string', 'StartedOn': datetime(2015, 1, 1) }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Results** *(list) --* A list of "DataQualityResultDescription" objects. * *(dict) --* Describes a data quality result. * **ResultId** *(string) --* The unique result ID for this data quality result. * **DataSource** *(dict) --* The table name associated with the data quality result. * **GlueTable** *(dict) --* An Glue table. * **DatabaseName** *(string) --* A database name in the Glue Data Catalog. * **TableName** *(string) --* A table name in the Glue Data Catalog. * **CatalogId** *(string) --* A unique identifier for the Glue Data Catalog. * **ConnectionName** *(string) --* The name of the connection to the Glue Data Catalog. * **AdditionalOptions** *(dict) --* Additional options for the table. Currently there are two keys supported: * "pushDownPredicate": to filter on partitions without having to list and read all the files in your dataset. * "catalogPartitionPredicate": to use server-side partition pruning using partition indexes in the Glue Data Catalog. * *(string) --* * *(string) --* * **JobName** *(string) --* The job name associated with the data quality result. * **JobRunId** *(string) --* The job run ID associated with the data quality result. * **StartedOn** *(datetime) --* The time that the run started for this data quality result. * **NextToken** *(string) --* A pagination token, if more results are available. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / delete_crawler delete_crawler ************** Glue.Client.delete_crawler(**kwargs) Removes a specified crawler from the Glue Data Catalog, unless the crawler state is "RUNNING". See also: AWS API Documentation **Request Syntax** response = client.delete_crawler( Name='string' ) Parameters: **Name** (*string*) -- **[REQUIRED]** The name of the crawler to remove. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.CrawlerRunningException" * "Glue.Client.exceptions.SchedulerTransitioningException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / get_blueprint_run get_blueprint_run ***************** Glue.Client.get_blueprint_run(**kwargs) Retrieves the details of a blueprint run. See also: AWS API Documentation **Request Syntax** response = client.get_blueprint_run( BlueprintName='string', RunId='string' ) Parameters: * **BlueprintName** (*string*) -- **[REQUIRED]** The name of the blueprint. * **RunId** (*string*) -- **[REQUIRED]** The run ID for the blueprint run you want to retrieve. Return type: dict Returns: **Response Syntax** { 'BlueprintRun': { 'BlueprintName': 'string', 'RunId': 'string', 'WorkflowName': 'string', 'State': 'RUNNING'|'SUCCEEDED'|'FAILED'|'ROLLING_BACK', 'StartedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'ErrorMessage': 'string', 'RollbackErrorMessage': 'string', 'Parameters': 'string', 'RoleArn': 'string' } } **Response Structure** * *(dict) --* * **BlueprintRun** *(dict) --* Returns a "BlueprintRun" object. * **BlueprintName** *(string) --* The name of the blueprint. * **RunId** *(string) --* The run ID for this blueprint run. * **WorkflowName** *(string) --* The name of a workflow that is created as a result of a successful blueprint run. If a blueprint run has an error, there will not be a workflow created. * **State** *(string) --* The state of the blueprint run. Possible values are: * Running — The blueprint run is in progress. * Succeeded — The blueprint run completed successfully. * Failed — The blueprint run failed and rollback is complete. * Rolling Back — The blueprint run failed and rollback is in progress. * **StartedOn** *(datetime) --* The date and time that the blueprint run started. * **CompletedOn** *(datetime) --* The date and time that the blueprint run completed. * **ErrorMessage** *(string) --* Indicates any errors that are seen while running the blueprint. * **RollbackErrorMessage** *(string) --* If there are any errors while creating the entities of a workflow, we try to roll back the created entities until that point and delete them. This attribute indicates the errors seen while trying to delete the entities that are created. * **Parameters** *(string) --* The blueprint parameters as a string. You will have to provide a value for each key that is required from the parameter spec that is defined in the "Blueprint$ParameterSpec". * **RoleArn** *(string) --* The role ARN. This role will be assumed by the Glue service and will be used to create the workflow and other entities of a workflow. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / update_column_statistics_for_table update_column_statistics_for_table ********************************** Glue.Client.update_column_statistics_for_table(**kwargs) Creates or updates table statistics of columns. The Identity and Access Management (IAM) permission required for this operation is "UpdateTable". See also: AWS API Documentation **Request Syntax** response = client.update_column_statistics_for_table( CatalogId='string', DatabaseName='string', TableName='string', ColumnStatisticsList=[ { 'ColumnName': 'string', 'ColumnType': 'string', 'AnalyzedTime': datetime(2015, 1, 1), 'StatisticsData': { 'Type': 'BOOLEAN'|'DATE'|'DECIMAL'|'DOUBLE'|'LONG'|'STRING'|'BINARY', 'BooleanColumnStatisticsData': { 'NumberOfTrues': 123, 'NumberOfFalses': 123, 'NumberOfNulls': 123 }, 'DateColumnStatisticsData': { 'MinimumValue': datetime(2015, 1, 1), 'MaximumValue': datetime(2015, 1, 1), 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'DecimalColumnStatisticsData': { 'MinimumValue': { 'UnscaledValue': b'bytes', 'Scale': 123 }, 'MaximumValue': { 'UnscaledValue': b'bytes', 'Scale': 123 }, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'DoubleColumnStatisticsData': { 'MinimumValue': 123.0, 'MaximumValue': 123.0, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'LongColumnStatisticsData': { 'MinimumValue': 123, 'MaximumValue': 123, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'StringColumnStatisticsData': { 'MaximumLength': 123, 'AverageLength': 123.0, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'BinaryColumnStatisticsData': { 'MaximumLength': 123, 'AverageLength': 123.0, 'NumberOfNulls': 123 } } }, ] ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the partitions in question reside. If none is supplied, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the catalog database where the partitions reside. * **TableName** (*string*) -- **[REQUIRED]** The name of the partitions' table. * **ColumnStatisticsList** (*list*) -- **[REQUIRED]** A list of the column statistics. * *(dict) --* Represents the generated column-level statistics for a table or partition. * **ColumnName** *(string) --* **[REQUIRED]** Name of column which statistics belong to. * **ColumnType** *(string) --* **[REQUIRED]** The data type of the column. * **AnalyzedTime** *(datetime) --* **[REQUIRED]** The timestamp of when column statistics were generated. * **StatisticsData** *(dict) --* **[REQUIRED]** A "ColumnStatisticData" object that contains the statistics data values. * **Type** *(string) --* **[REQUIRED]** The type of column statistics data. * **BooleanColumnStatisticsData** *(dict) --* Boolean column statistics data. * **NumberOfTrues** *(integer) --* **[REQUIRED]** The number of true values in the column. * **NumberOfFalses** *(integer) --* **[REQUIRED]** The number of false values in the column. * **NumberOfNulls** *(integer) --* **[REQUIRED]** The number of null values in the column. * **DateColumnStatisticsData** *(dict) --* Date column statistics data. * **MinimumValue** *(datetime) --* The lowest value in the column. * **MaximumValue** *(datetime) --* The highest value in the column. * **NumberOfNulls** *(integer) --* **[REQUIRED]** The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* **[REQUIRED]** The number of distinct values in a column. * **DecimalColumnStatisticsData** *(dict) --* Decimal column statistics data. UnscaledValues within are Base64-encoded binary objects storing big-endian, two's complement representations of the decimal's unscaled value. * **MinimumValue** *(dict) --* The lowest value in the column. * **UnscaledValue** *(bytes) --* **[REQUIRED]** The unscaled numeric value. * **Scale** *(integer) --* **[REQUIRED]** The scale that determines where the decimal point falls in the unscaled value. * **MaximumValue** *(dict) --* The highest value in the column. * **UnscaledValue** *(bytes) --* **[REQUIRED]** The unscaled numeric value. * **Scale** *(integer) --* **[REQUIRED]** The scale that determines where the decimal point falls in the unscaled value. * **NumberOfNulls** *(integer) --* **[REQUIRED]** The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* **[REQUIRED]** The number of distinct values in a column. * **DoubleColumnStatisticsData** *(dict) --* Double column statistics data. * **MinimumValue** *(float) --* The lowest value in the column. * **MaximumValue** *(float) --* The highest value in the column. * **NumberOfNulls** *(integer) --* **[REQUIRED]** The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* **[REQUIRED]** The number of distinct values in a column. * **LongColumnStatisticsData** *(dict) --* Long column statistics data. * **MinimumValue** *(integer) --* The lowest value in the column. * **MaximumValue** *(integer) --* The highest value in the column. * **NumberOfNulls** *(integer) --* **[REQUIRED]** The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* **[REQUIRED]** The number of distinct values in a column. * **StringColumnStatisticsData** *(dict) --* String column statistics data. * **MaximumLength** *(integer) --* **[REQUIRED]** The size of the longest string in the column. * **AverageLength** *(float) --* **[REQUIRED]** The average string length in the column. * **NumberOfNulls** *(integer) --* **[REQUIRED]** The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* **[REQUIRED]** The number of distinct values in a column. * **BinaryColumnStatisticsData** *(dict) --* Binary column statistics data. * **MaximumLength** *(integer) --* **[REQUIRED]** The size of the longest bit sequence in the column. * **AverageLength** *(float) --* **[REQUIRED]** The average bit sequence length in the column. * **NumberOfNulls** *(integer) --* **[REQUIRED]** The number of null values in the column. Return type: dict Returns: **Response Syntax** { 'Errors': [ { 'ColumnStatistics': { 'ColumnName': 'string', 'ColumnType': 'string', 'AnalyzedTime': datetime(2015, 1, 1), 'StatisticsData': { 'Type': 'BOOLEAN'|'DATE'|'DECIMAL'|'DOUBLE'|'LONG'|'STRING'|'BINARY', 'BooleanColumnStatisticsData': { 'NumberOfTrues': 123, 'NumberOfFalses': 123, 'NumberOfNulls': 123 }, 'DateColumnStatisticsData': { 'MinimumValue': datetime(2015, 1, 1), 'MaximumValue': datetime(2015, 1, 1), 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'DecimalColumnStatisticsData': { 'MinimumValue': { 'UnscaledValue': b'bytes', 'Scale': 123 }, 'MaximumValue': { 'UnscaledValue': b'bytes', 'Scale': 123 }, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'DoubleColumnStatisticsData': { 'MinimumValue': 123.0, 'MaximumValue': 123.0, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'LongColumnStatisticsData': { 'MinimumValue': 123, 'MaximumValue': 123, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'StringColumnStatisticsData': { 'MaximumLength': 123, 'AverageLength': 123.0, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'BinaryColumnStatisticsData': { 'MaximumLength': 123, 'AverageLength': 123.0, 'NumberOfNulls': 123 } } }, 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } **Response Structure** * *(dict) --* * **Errors** *(list) --* List of ColumnStatisticsErrors. * *(dict) --* Encapsulates a "ColumnStatistics" object that failed and the reason for failure. * **ColumnStatistics** *(dict) --* The "ColumnStatistics" of the column. * **ColumnName** *(string) --* Name of column which statistics belong to. * **ColumnType** *(string) --* The data type of the column. * **AnalyzedTime** *(datetime) --* The timestamp of when column statistics were generated. * **StatisticsData** *(dict) --* A "ColumnStatisticData" object that contains the statistics data values. * **Type** *(string) --* The type of column statistics data. * **BooleanColumnStatisticsData** *(dict) --* Boolean column statistics data. * **NumberOfTrues** *(integer) --* The number of true values in the column. * **NumberOfFalses** *(integer) --* The number of false values in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **DateColumnStatisticsData** *(dict) --* Date column statistics data. * **MinimumValue** *(datetime) --* The lowest value in the column. * **MaximumValue** *(datetime) --* The highest value in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **DecimalColumnStatisticsData** *(dict) --* Decimal column statistics data. UnscaledValues within are Base64-encoded binary objects storing big-endian, two's complement representations of the decimal's unscaled value. * **MinimumValue** *(dict) --* The lowest value in the column. * **UnscaledValue** *(bytes) --* The unscaled numeric value. * **Scale** *(integer) --* The scale that determines where the decimal point falls in the unscaled value. * **MaximumValue** *(dict) --* The highest value in the column. * **UnscaledValue** *(bytes) --* The unscaled numeric value. * **Scale** *(integer) --* The scale that determines where the decimal point falls in the unscaled value. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **DoubleColumnStatisticsData** *(dict) --* Double column statistics data. * **MinimumValue** *(float) --* The lowest value in the column. * **MaximumValue** *(float) --* The highest value in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **LongColumnStatisticsData** *(dict) --* Long column statistics data. * **MinimumValue** *(integer) --* The lowest value in the column. * **MaximumValue** *(integer) --* The highest value in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **StringColumnStatisticsData** *(dict) --* String column statistics data. * **MaximumLength** *(integer) --* The size of the longest string in the column. * **AverageLength** *(float) --* The average string length in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **BinaryColumnStatisticsData** *(dict) --* Binary column statistics data. * **MaximumLength** *(integer) --* The size of the longest bit sequence in the column. * **AverageLength** *(float) --* The average bit sequence length in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **Error** *(dict) --* An error message with the reason for the failure of an operation. * **ErrorCode** *(string) --* The code associated with this error. * **ErrorMessage** *(string) --* A message describing the error. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / create_connection create_connection ***************** Glue.Client.create_connection(**kwargs) Creates a connection definition in the Data Catalog. Connections used for creating federated resources require the IAM "glue:PassConnection" permission. See also: AWS API Documentation **Request Syntax** response = client.create_connection( CatalogId='string', ConnectionInput={ 'Name': 'string', 'Description': 'string', 'ConnectionType': 'JDBC'|'SFTP'|'MONGODB'|'KAFKA'|'NETWORK'|'MARKETPLACE'|'CUSTOM'|'SALESFORCE'|'VIEW_VALIDATION_REDSHIFT'|'VIEW_VALIDATION_ATHENA'|'GOOGLEADS'|'GOOGLESHEETS'|'GOOGLEANALYTICS4'|'SERVICENOW'|'MARKETO'|'SAPODATA'|'ZENDESK'|'JIRACLOUD'|'NETSUITEERP'|'HUBSPOT'|'FACEBOOKADS'|'INSTAGRAMADS'|'ZOHOCRM'|'SALESFORCEPARDOT'|'SALESFORCEMARKETINGCLOUD'|'SLACK'|'STRIPE'|'INTERCOM'|'SNAPCHATADS', 'MatchCriteria': [ 'string', ], 'ConnectionProperties': { 'string': 'string' }, 'SparkProperties': { 'string': 'string' }, 'AthenaProperties': { 'string': 'string' }, 'PythonProperties': { 'string': 'string' }, 'PhysicalConnectionRequirements': { 'SubnetId': 'string', 'SecurityGroupIdList': [ 'string', ], 'AvailabilityZone': 'string' }, 'AuthenticationConfiguration': { 'AuthenticationType': 'BASIC'|'OAUTH2'|'CUSTOM'|'IAM', 'OAuth2Properties': { 'OAuth2GrantType': 'AUTHORIZATION_CODE'|'CLIENT_CREDENTIALS'|'JWT_BEARER', 'OAuth2ClientApplication': { 'UserManagedClientApplicationClientId': 'string', 'AWSManagedClientApplicationReference': 'string' }, 'TokenUrl': 'string', 'TokenUrlParametersMap': { 'string': 'string' }, 'AuthorizationCodeProperties': { 'AuthorizationCode': 'string', 'RedirectUri': 'string' }, 'OAuth2Credentials': { 'UserManagedClientApplicationClientSecret': 'string', 'AccessToken': 'string', 'RefreshToken': 'string', 'JwtToken': 'string' } }, 'SecretArn': 'string', 'KmsKeyArn': 'string', 'BasicAuthenticationCredentials': { 'Username': 'string', 'Password': 'string' }, 'CustomAuthenticationCredentials': { 'string': 'string' } }, 'ValidateCredentials': True|False, 'ValidateForComputeEnvironments': [ 'SPARK'|'ATHENA'|'PYTHON', ] }, Tags={ 'string': 'string' } ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog in which to create the connection. If none is provided, the Amazon Web Services account ID is used by default. * **ConnectionInput** (*dict*) -- **[REQUIRED]** A "ConnectionInput" object defining the connection to create. * **Name** *(string) --* **[REQUIRED]** The name of the connection. * **Description** *(string) --* The description of the connection. * **ConnectionType** *(string) --* **[REQUIRED]** The type of the connection. Currently, these types are supported: * "JDBC" - Designates a connection to a database through Java Database Connectivity (JDBC). "JDBC" Connections use the following ConnectionParameters. * Required: All of ( "HOST", "PORT", "JDBC_ENGINE") or "JDBC_CONNECTION_URL". * Required: All of ( "USERNAME", "PASSWORD") or "SECRET_ID". * Optional: "JDBC_ENFORCE_SSL", "CUSTOM_JDBC_CERT", "CUSTOM_JDBC_CERT_STRING", "SKIP_CUSTOM_JDBC_CERT_VALIDATION". These parameters are used to configure SSL with JDBC. * "KAFKA" - Designates a connection to an Apache Kafka streaming platform. "KAFKA" Connections use the following ConnectionParameters. * Required: "KAFKA_BOOTSTRAP_SERVERS". * Optional: "KAFKA_SSL_ENABLED", "KAFKA_CUSTOM_CERT", "KAFKA_SKIP_CUSTOM_CERT_VALIDATION". These parameters are used to configure SSL with "KAFKA". * Optional: "KAFKA_CLIENT_KEYSTORE", "KAFKA_CLIENT_KEYSTORE_PASSWORD", "KAFKA_CLIENT_KEY_PASSWORD", "ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD", "ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD". These parameters are used to configure TLS client configuration with SSL in "KAFKA". * Optional: "KAFKA_SASL_MECHANISM". Can be specified as "SCRAM-SHA-512", "GSSAPI", or "AWS_MSK_IAM". * Optional: "KAFKA_SASL_SCRAM_USERNAME", "KAFKA_SASL_SCRAM_PASSWORD", "ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD". These parameters are used to configure SASL/SCRAM-SHA-512 authentication with "KAFKA". * Optional: "KAFKA_SASL_GSSAPI_KEYTAB", "KAFKA_SASL_GSSAPI_KRB5_CONF", "KAFKA_SASL_GSSAPI_SERVICE", "KAFKA_SASL_GSSAPI_PRINCIPAL". These parameters are used to configure SASL/GSSAPI authentication with "KAFKA". * "MONGODB" - Designates a connection to a MongoDB document database. "MONGODB" Connections use the following ConnectionParameters. * Required: "CONNECTION_URL". * Required: All of ( "USERNAME", "PASSWORD") or "SECRET_ID". * "VIEW_VALIDATION_REDSHIFT" - Designates a connection used for view validation by Amazon Redshift. * "VIEW_VALIDATION_ATHENA" - Designates a connection used for view validation by Amazon Athena. * "NETWORK" - Designates a network connection to a data source within an Amazon Virtual Private Cloud environment (Amazon VPC). "NETWORK" Connections do not require ConnectionParameters. Instead, provide a PhysicalConnectionRequirements. * "MARKETPLACE" - Uses configuration settings contained in a connector purchased from Amazon Web Services Marketplace to read from and write to data stores that are not natively supported by Glue. "MARKETPLACE" Connections use the following ConnectionParameters. * Required: "CONNECTOR_TYPE", "CONNECTOR_URL", "CONNECTOR_CLASS_NAME", "CONNECTION_URL". * Required for "JDBC" "CONNECTOR_TYPE" connections: All of ( "USERNAME", "PASSWORD") or "SECRET_ID". * "CUSTOM" - Uses configuration settings contained in a custom connector to read from and write to data stores that are not natively supported by Glue. Additionally, a "ConnectionType" for the following SaaS connectors is supported: * "FACEBOOKADS" - Designates a connection to Facebook Ads. * "GOOGLEADS" - Designates a connection to Google Ads. * "GOOGLESHEETS" - Designates a connection to Google Sheets. * "GOOGLEANALYTICS4" - Designates a connection to Google Analytics 4. * "HUBSPOT" - Designates a connection to HubSpot. * "INSTAGRAMADS" - Designates a connection to Instagram Ads. * "INTERCOM" - Designates a connection to Intercom. * "JIRACLOUD" - Designates a connection to Jira Cloud. * "MARKETO" - Designates a connection to Adobe Marketo Engage. * "NETSUITEERP" - Designates a connection to Oracle NetSuite. * "SALESFORCE" - Designates a connection to Salesforce using OAuth authentication. * "SALESFORCEMARKETINGCLOUD" - Designates a connection to Salesforce Marketing Cloud. * "SALESFORCEPARDOT" - Designates a connection to Salesforce Marketing Cloud Account Engagement (MCAE). * "SAPODATA" - Designates a connection to SAP OData. * "SERVICENOW" - Designates a connection to ServiceNow. * "SLACK" - Designates a connection to Slack. * "SNAPCHATADS" - Designates a connection to Snapchat Ads. * "STRIPE" - Designates a connection to Stripe. * "ZENDESK" - Designates a connection to Zendesk. * "ZOHOCRM" - Designates a connection to Zoho CRM. For more information on the connection parameters needed for a particular connector, see the documentation for the connector in >>`<`__in the Glue User Guide. "SFTP" is not supported. For more information about how optional ConnectionProperties are used to configure features in Glue, consult Glue connection properties. For more information about how optional ConnectionProperties are used to configure features in Glue Studio, consult Using connectors and connections. * **MatchCriteria** *(list) --* A list of criteria that can be used in selecting this connection. * *(string) --* * **ConnectionProperties** *(dict) --* **[REQUIRED]** These key-value pairs define parameters for the connection. * *(string) --* * *(string) --* * **SparkProperties** *(dict) --* Connection properties specific to the Spark compute environment. * *(string) --* * *(string) --* * **AthenaProperties** *(dict) --* Connection properties specific to the Athena compute environment. * *(string) --* * *(string) --* * **PythonProperties** *(dict) --* Connection properties specific to the Python compute environment. * *(string) --* * *(string) --* * **PhysicalConnectionRequirements** *(dict) --* The physical connection requirements, such as virtual private cloud (VPC) and "SecurityGroup", that are needed to successfully make this connection. * **SubnetId** *(string) --* The subnet ID used by the connection. * **SecurityGroupIdList** *(list) --* The security group ID list used by the connection. * *(string) --* * **AvailabilityZone** *(string) --* The connection's Availability Zone. * **AuthenticationConfiguration** *(dict) --* The authentication properties of the connection. * **AuthenticationType** *(string) --* A structure containing the authentication configuration in the CreateConnection request. * **OAuth2Properties** *(dict) --* The properties for OAuth2 authentication in the CreateConnection request. * **OAuth2GrantType** *(string) --* The OAuth2 grant type in the CreateConnection request. For example, "AUTHORIZATION_CODE", "JWT_BEARER", or "CLIENT_CREDENTIALS". * **OAuth2ClientApplication** *(dict) --* The client application type in the CreateConnection request. For example, "AWS_MANAGED" or "USER_MANAGED". * **UserManagedClientApplicationClientId** *(string) --* The client application clientID if the ClientAppType is "USER_MANAGED". * **AWSManagedClientApplicationReference** *(string) --* The reference to the SaaS-side client app that is Amazon Web Services managed. * **TokenUrl** *(string) --* The URL of the provider's authentication server, to exchange an authorization code for an access token. * **TokenUrlParametersMap** *(dict) --* A map of parameters that are added to the token "GET" request. * *(string) --* * *(string) --* * **AuthorizationCodeProperties** *(dict) --* The set of properties required for the the OAuth2 "AUTHORIZATION_CODE" grant type. * **AuthorizationCode** *(string) --* An authorization code to be used in the third leg of the "AUTHORIZATION_CODE" grant workflow. This is a single-use code which becomes invalid once exchanged for an access token, thus it is acceptable to have this value as a request parameter. * **RedirectUri** *(string) --* The redirect URI where the user gets redirected to by authorization server when issuing an authorization code. The URI is subsequently used when the authorization code is exchanged for an access token. * **OAuth2Credentials** *(dict) --* The credentials used when the authentication type is OAuth2 authentication. * **UserManagedClientApplicationClientSecret** *(string) --* The client application client secret if the client application is user managed. * **AccessToken** *(string) --* The access token used when the authentication type is OAuth2. * **RefreshToken** *(string) --* The refresh token used when the authentication type is OAuth2. * **JwtToken** *(string) --* The JSON Web Token (JWT) used when the authentication type is OAuth2. * **SecretArn** *(string) --* The secret manager ARN to store credentials in the CreateConnection request. * **KmsKeyArn** *(string) --* The ARN of the KMS key used to encrypt the connection. Only taken an as input in the request and stored in the Secret Manager. * **BasicAuthenticationCredentials** *(dict) --* The credentials used when the authentication type is basic authentication. * **Username** *(string) --* The username to connect to the data source. * **Password** *(string) --* The password to connect to the data source. * **CustomAuthenticationCredentials** *(dict) --* The credentials used when the authentication type is custom authentication. * *(string) --* * *(string) --* * **ValidateCredentials** *(boolean) --* A flag to validate the credentials during create connection. Default is true. * **ValidateForComputeEnvironments** *(list) --* The compute environments that the specified connection properties are validated against. * *(string) --* * **Tags** (*dict*) -- The tags you assign to the connection. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'CreateConnectionStatus': 'READY'|'IN_PROGRESS'|'FAILED' } **Response Structure** * *(dict) --* * **CreateConnectionStatus** *(string) --* The status of the connection creation request. The request can take some time for certain authentication types, for example when creating an OAuth connection with token exchange over VPC. **Exceptions** * "Glue.Client.exceptions.AlreadyExistsException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / batch_update_partition batch_update_partition ********************** Glue.Client.batch_update_partition(**kwargs) Updates one or more partitions in a batch operation. See also: AWS API Documentation **Request Syntax** response = client.batch_update_partition( CatalogId='string', DatabaseName='string', TableName='string', Entries=[ { 'PartitionValueList': [ 'string', ], 'PartitionInput': { 'Values': [ 'string', ], 'LastAccessTime': datetime(2015, 1, 1), 'StorageDescriptor': { 'Columns': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'Location': 'string', 'AdditionalLocations': [ 'string', ], 'InputFormat': 'string', 'OutputFormat': 'string', 'Compressed': True|False, 'NumberOfBuckets': 123, 'SerdeInfo': { 'Name': 'string', 'SerializationLibrary': 'string', 'Parameters': { 'string': 'string' } }, 'BucketColumns': [ 'string', ], 'SortColumns': [ { 'Column': 'string', 'SortOrder': 123 }, ], 'Parameters': { 'string': 'string' }, 'SkewedInfo': { 'SkewedColumnNames': [ 'string', ], 'SkewedColumnValues': [ 'string', ], 'SkewedColumnValueLocationMaps': { 'string': 'string' } }, 'StoredAsSubDirectories': True|False, 'SchemaReference': { 'SchemaId': { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionNumber': 123 } }, 'Parameters': { 'string': 'string' }, 'LastAnalyzedTime': datetime(2015, 1, 1) } }, ] ) Parameters: * **CatalogId** (*string*) -- The ID of the catalog in which the partition is to be updated. Currently, this should be the Amazon Web Services account ID. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the metadata database in which the partition is to be updated. * **TableName** (*string*) -- **[REQUIRED]** The name of the metadata table in which the partition is to be updated. * **Entries** (*list*) -- **[REQUIRED]** A list of up to 100 "BatchUpdatePartitionRequestEntry" objects to update. * *(dict) --* A structure that contains the values and structure used to update a partition. * **PartitionValueList** *(list) --* **[REQUIRED]** A list of values defining the partitions. * *(string) --* * **PartitionInput** *(dict) --* **[REQUIRED]** The structure used to update a partition. * **Values** *(list) --* The values of the partition. Although this parameter is not required by the SDK, you must specify this parameter for a valid input. The values for the keys for the new partition must be passed as an array of String objects that must be ordered in the same order as the partition keys appearing in the Amazon S3 prefix. Otherwise Glue will add the values to the wrong keys. * *(string) --* * **LastAccessTime** *(datetime) --* The last time at which the partition was accessed. * **StorageDescriptor** *(dict) --* Provides information about the physical location where the partition is stored. * **Columns** *(list) --* A list of the "Columns" in the table. * *(dict) --* A column in a "Table". * **Name** *(string) --* **[REQUIRED]** The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **Location** *(string) --* The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * **AdditionalLocations** *(list) --* A list of locations that point to the path where a Delta table is located. * *(string) --* * **InputFormat** *(string) --* The input format: "SequenceFileInputFormat" (binary), or "TextInputFormat", or a custom format. * **OutputFormat** *(string) --* The output format: "SequenceFileOutputFormat" (binary), or "IgnoreKeyTextOutputFormat", or a custom format. * **Compressed** *(boolean) --* "True" if the data in the table is compressed, or "False" if not. * **NumberOfBuckets** *(integer) --* Must be specified if the table contains any dimension columns. * **SerdeInfo** *(dict) --* The serialization/deserialization (SerDe) information. * **Name** *(string) --* Name of the SerDe. * **SerializationLibrary** *(string) --* Usually the class that implements the SerDe. An example is "org.apache.hadoop.hive.serde2.columnar. ColumnarSerDe". * **Parameters** *(dict) --* These key-value pairs define initialization parameters for the SerDe. * *(string) --* * *(string) --* * **BucketColumns** *(list) --* A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * *(string) --* * **SortColumns** *(list) --* A list specifying the sort order of each bucket in the table. * *(dict) --* Specifies the sort order of a sorted column. * **Column** *(string) --* **[REQUIRED]** The name of the column. * **SortOrder** *(integer) --* **[REQUIRED]** Indicates that the column is sorted in ascending order ( "== 1"), or in descending order ( "==0"). * **Parameters** *(dict) --* The user-supplied properties in key-value form. * *(string) --* * *(string) --* * **SkewedInfo** *(dict) --* The information about values that appear frequently in a column (skewed values). * **SkewedColumnNames** *(list) --* A list of names of columns that contain skewed values. * *(string) --* * **SkewedColumnValues** *(list) --* A list of values that appear so frequently as to be considered skewed. * *(string) --* * **SkewedColumnValueLocationMaps** *(dict) --* A mapping of skewed values to the columns that contain them. * *(string) --* * *(string) --* * **StoredAsSubDirectories** *(boolean) --* "True" if the table data is stored in subdirectories, or "False" if not. * **SchemaReference** *(dict) --* An object that references a schema stored in the Glue Schema Registry. When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference. * **SchemaId** *(dict) --* A structure that contains schema identity fields. Either this or the "SchemaVersionId" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionId** *(string) --* The unique ID assigned to a version of the schema. Either this or the "SchemaId" has to be provided. * **SchemaVersionNumber** *(integer) --* The version number of the schema. * **Parameters** *(dict) --* These key-value pairs define partition parameters. * *(string) --* * *(string) --* * **LastAnalyzedTime** *(datetime) --* The last time at which column statistics were computed for this partition. Return type: dict Returns: **Response Syntax** { 'Errors': [ { 'PartitionValueList': [ 'string', ], 'ErrorDetail': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } **Response Structure** * *(dict) --* * **Errors** *(list) --* The errors encountered when trying to update the requested partitions. A list of "BatchUpdatePartitionFailureEntry" objects. * *(dict) --* Contains information about a batch update partition error. * **PartitionValueList** *(list) --* A list of values defining the partitions. * *(string) --* * **ErrorDetail** *(dict) --* The details about the batch update partition error. * **ErrorCode** *(string) --* The code associated with this error. * **ErrorMessage** *(string) --* A message describing the error. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / update_classifier update_classifier ***************** Glue.Client.update_classifier(**kwargs) Modifies an existing classifier (a "GrokClassifier", an "XMLClassifier", a "JsonClassifier", or a "CsvClassifier", depending on which field is present). See also: AWS API Documentation **Request Syntax** response = client.update_classifier( GrokClassifier={ 'Name': 'string', 'Classification': 'string', 'GrokPattern': 'string', 'CustomPatterns': 'string' }, XMLClassifier={ 'Name': 'string', 'Classification': 'string', 'RowTag': 'string' }, JsonClassifier={ 'Name': 'string', 'JsonPath': 'string' }, CsvClassifier={ 'Name': 'string', 'Delimiter': 'string', 'QuoteSymbol': 'string', 'ContainsHeader': 'UNKNOWN'|'PRESENT'|'ABSENT', 'Header': [ 'string', ], 'DisableValueTrimming': True|False, 'AllowSingleColumn': True|False, 'CustomDatatypeConfigured': True|False, 'CustomDatatypes': [ 'string', ], 'Serde': 'OpenCSVSerDe'|'LazySimpleSerDe'|'None' } ) Parameters: * **GrokClassifier** (*dict*) -- A "GrokClassifier" object with updated fields. * **Name** *(string) --* **[REQUIRED]** The name of the "GrokClassifier". * **Classification** *(string) --* An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on. * **GrokPattern** *(string) --* The grok pattern used by this classifier. * **CustomPatterns** *(string) --* Optional custom grok patterns used by this classifier. * **XMLClassifier** (*dict*) -- An "XMLClassifier" object with updated fields. * **Name** *(string) --* **[REQUIRED]** The name of the classifier. * **Classification** *(string) --* An identifier of the data format that the classifier matches. * **RowTag** *(string) --* The XML tag designating the element that contains each record in an XML document being parsed. This cannot identify a self-closing element (closed by "/>"). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, "" is okay, but "" is not). * **JsonClassifier** (*dict*) -- A "JsonClassifier" object with updated fields. * **Name** *(string) --* **[REQUIRED]** The name of the classifier. * **JsonPath** *(string) --* A "JsonPath" string defining the JSON data for the classifier to classify. Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers. * **CsvClassifier** (*dict*) -- A "CsvClassifier" object with updated fields. * **Name** *(string) --* **[REQUIRED]** The name of the classifier. * **Delimiter** *(string) --* A custom symbol to denote what separates each column entry in the row. * **QuoteSymbol** *(string) --* A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. * **ContainsHeader** *(string) --* Indicates whether the CSV file contains a header. * **Header** *(list) --* A list of strings representing column names. * *(string) --* * **DisableValueTrimming** *(boolean) --* Specifies not to trim values before identifying the type of column values. The default value is true. * **AllowSingleColumn** *(boolean) --* Enables the processing of files that contain only one column. * **CustomDatatypeConfigured** *(boolean) --* Specifies the configuration of custom datatypes. * **CustomDatatypes** *(list) --* Specifies a list of supported custom datatypes. * *(string) --* * **Serde** *(string) --* Sets the SerDe for processing CSV in the classifier, which will be applied in the Data Catalog. Valid values are "OpenCSVSerDe", "LazySimpleSerDe", and "None". You can specify the "None" value when you want the crawler to do the detection. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.VersionMismatchException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / start_blueprint_run start_blueprint_run ******************* Glue.Client.start_blueprint_run(**kwargs) Starts a new run of the specified blueprint. See also: AWS API Documentation **Request Syntax** response = client.start_blueprint_run( BlueprintName='string', Parameters='string', RoleArn='string' ) Parameters: * **BlueprintName** (*string*) -- **[REQUIRED]** The name of the blueprint. * **Parameters** (*string*) -- Specifies the parameters as a "BlueprintParameters" object. * **RoleArn** (*string*) -- **[REQUIRED]** Specifies the IAM role used to create the workflow. Return type: dict Returns: **Response Syntax** { 'RunId': 'string' } **Response Structure** * *(dict) --* * **RunId** *(string) --* The run ID for this blueprint run. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.IllegalBlueprintStateException" Glue / Client / delete_workflow delete_workflow *************** Glue.Client.delete_workflow(**kwargs) Deletes a workflow. See also: AWS API Documentation **Request Syntax** response = client.delete_workflow( Name='string' ) Parameters: **Name** (*string*) -- **[REQUIRED]** Name of the workflow to be deleted. Return type: dict Returns: **Response Syntax** { 'Name': 'string' } **Response Structure** * *(dict) --* * **Name** *(string) --* Name of the workflow specified in input. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.ConcurrentModificationException" Glue / Client / batch_get_crawlers batch_get_crawlers ****************** Glue.Client.batch_get_crawlers(**kwargs) Returns a list of resource metadata for a given list of crawler names. After calling the "ListCrawlers" operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. See also: AWS API Documentation **Request Syntax** response = client.batch_get_crawlers( CrawlerNames=[ 'string', ] ) Parameters: **CrawlerNames** (*list*) -- **[REQUIRED]** A list of crawler names, which might be the names returned from the "ListCrawlers" operation. * *(string) --* Return type: dict Returns: **Response Syntax** { 'Crawlers': [ { 'Name': 'string', 'Role': 'string', 'Targets': { 'S3Targets': [ { 'Path': 'string', 'Exclusions': [ 'string', ], 'ConnectionName': 'string', 'SampleSize': 123, 'EventQueueArn': 'string', 'DlqEventQueueArn': 'string' }, ], 'JdbcTargets': [ { 'ConnectionName': 'string', 'Path': 'string', 'Exclusions': [ 'string', ], 'EnableAdditionalMetadata': [ 'COMMENTS'|'RAWTYPES', ] }, ], 'MongoDBTargets': [ { 'ConnectionName': 'string', 'Path': 'string', 'ScanAll': True|False }, ], 'DynamoDBTargets': [ { 'Path': 'string', 'scanAll': True|False, 'scanRate': 123.0 }, ], 'CatalogTargets': [ { 'DatabaseName': 'string', 'Tables': [ 'string', ], 'ConnectionName': 'string', 'EventQueueArn': 'string', 'DlqEventQueueArn': 'string' }, ], 'DeltaTargets': [ { 'DeltaTables': [ 'string', ], 'ConnectionName': 'string', 'WriteManifest': True|False, 'CreateNativeDeltaTable': True|False }, ], 'IcebergTargets': [ { 'Paths': [ 'string', ], 'ConnectionName': 'string', 'Exclusions': [ 'string', ], 'MaximumTraversalDepth': 123 }, ], 'HudiTargets': [ { 'Paths': [ 'string', ], 'ConnectionName': 'string', 'Exclusions': [ 'string', ], 'MaximumTraversalDepth': 123 }, ] }, 'DatabaseName': 'string', 'Description': 'string', 'Classifiers': [ 'string', ], 'RecrawlPolicy': { 'RecrawlBehavior': 'CRAWL_EVERYTHING'|'CRAWL_NEW_FOLDERS_ONLY'|'CRAWL_EVENT_MODE' }, 'SchemaChangePolicy': { 'UpdateBehavior': 'LOG'|'UPDATE_IN_DATABASE', 'DeleteBehavior': 'LOG'|'DELETE_FROM_DATABASE'|'DEPRECATE_IN_DATABASE' }, 'LineageConfiguration': { 'CrawlerLineageSettings': 'ENABLE'|'DISABLE' }, 'State': 'READY'|'RUNNING'|'STOPPING', 'TablePrefix': 'string', 'Schedule': { 'ScheduleExpression': 'string', 'State': 'SCHEDULED'|'NOT_SCHEDULED'|'TRANSITIONING' }, 'CrawlElapsedTime': 123, 'CreationTime': datetime(2015, 1, 1), 'LastUpdated': datetime(2015, 1, 1), 'LastCrawl': { 'Status': 'SUCCEEDED'|'CANCELLED'|'FAILED', 'ErrorMessage': 'string', 'LogGroup': 'string', 'LogStream': 'string', 'MessagePrefix': 'string', 'StartTime': datetime(2015, 1, 1) }, 'Version': 123, 'Configuration': 'string', 'CrawlerSecurityConfiguration': 'string', 'LakeFormationConfiguration': { 'UseLakeFormationCredentials': True|False, 'AccountId': 'string' } }, ], 'CrawlersNotFound': [ 'string', ] } **Response Structure** * *(dict) --* * **Crawlers** *(list) --* A list of crawler definitions. * *(dict) --* Specifies a crawler program that examines a data source and uses classifiers to try to determine its schema. If successful, the crawler records metadata concerning the data source in the Glue Data Catalog. * **Name** *(string) --* The name of the crawler. * **Role** *(string) --* The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data. * **Targets** *(dict) --* A collection of targets to crawl. * **S3Targets** *(list) --* Specifies Amazon Simple Storage Service (Amazon S3) targets. * *(dict) --* Specifies a data store in Amazon Simple Storage Service (Amazon S3). * **Path** *(string) --* The path to the Amazon S3 target. * **Exclusions** *(list) --* A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler. * *(string) --* * **ConnectionName** *(string) --* The name of a connection which allows a job or crawler to access data in Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC). * **SampleSize** *(integer) --* Sets the number of files in each leaf folder to be crawled when crawling sample files in a dataset. If not set, all the files are crawled. A valid value is an integer between 1 and 249. * **EventQueueArn** *(string) --* A valid Amazon SQS ARN. For example, "arn:aws:sqs:region:account:sqs". * **DlqEventQueueArn** *(string) --* A valid Amazon dead-letter SQS ARN. For example, "arn:aws:sqs:region:account:deadLetterQueue". * **JdbcTargets** *(list) --* Specifies JDBC targets. * *(dict) --* Specifies a JDBC data store to crawl. * **ConnectionName** *(string) --* The name of the connection to use to connect to the JDBC target. * **Path** *(string) --* The path of the JDBC target. * **Exclusions** *(list) --* A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler. * *(string) --* * **EnableAdditionalMetadata** *(list) --* Specify a value of "RAWTYPES" or "COMMENTS" to enable additional metadata in table responses. "RAWTYPES" provides the native-level datatype. "COMMENTS" provides comments associated with a column or table in the database. If you do not need additional metadata, keep the field empty. * *(string) --* * **MongoDBTargets** *(list) --* Specifies Amazon DocumentDB or MongoDB targets. * *(dict) --* Specifies an Amazon DocumentDB or MongoDB data store to crawl. * **ConnectionName** *(string) --* The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target. * **Path** *(string) --* The path of the Amazon DocumentDB or MongoDB target (database/collection). * **ScanAll** *(boolean) --* Indicates whether to scan all the records, or to sample rows from the table. Scanning all the records can take a long time when the table is not a high throughput table. A value of "true" means to scan all records, while a value of "false" means to sample the records. If no value is specified, the value defaults to "true". * **DynamoDBTargets** *(list) --* Specifies Amazon DynamoDB targets. * *(dict) --* Specifies an Amazon DynamoDB table to crawl. * **Path** *(string) --* The name of the DynamoDB table to crawl. * **scanAll** *(boolean) --* Indicates whether to scan all the records, or to sample rows from the table. Scanning all the records can take a long time when the table is not a high throughput table. A value of "true" means to scan all records, while a value of "false" means to sample the records. If no value is specified, the value defaults to "true". * **scanRate** *(float) --* The percentage of the configured read capacity units to use by the Glue crawler. Read capacity units is a term defined by DynamoDB, and is a numeric value that acts as rate limiter for the number of reads that can be performed on that table per second. The valid values are null or a value between 0.1 to 1.5. A null value is used when user does not provide a value, and defaults to 0.5 of the configured Read Capacity Unit (for provisioned tables), or 0.25 of the max configured Read Capacity Unit (for tables using on-demand mode). * **CatalogTargets** *(list) --* Specifies Glue Data Catalog targets. * *(dict) --* Specifies an Glue Data Catalog target. * **DatabaseName** *(string) --* The name of the database to be synchronized. * **Tables** *(list) --* A list of the tables to be synchronized. * *(string) --* * **ConnectionName** *(string) --* The name of the connection for an Amazon S3-backed Data Catalog table to be a target of the crawl when using a "Catalog" connection type paired with a "NETWORK" Connection type. * **EventQueueArn** *(string) --* A valid Amazon SQS ARN. For example, "arn:aws:sqs:region:account:sqs". * **DlqEventQueueArn** *(string) --* A valid Amazon dead-letter SQS ARN. For example, "arn:aws:sqs:region:account:deadLetterQueue". * **DeltaTargets** *(list) --* Specifies Delta data store targets. * *(dict) --* Specifies a Delta data store to crawl one or more Delta tables. * **DeltaTables** *(list) --* A list of the Amazon S3 paths to the Delta tables. * *(string) --* * **ConnectionName** *(string) --* The name of the connection to use to connect to the Delta table target. * **WriteManifest** *(boolean) --* Specifies whether to write the manifest files to the Delta table path. * **CreateNativeDeltaTable** *(boolean) --* Specifies whether the crawler will create native tables, to allow integration with query engines that support querying of the Delta transaction log directly. * **IcebergTargets** *(list) --* Specifies Apache Iceberg data store targets. * *(dict) --* Specifies an Apache Iceberg data source where Iceberg tables are stored in Amazon S3. * **Paths** *(list) --* One or more Amazon S3 paths that contains Iceberg metadata folders as "s3://bucket/prefix". * *(string) --* * **ConnectionName** *(string) --* The name of the connection to use to connect to the Iceberg target. * **Exclusions** *(list) --* A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler. * *(string) --* * **MaximumTraversalDepth** *(integer) --* The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Iceberg metadata folder in your Amazon S3 path. Used to limit the crawler run time. * **HudiTargets** *(list) --* Specifies Apache Hudi data store targets. * *(dict) --* Specifies an Apache Hudi data source. * **Paths** *(list) --* An array of Amazon S3 location strings for Hudi, each indicating the root folder with which the metadata files for a Hudi table resides. The Hudi folder may be located in a child folder of the root folder. The crawler will scan all folders underneath a path for a Hudi folder. * *(string) --* * **ConnectionName** *(string) --* The name of the connection to use to connect to the Hudi target. If your Hudi files are stored in buckets that require VPC authorization, you can set their connection properties here. * **Exclusions** *(list) --* A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler. * *(string) --* * **MaximumTraversalDepth** *(integer) --* The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Hudi metadata folder in your Amazon S3 path. Used to limit the crawler run time. * **DatabaseName** *(string) --* The name of the database in which the crawler's output is stored. * **Description** *(string) --* A description of the crawler. * **Classifiers** *(list) --* A list of UTF-8 strings that specify the custom classifiers that are associated with the crawler. * *(string) --* * **RecrawlPolicy** *(dict) --* A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run. * **RecrawlBehavior** *(string) --* Specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. A value of "CRAWL_EVERYTHING" specifies crawling the entire dataset again. A value of "CRAWL_NEW_FOLDERS_ONLY" specifies crawling only folders that were added since the last crawler run. A value of "CRAWL_EVENT_MODE" specifies crawling only the changes identified by Amazon S3 events. * **SchemaChangePolicy** *(dict) --* The policy that specifies update and delete behaviors for the crawler. * **UpdateBehavior** *(string) --* The update behavior when the crawler finds a changed schema. * **DeleteBehavior** *(string) --* The deletion behavior when the crawler finds a deleted object. * **LineageConfiguration** *(dict) --* A configuration that specifies whether data lineage is enabled for the crawler. * **CrawlerLineageSettings** *(string) --* Specifies whether data lineage is enabled for the crawler. Valid values are: * ENABLE: enables data lineage for the crawler * DISABLE: disables data lineage for the crawler * **State** *(string) --* Indicates whether the crawler is running, or whether a run is pending. * **TablePrefix** *(string) --* The prefix added to the names of tables that are created. * **Schedule** *(dict) --* For scheduled crawlers, the schedule when the crawler runs. * **ScheduleExpression** *(string) --* A "cron" expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: "cron(15 12 * * ? *)". * **State** *(string) --* The state of the schedule. * **CrawlElapsedTime** *(integer) --* If the crawler is running, contains the total time elapsed since the last crawl began. * **CreationTime** *(datetime) --* The time that the crawler was created. * **LastUpdated** *(datetime) --* The time that the crawler was last updated. * **LastCrawl** *(dict) --* The status of the last crawl, and potentially error information if an error occurred. * **Status** *(string) --* Status of the last crawl. * **ErrorMessage** *(string) --* If an error occurred, the error information about the last crawl. * **LogGroup** *(string) --* The log group for the last crawl. * **LogStream** *(string) --* The log stream for the last crawl. * **MessagePrefix** *(string) --* The prefix for a message about this crawl. * **StartTime** *(datetime) --* The time at which the crawl started. * **Version** *(integer) --* The version of the crawler. * **Configuration** *(string) --* Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Setting crawler configuration options. * **CrawlerSecurityConfiguration** *(string) --* The name of the "SecurityConfiguration" structure to be used by this crawler. * **LakeFormationConfiguration** *(dict) --* Specifies whether the crawler should use Lake Formation credentials for the crawler instead of the IAM role credentials. * **UseLakeFormationCredentials** *(boolean) --* Specifies whether to use Lake Formation credentials for the crawler instead of the IAM role credentials. * **AccountId** *(string) --* Required for cross account crawls. For same account crawls as the target data, this can be left as null. * **CrawlersNotFound** *(list) --* A list of names of crawlers that were not found. * *(string) --* **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / list_usage_profiles list_usage_profiles ******************* Glue.Client.list_usage_profiles(**kwargs) List all the Glue usage profiles. See also: AWS API Documentation **Request Syntax** response = client.list_usage_profiles( NextToken='string', MaxResults=123 ) Parameters: * **NextToken** (*string*) -- A continuation token, included if this is a continuation call. * **MaxResults** (*integer*) -- The maximum number of usage profiles to return in a single response. Return type: dict Returns: **Response Syntax** { 'Profiles': [ { 'Name': 'string', 'Description': 'string', 'CreatedOn': datetime(2015, 1, 1), 'LastModifiedOn': datetime(2015, 1, 1) }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Profiles** *(list) --* A list of usage profile ( "UsageProfileDefinition") objects. * *(dict) --* Describes an Glue usage profile. * **Name** *(string) --* The name of the usage profile. * **Description** *(string) --* A description of the usage profile. * **CreatedOn** *(datetime) --* The date and time when the usage profile was created. * **LastModifiedOn** *(datetime) --* The date and time when the usage profile was last modified. * **NextToken** *(string) --* A continuation token, present if the current list segment is not the last. **Exceptions** * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationNotSupportedException" Glue / Client / batch_put_data_quality_statistic_annotation batch_put_data_quality_statistic_annotation ******************************************* Glue.Client.batch_put_data_quality_statistic_annotation(**kwargs) Annotate datapoints over time for a specific data quality statistic. See also: AWS API Documentation **Request Syntax** response = client.batch_put_data_quality_statistic_annotation( InclusionAnnotations=[ { 'ProfileId': 'string', 'StatisticId': 'string', 'InclusionAnnotation': 'INCLUDE'|'EXCLUDE' }, ], ClientToken='string' ) Parameters: * **InclusionAnnotations** (*list*) -- **[REQUIRED]** A list of "DatapointInclusionAnnotation"'s. * *(dict) --* An Inclusion Annotation. * **ProfileId** *(string) --* The ID of the data quality profile the statistic belongs to. * **StatisticId** *(string) --* The Statistic ID. * **InclusionAnnotation** *(string) --* The inclusion annotation value to apply to the statistic. * **ClientToken** (*string*) -- Client Token. Return type: dict Returns: **Response Syntax** { 'FailedInclusionAnnotations': [ { 'ProfileId': 'string', 'StatisticId': 'string', 'FailureReason': 'string' }, ] } **Response Structure** * *(dict) --* * **FailedInclusionAnnotations** *(list) --* A list of "AnnotationError"'s. * *(dict) --* A failed annotation. * **ProfileId** *(string) --* The Profile ID for the failed annotation. * **StatisticId** *(string) --* The Statistic ID for the failed annotation. * **FailureReason** *(string) --* The reason why the annotation failed. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" Glue / Client / update_partition update_partition **************** Glue.Client.update_partition(**kwargs) Updates a partition. See also: AWS API Documentation **Request Syntax** response = client.update_partition( CatalogId='string', DatabaseName='string', TableName='string', PartitionValueList=[ 'string', ], PartitionInput={ 'Values': [ 'string', ], 'LastAccessTime': datetime(2015, 1, 1), 'StorageDescriptor': { 'Columns': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'Location': 'string', 'AdditionalLocations': [ 'string', ], 'InputFormat': 'string', 'OutputFormat': 'string', 'Compressed': True|False, 'NumberOfBuckets': 123, 'SerdeInfo': { 'Name': 'string', 'SerializationLibrary': 'string', 'Parameters': { 'string': 'string' } }, 'BucketColumns': [ 'string', ], 'SortColumns': [ { 'Column': 'string', 'SortOrder': 123 }, ], 'Parameters': { 'string': 'string' }, 'SkewedInfo': { 'SkewedColumnNames': [ 'string', ], 'SkewedColumnValues': [ 'string', ], 'SkewedColumnValueLocationMaps': { 'string': 'string' } }, 'StoredAsSubDirectories': True|False, 'SchemaReference': { 'SchemaId': { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionNumber': 123 } }, 'Parameters': { 'string': 'string' }, 'LastAnalyzedTime': datetime(2015, 1, 1) } ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the partition to be updated resides. If none is provided, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the catalog database in which the table in question resides. * **TableName** (*string*) -- **[REQUIRED]** The name of the table in which the partition to be updated is located. * **PartitionValueList** (*list*) -- **[REQUIRED]** List of partition key values that define the partition to update. * *(string) --* * **PartitionInput** (*dict*) -- **[REQUIRED]** The new partition object to update the partition to. The "Values" property can't be changed. If you want to change the partition key values for a partition, delete and recreate the partition. * **Values** *(list) --* The values of the partition. Although this parameter is not required by the SDK, you must specify this parameter for a valid input. The values for the keys for the new partition must be passed as an array of String objects that must be ordered in the same order as the partition keys appearing in the Amazon S3 prefix. Otherwise Glue will add the values to the wrong keys. * *(string) --* * **LastAccessTime** *(datetime) --* The last time at which the partition was accessed. * **StorageDescriptor** *(dict) --* Provides information about the physical location where the partition is stored. * **Columns** *(list) --* A list of the "Columns" in the table. * *(dict) --* A column in a "Table". * **Name** *(string) --* **[REQUIRED]** The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **Location** *(string) --* The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * **AdditionalLocations** *(list) --* A list of locations that point to the path where a Delta table is located. * *(string) --* * **InputFormat** *(string) --* The input format: "SequenceFileInputFormat" (binary), or "TextInputFormat", or a custom format. * **OutputFormat** *(string) --* The output format: "SequenceFileOutputFormat" (binary), or "IgnoreKeyTextOutputFormat", or a custom format. * **Compressed** *(boolean) --* "True" if the data in the table is compressed, or "False" if not. * **NumberOfBuckets** *(integer) --* Must be specified if the table contains any dimension columns. * **SerdeInfo** *(dict) --* The serialization/deserialization (SerDe) information. * **Name** *(string) --* Name of the SerDe. * **SerializationLibrary** *(string) --* Usually the class that implements the SerDe. An example is "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe". * **Parameters** *(dict) --* These key-value pairs define initialization parameters for the SerDe. * *(string) --* * *(string) --* * **BucketColumns** *(list) --* A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * *(string) --* * **SortColumns** *(list) --* A list specifying the sort order of each bucket in the table. * *(dict) --* Specifies the sort order of a sorted column. * **Column** *(string) --* **[REQUIRED]** The name of the column. * **SortOrder** *(integer) --* **[REQUIRED]** Indicates that the column is sorted in ascending order ( "== 1"), or in descending order ( "==0"). * **Parameters** *(dict) --* The user-supplied properties in key-value form. * *(string) --* * *(string) --* * **SkewedInfo** *(dict) --* The information about values that appear frequently in a column (skewed values). * **SkewedColumnNames** *(list) --* A list of names of columns that contain skewed values. * *(string) --* * **SkewedColumnValues** *(list) --* A list of values that appear so frequently as to be considered skewed. * *(string) --* * **SkewedColumnValueLocationMaps** *(dict) --* A mapping of skewed values to the columns that contain them. * *(string) --* * *(string) --* * **StoredAsSubDirectories** *(boolean) --* "True" if the table data is stored in subdirectories, or "False" if not. * **SchemaReference** *(dict) --* An object that references a schema stored in the Glue Schema Registry. When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference. * **SchemaId** *(dict) --* A structure that contains schema identity fields. Either this or the "SchemaVersionId" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionId** *(string) --* The unique ID assigned to a version of the schema. Either this or the "SchemaId" has to be provided. * **SchemaVersionNumber** *(integer) --* The version number of the schema. * **Parameters** *(dict) --* These key-value pairs define partition parameters. * *(string) --* * *(string) --* * **LastAnalyzedTime** *(datetime) --* The last time at which column statistics were computed for this partition. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / update_column_statistics_task_settings update_column_statistics_task_settings ************************************** Glue.Client.update_column_statistics_task_settings(**kwargs) Updates settings for a column statistics task. See also: AWS API Documentation **Request Syntax** response = client.update_column_statistics_task_settings( DatabaseName='string', TableName='string', Role='string', Schedule='string', ColumnNameList=[ 'string', ], SampleSize=123.0, CatalogID='string', SecurityConfiguration='string' ) Parameters: * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the database where the table resides. * **TableName** (*string*) -- **[REQUIRED]** The name of the table for which to generate column statistics. * **Role** (*string*) -- The role used for running the column statistics. * **Schedule** (*string*) -- A schedule for running the column statistics, specified in CRON syntax. * **ColumnNameList** (*list*) -- A list of column names for which to run statistics. * *(string) --* * **SampleSize** (*float*) -- The percentage of data to sample. * **CatalogID** (*string*) -- The ID of the Data Catalog in which the database resides. * **SecurityConfiguration** (*string*) -- Name of the security configuration that is used to encrypt CloudWatch logs. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.VersionMismatchException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / delete_session delete_session ************** Glue.Client.delete_session(**kwargs) Deletes the session. See also: AWS API Documentation **Request Syntax** response = client.delete_session( Id='string', RequestOrigin='string' ) Parameters: * **Id** (*string*) -- **[REQUIRED]** The ID of the session to be deleted. * **RequestOrigin** (*string*) -- The name of the origin of the delete session request. Return type: dict Returns: **Response Syntax** { 'Id': 'string' } **Response Structure** * *(dict) --* * **Id** *(string) --* Returns the ID of the deleted session. **Exceptions** * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.IllegalSessionStateException" * "Glue.Client.exceptions.ConcurrentModificationException" Glue / Client / register_schema_version register_schema_version *********************** Glue.Client.register_schema_version(**kwargs) Adds a new version to the existing schema. Returns an error if new version of schema does not meet the compatibility requirements of the schema set. This API will not create a new schema set and will return a 404 error if the schema set is not already present in the Schema Registry. If this is the first schema definition to be registered in the Schema Registry, this API will store the schema version and return immediately. Otherwise, this call has the potential to run longer than other operations due to compatibility modes. You can call the "GetSchemaVersion" API with the "SchemaVersionId" to check compatibility modes. If the same schema definition is already stored in Schema Registry as a version, the schema ID of the existing schema is returned to the caller. See also: AWS API Documentation **Request Syntax** response = client.register_schema_version( SchemaId={ 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, SchemaDefinition='string' ) Parameters: * **SchemaId** (*dict*) -- **[REQUIRED]** This is a wrapper structure to contain schema identity fields. The structure contains: * SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. Either "SchemaArn" or "SchemaName" and "RegistryName" has to be provided. * SchemaId$SchemaName: The name of the schema. Either "SchemaArn" or "SchemaName" and "RegistryName" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaDefinition** (*string*) -- **[REQUIRED]** The schema definition using the "DataFormat" setting for the "SchemaName". Return type: dict Returns: **Response Syntax** { 'SchemaVersionId': 'string', 'VersionNumber': 123, 'Status': 'AVAILABLE'|'PENDING'|'FAILURE'|'DELETING' } **Response Structure** * *(dict) --* * **SchemaVersionId** *(string) --* The unique ID that represents the version of this schema. * **VersionNumber** *(integer) --* The version of this schema (for sync flow only, in case this is the first version). * **Status** *(string) --* The status of the schema version. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" * "Glue.Client.exceptions.ConcurrentModificationException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / update_job update_job ********** Glue.Client.update_job(**kwargs) Updates an existing job definition. The previous job definition is completely overwritten by this information. See also: AWS API Documentation **Request Syntax** # This section is too large to render. # Please see the AWS API Documentation linked below. AWS API Documentation **Parameters** # This section is too large to render. # Please see the AWS API Documentation linked below. AWS API Documentation Return type: dict Returns: **Response Syntax** { 'JobName': 'string' } **Response Structure** * *(dict) --* * **JobName** *(string) --* Returns the name of the updated job definition. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.ConcurrentModificationException" Glue / Client / list_sessions list_sessions ************* Glue.Client.list_sessions(**kwargs) Retrieve a list of sessions. See also: AWS API Documentation **Request Syntax** response = client.list_sessions( NextToken='string', MaxResults=123, Tags={ 'string': 'string' }, RequestOrigin='string' ) Parameters: * **NextToken** (*string*) -- The token for the next set of results, or null if there are no more result. * **MaxResults** (*integer*) -- The maximum number of results. * **Tags** (*dict*) -- Tags belonging to the session. * *(string) --* * *(string) --* * **RequestOrigin** (*string*) -- The origin of the request. Return type: dict Returns: **Response Syntax** { 'Ids': [ 'string', ], 'Sessions': [ { 'Id': 'string', 'CreatedOn': datetime(2015, 1, 1), 'Status': 'PROVISIONING'|'READY'|'FAILED'|'TIMEOUT'|'STOPPING'|'STOPPED', 'ErrorMessage': 'string', 'Description': 'string', 'Role': 'string', 'Command': { 'Name': 'string', 'PythonVersion': 'string' }, 'DefaultArguments': { 'string': 'string' }, 'Connections': { 'Connections': [ 'string', ] }, 'Progress': 123.0, 'MaxCapacity': 123.0, 'SecurityConfiguration': 'string', 'GlueVersion': 'string', 'NumberOfWorkers': 123, 'WorkerType': 'Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X', 'CompletedOn': datetime(2015, 1, 1), 'ExecutionTime': 123.0, 'DPUSeconds': 123.0, 'IdleTimeout': 123, 'ProfileName': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Ids** *(list) --* Returns the ID of the session. * *(string) --* * **Sessions** *(list) --* Returns the session object. * *(dict) --* The period in which a remote Spark runtime environment is running. * **Id** *(string) --* The ID of the session. * **CreatedOn** *(datetime) --* The time and date when the session was created. * **Status** *(string) --* The session status. * **ErrorMessage** *(string) --* The error message displayed during the session. * **Description** *(string) --* The description of the session. * **Role** *(string) --* The name or Amazon Resource Name (ARN) of the IAM role associated with the Session. * **Command** *(dict) --* The command object.See SessionCommand. * **Name** *(string) --* Specifies the name of the SessionCommand. Can be 'glueetl' or 'gluestreaming'. * **PythonVersion** *(string) --* Specifies the Python version. The Python version indicates the version supported for jobs of type Spark. * **DefaultArguments** *(dict) --* A map array of key-value pairs. Max is 75 pairs. * *(string) --* * *(string) --* * **Connections** *(dict) --* The number of connections used for the session. * **Connections** *(list) --* A list of connections used by the job. * *(string) --* * **Progress** *(float) --* The code execution progress of the session. * **MaxCapacity** *(float) --* The number of Glue data processing units (DPUs) that can be allocated when the job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory. * **SecurityConfiguration** *(string) --* The name of the SecurityConfiguration structure to be used with the session. * **GlueVersion** *(string) --* The Glue version determines the versions of Apache Spark and Python that Glue supports. The GlueVersion must be greater than 2.0. * **NumberOfWorkers** *(integer) --* The number of workers of a defined "WorkerType" to use for the session. * **WorkerType** *(string) --* The type of predefined worker that is allocated when a session runs. Accepts a value of "G.1X", "G.2X", "G.4X", or "G.8X" for Spark sessions. Accepts the value "Z.2X" for Ray sessions. * **CompletedOn** *(datetime) --* The date and time that this session is completed. * **ExecutionTime** *(float) --* The total time the session ran for. * **DPUSeconds** *(float) --* The DPUs consumed by the session (formula: ExecutionTime * MaxCapacity). * **IdleTimeout** *(integer) --* The number of minutes when idle before the session times out. * **ProfileName** *(string) --* The name of an Glue usage profile associated with the session. * **NextToken** *(string) --* The token for the next set of results, or null if there are no more result. **Exceptions** * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / batch_delete_table batch_delete_table ****************** Glue.Client.batch_delete_table(**kwargs) Deletes multiple tables at once. Note: After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service.To ensure the immediate deletion of all related resources, before calling "BatchDeleteTable", use "DeleteTableVersion" or "BatchDeleteTableVersion", and "DeletePartition" or "BatchDeletePartition", to delete any resources that belong to the table. See also: AWS API Documentation **Request Syntax** response = client.batch_delete_table( CatalogId='string', DatabaseName='string', TablesToDelete=[ 'string', ], TransactionId='string' ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the table resides. If none is provided, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the catalog database in which the tables to delete reside. For Hive compatibility, this name is entirely lowercase. * **TablesToDelete** (*list*) -- **[REQUIRED]** A list of the table to delete. * *(string) --* * **TransactionId** (*string*) -- The transaction ID at which to delete the table contents. Return type: dict Returns: **Response Syntax** { 'Errors': [ { 'TableName': 'string', 'ErrorDetail': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } **Response Structure** * *(dict) --* * **Errors** *(list) --* A list of errors encountered in attempting to delete the specified tables. * *(dict) --* An error record for table operations. * **TableName** *(string) --* The name of the table. For Hive compatibility, this must be entirely lowercase. * **ErrorDetail** *(dict) --* The details about the error. * **ErrorCode** *(string) --* The code associated with this error. * **ErrorMessage** *(string) --* A message describing the error. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.GlueEncryptionException" * "Glue.Client.exceptions.ResourceNotReadyException" Glue / Client / delete_usage_profile delete_usage_profile ******************** Glue.Client.delete_usage_profile(**kwargs) Deletes the Glue specified usage profile. See also: AWS API Documentation **Request Syntax** response = client.delete_usage_profile( Name='string' ) Parameters: **Name** (*string*) -- **[REQUIRED]** The name of the usage profile to delete. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.OperationNotSupportedException" Glue / Client / stop_column_statistics_task_run stop_column_statistics_task_run ******************************* Glue.Client.stop_column_statistics_task_run(**kwargs) Stops a task run for the specified table. See also: AWS API Documentation **Request Syntax** response = client.stop_column_statistics_task_run( DatabaseName='string', TableName='string' ) Parameters: * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the database where the table resides. * **TableName** (*string*) -- **[REQUIRED]** The name of the table. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.ColumnStatisticsTaskNotRunningException" * "Glue.Client.exceptions.ColumnStatisticsTaskStoppingException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / stop_crawler_schedule stop_crawler_schedule ********************* Glue.Client.stop_crawler_schedule(**kwargs) Sets the schedule state of the specified crawler to "NOT_SCHEDULED", but does not stop the crawler if it is already running. See also: AWS API Documentation **Request Syntax** response = client.stop_crawler_schedule( CrawlerName='string' ) Parameters: **CrawlerName** (*string*) -- **[REQUIRED]** Name of the crawler whose schedule state to set. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.SchedulerNotRunningException" * "Glue.Client.exceptions.SchedulerTransitioningException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / get_ml_transforms get_ml_transforms ***************** Glue.Client.get_ml_transforms(**kwargs) Gets a sortable, filterable list of existing Glue machine learning transforms. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by Glue, and you can retrieve their metadata by calling "GetMLTransforms". See also: AWS API Documentation **Request Syntax** response = client.get_ml_transforms( NextToken='string', MaxResults=123, Filter={ 'Name': 'string', 'TransformType': 'FIND_MATCHES', 'Status': 'NOT_READY'|'READY'|'DELETING', 'GlueVersion': 'string', 'CreatedBefore': datetime(2015, 1, 1), 'CreatedAfter': datetime(2015, 1, 1), 'LastModifiedBefore': datetime(2015, 1, 1), 'LastModifiedAfter': datetime(2015, 1, 1), 'Schema': [ { 'Name': 'string', 'DataType': 'string' }, ] }, Sort={ 'Column': 'NAME'|'TRANSFORM_TYPE'|'STATUS'|'CREATED'|'LAST_MODIFIED', 'SortDirection': 'DESCENDING'|'ASCENDING' } ) Parameters: * **NextToken** (*string*) -- A paginated token to offset the results. * **MaxResults** (*integer*) -- The maximum number of results to return. * **Filter** (*dict*) -- The filter transformation criteria. * **Name** *(string) --* A unique transform name that is used to filter the machine learning transforms. * **TransformType** *(string) --* The type of machine learning transform that is used to filter the machine learning transforms. * **Status** *(string) --* Filters the list of machine learning transforms by the last known status of the transforms (to indicate whether a transform can be used or not). One of "NOT_READY", "READY", or "DELETING". * **GlueVersion** *(string) --* This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see Glue Versions in the developer guide. * **CreatedBefore** *(datetime) --* The time and date before which the transforms were created. * **CreatedAfter** *(datetime) --* The time and date after which the transforms were created. * **LastModifiedBefore** *(datetime) --* Filter on transforms last modified before this date. * **LastModifiedAfter** *(datetime) --* Filter on transforms last modified after this date. * **Schema** *(list) --* Filters on datasets with a specific schema. The "Map" object is an array of key-value pairs representing the schema this transform accepts, where "Column" is the name of a column, and "Type" is the type of the data such as an integer or string. Has an upper bound of 100 columns. * *(dict) --* A key-value pair representing a column and data type that this transform can run against. The "Schema" parameter of the "MLTransform" may contain up to 100 of these structures. * **Name** *(string) --* The name of the column. * **DataType** *(string) --* The type of data in the column. * **Sort** (*dict*) -- The sorting criteria. * **Column** *(string) --* **[REQUIRED]** The column to be used in the sorting criteria that are associated with the machine learning transform. * **SortDirection** *(string) --* **[REQUIRED]** The sort direction to be used in the sorting criteria that are associated with the machine learning transform. Return type: dict Returns: **Response Syntax** { 'Transforms': [ { 'TransformId': 'string', 'Name': 'string', 'Description': 'string', 'Status': 'NOT_READY'|'READY'|'DELETING', 'CreatedOn': datetime(2015, 1, 1), 'LastModifiedOn': datetime(2015, 1, 1), 'InputRecordTables': [ { 'DatabaseName': 'string', 'TableName': 'string', 'CatalogId': 'string', 'ConnectionName': 'string', 'AdditionalOptions': { 'string': 'string' } }, ], 'Parameters': { 'TransformType': 'FIND_MATCHES', 'FindMatchesParameters': { 'PrimaryKeyColumnName': 'string', 'PrecisionRecallTradeoff': 123.0, 'AccuracyCostTradeoff': 123.0, 'EnforceProvidedLabels': True|False } }, 'EvaluationMetrics': { 'TransformType': 'FIND_MATCHES', 'FindMatchesMetrics': { 'AreaUnderPRCurve': 123.0, 'Precision': 123.0, 'Recall': 123.0, 'F1': 123.0, 'ConfusionMatrix': { 'NumTruePositives': 123, 'NumFalsePositives': 123, 'NumTrueNegatives': 123, 'NumFalseNegatives': 123 }, 'ColumnImportances': [ { 'ColumnName': 'string', 'Importance': 123.0 }, ] } }, 'LabelCount': 123, 'Schema': [ { 'Name': 'string', 'DataType': 'string' }, ], 'Role': 'string', 'GlueVersion': 'string', 'MaxCapacity': 123.0, 'WorkerType': 'Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X', 'NumberOfWorkers': 123, 'Timeout': 123, 'MaxRetries': 123, 'TransformEncryption': { 'MlUserDataEncryption': { 'MlUserDataEncryptionMode': 'DISABLED'|'SSE-KMS', 'KmsKeyId': 'string' }, 'TaskRunSecurityConfigurationName': 'string' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Transforms** *(list) --* A list of machine learning transforms. * *(dict) --* A structure for a machine learning transform. * **TransformId** *(string) --* The unique transform ID that is generated for the machine learning transform. The ID is guaranteed to be unique and does not change. * **Name** *(string) --* A user-defined name for the machine learning transform. Names are not guaranteed unique and can be changed at any time. * **Description** *(string) --* A user-defined, long-form description text for the machine learning transform. Descriptions are not guaranteed to be unique and can be changed at any time. * **Status** *(string) --* The current status of the machine learning transform. * **CreatedOn** *(datetime) --* A timestamp. The time and date that this machine learning transform was created. * **LastModifiedOn** *(datetime) --* A timestamp. The last point in time when this machine learning transform was modified. * **InputRecordTables** *(list) --* A list of Glue table definitions used by the transform. * *(dict) --* The database and table in the Glue Data Catalog that is used for input or output data. * **DatabaseName** *(string) --* A database name in the Glue Data Catalog. * **TableName** *(string) --* A table name in the Glue Data Catalog. * **CatalogId** *(string) --* A unique identifier for the Glue Data Catalog. * **ConnectionName** *(string) --* The name of the connection to the Glue Data Catalog. * **AdditionalOptions** *(dict) --* Additional options for the table. Currently there are two keys supported: * "pushDownPredicate": to filter on partitions without having to list and read all the files in your dataset. * "catalogPartitionPredicate": to use server-side partition pruning using partition indexes in the Glue Data Catalog. * *(string) --* * *(string) --* * **Parameters** *(dict) --* A "TransformParameters" object. You can use parameters to tune (customize) the behavior of the machine learning transform by specifying what data it learns from and your preference on various tradeoffs (such as precious vs. recall, or accuracy vs. cost). * **TransformType** *(string) --* The type of machine learning transform. For information about the types of machine learning transforms, see Creating Machine Learning Transforms. * **FindMatchesParameters** *(dict) --* The parameters for the find matches algorithm. * **PrimaryKeyColumnName** *(string) --* The name of a column that uniquely identifies rows in the source table. Used to help identify matching records. * **PrecisionRecallTradeoff** *(float) --* The value selected when tuning your transform for a balance between precision and recall. A value of 0.5 means no preference; a value of 1.0 means a bias purely for precision, and a value of 0.0 means a bias for recall. Because this is a tradeoff, choosing values close to 1.0 means very low recall, and choosing values close to 0.0 results in very low precision. The precision metric indicates how often your model is correct when it predicts a match. The recall metric indicates that for an actual match, how often your model predicts the match. * **AccuracyCostTradeoff** *(float) --* The value that is selected when tuning your transform for a balance between accuracy and cost. A value of 0.5 means that the system balances accuracy and cost concerns. A value of 1.0 means a bias purely for accuracy, which typically results in a higher cost, sometimes substantially higher. A value of 0.0 means a bias purely for cost, which results in a less accurate "FindMatches" transform, sometimes with unacceptable accuracy. Accuracy measures how well the transform finds true positives and true negatives. Increasing accuracy requires more machine resources and cost. But it also results in increased recall. Cost measures how many compute resources, and thus money, are consumed to run the transform. * **EnforceProvidedLabels** *(boolean) --* The value to switch on or off to force the output to match the provided labels from users. If the value is "True", the "find matches" transform forces the output to match the provided labels. The results override the normal conflation results. If the value is "False", the "find matches" transform does not ensure all the labels provided are respected, and the results rely on the trained model. Note that setting this value to true may increase the conflation execution time. * **EvaluationMetrics** *(dict) --* An "EvaluationMetrics" object. Evaluation metrics provide an estimate of the quality of your machine learning transform. * **TransformType** *(string) --* The type of machine learning transform. * **FindMatchesMetrics** *(dict) --* The evaluation metrics for the find matches algorithm. * **AreaUnderPRCurve** *(float) --* The area under the precision/recall curve (AUPRC) is a single number measuring the overall quality of the transform, that is independent of the choice made for precision vs. recall. Higher values indicate that you have a more attractive precision vs. recall tradeoff. For more information, see Precision and recall in Wikipedia. * **Precision** *(float) --* The precision metric indicates when often your transform is correct when it predicts a match. Specifically, it measures how well the transform finds true positives from the total true positives possible. For more information, see Precision and recall in Wikipedia. * **Recall** *(float) --* The recall metric indicates that for an actual match, how often your transform predicts the match. Specifically, it measures how well the transform finds true positives from the total records in the source data. For more information, see Precision and recall in Wikipedia. * **F1** *(float) --* The maximum F1 metric indicates the transform's accuracy between 0 and 1, where 1 is the best accuracy. For more information, see F1 score in Wikipedia. * **ConfusionMatrix** *(dict) --* The confusion matrix shows you what your transform is predicting accurately and what types of errors it is making. For more information, see Confusion matrix in Wikipedia. * **NumTruePositives** *(integer) --* The number of matches in the data that the transform correctly found, in the confusion matrix for your transform. * **NumFalsePositives** *(integer) --* The number of nonmatches in the data that the transform incorrectly classified as a match, in the confusion matrix for your transform. * **NumTrueNegatives** *(integer) --* The number of nonmatches in the data that the transform correctly rejected, in the confusion matrix for your transform. * **NumFalseNegatives** *(integer) --* The number of matches in the data that the transform didn't find, in the confusion matrix for your transform. * **ColumnImportances** *(list) --* A list of "ColumnImportance" structures containing column importance metrics, sorted in order of descending importance. * *(dict) --* A structure containing the column name and column importance score for a column. Column importance helps you understand how columns contribute to your model, by identifying which columns in your records are more important than others. * **ColumnName** *(string) --* The name of a column. * **Importance** *(float) --* The column importance score for the column, as a decimal. * **LabelCount** *(integer) --* A count identifier for the labeling files generated by Glue for this transform. As you create a better transform, you can iteratively download, label, and upload the labeling file. * **Schema** *(list) --* A map of key-value pairs representing the columns and data types that this transform can run against. Has an upper bound of 100 columns. * *(dict) --* A key-value pair representing a column and data type that this transform can run against. The "Schema" parameter of the "MLTransform" may contain up to 100 of these structures. * **Name** *(string) --* The name of the column. * **DataType** *(string) --* The type of data in the column. * **Role** *(string) --* The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both Glue service role permissions to Glue resources, and Amazon S3 permissions required by the transform. * This role needs Glue service role permissions to allow access to resources in Glue. See Attach a Policy to IAM Users That Access Glue. * This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform. * **GlueVersion** *(string) --* This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see Glue Versions in the developer guide. * **MaxCapacity** *(float) --* The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. "MaxCapacity" is a mutually exclusive option with "NumberOfWorkers" and "WorkerType". * If either "NumberOfWorkers" or "WorkerType" is set, then "MaxCapacity" cannot be set. * If "MaxCapacity" is set then neither "NumberOfWorkers" or "WorkerType" can be set. * If "WorkerType" is set, then "NumberOfWorkers" is required (and vice versa). * "MaxCapacity" and "NumberOfWorkers" must both be at least 1. When the "WorkerType" field is set to a value other than "Standard", the "MaxCapacity" field is set automatically and becomes read-only. * **WorkerType** *(string) --* The type of predefined worker that is allocated when a task of this transform runs. Accepts a value of Standard, G.1X, or G.2X. * For the "Standard" worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. * For the "G.1X" worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker. * For the "G.2X" worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker. "MaxCapacity" is a mutually exclusive option with "NumberOfWorkers" and "WorkerType". * If either "NumberOfWorkers" or "WorkerType" is set, then "MaxCapacity" cannot be set. * If "MaxCapacity" is set then neither "NumberOfWorkers" or "WorkerType" can be set. * If "WorkerType" is set, then "NumberOfWorkers" is required (and vice versa). * "MaxCapacity" and "NumberOfWorkers" must both be at least 1. * **NumberOfWorkers** *(integer) --* The number of workers of a defined "workerType" that are allocated when a task of the transform runs. If "WorkerType" is set, then "NumberOfWorkers" is required (and vice versa). * **Timeout** *(integer) --* The timeout in minutes of the machine learning transform. * **MaxRetries** *(integer) --* The maximum number of times to retry after an "MLTaskRun" of the machine learning transform fails. * **TransformEncryption** *(dict) --* The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS. * **MlUserDataEncryption** *(dict) --* An "MLUserDataEncryption" object containing the encryption mode and customer-provided KMS key ID. * **MlUserDataEncryptionMode** *(string) --* The encryption mode applied to user data. Valid values are: * DISABLED: encryption is disabled * SSEKMS: use of server-side encryption with Key Management Service (SSE-KMS) for user data stored in Amazon S3. * **KmsKeyId** *(string) --* The ID for the customer-provided KMS key. * **TaskRunSecurityConfigurationName** *(string) --* The name of the security configuration. * **NextToken** *(string) --* A pagination token, if more results are available. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / describe_integrations describe_integrations ********************* Glue.Client.describe_integrations(**kwargs) The API is used to retrieve a list of integrations. See also: AWS API Documentation **Request Syntax** response = client.describe_integrations( IntegrationIdentifier='string', Marker='string', MaxRecords=123, Filters=[ { 'Name': 'string', 'Values': [ 'string', ] }, ] ) Parameters: * **IntegrationIdentifier** (*string*) -- The Amazon Resource Name (ARN) for the integration. * **Marker** (*string*) -- A value that indicates the starting point for the next set of response records in a subsequent request. * **MaxRecords** (*integer*) -- The total number of items to return in the output. * **Filters** (*list*) -- A list of key and values, to filter down the results. Supported keys are "Status", "IntegrationName", and "SourceArn". IntegrationName is limited to only one value. * *(dict) --* A filter that can be used when invoking a "DescribeIntegrations" request. * **Name** *(string) --* The name of the filter. * **Values** *(list) --* A list of filter values. * *(string) --* Return type: dict Returns: **Response Syntax** { 'Integrations': [ { 'SourceArn': 'string', 'TargetArn': 'string', 'Description': 'string', 'IntegrationName': 'string', 'IntegrationArn': 'string', 'KmsKeyId': 'string', 'AdditionalEncryptionContext': { 'string': 'string' }, 'Tags': [ { 'key': 'string', 'value': 'string' }, ], 'Status': 'CREATING'|'ACTIVE'|'MODIFYING'|'FAILED'|'DELETING'|'SYNCING'|'NEEDS_ATTENTION', 'CreateTime': datetime(2015, 1, 1), 'IntegrationConfig': { 'RefreshInterval': 'string', 'SourceProperties': { 'string': 'string' } }, 'Errors': [ { 'ErrorCode': 'string', 'ErrorMessage': 'string' }, ], 'DataFilter': 'string' }, ], 'Marker': 'string' } **Response Structure** * *(dict) --* * **Integrations** *(list) --* A list of zero-ETL integrations. * *(dict) --* Describes a zero-ETL integration. * **SourceArn** *(string) --* The ARN for the source of the integration. * **TargetArn** *(string) --* The ARN for the target of the integration. * **Description** *(string) --* A description for the integration. * **IntegrationName** *(string) --* A unique name for the integration. * **IntegrationArn** *(string) --* The Amazon Resource Name (ARN) for the integration. * **KmsKeyId** *(string) --* The ARN of a KMS key used for encrypting the channel. * **AdditionalEncryptionContext** *(dict) --* An optional set of non-secret key–value pairs that contains additional contextual information for encryption. This can only be provided if "KMSKeyId" is provided. * *(string) --* * *(string) --* * **Tags** *(list) --* Metadata assigned to the resource consisting of a list of key-value pairs. * *(dict) --* The "Tag" object represents a label that you can assign to an Amazon Web Services resource. Each tag consists of a key and an optional value, both of which you define. For more information about tags, and controlling access to resources in Glue, see Amazon Web Services Tags in Glue and Specifying Glue Resource ARNs in the developer guide. * **key** *(string) --* The tag key. The key is required when you create a tag on an object. The key is case-sensitive, and must not contain the prefix aws. * **value** *(string) --* The tag value. The value is optional when you create a tag on an object. The value is case-sensitive, and must not contain the prefix aws. * **Status** *(string) --* The possible statuses are: * CREATING: The integration is being created. * ACTIVE: The integration creation succeeds. * MODIFYING: The integration is being modified. * FAILED: The integration creation fails. * DELETING: The integration is deleted. * SYNCING: The integration is synchronizing. * NEEDS_ATTENTION: The integration needs attention, such as synchronization. * **CreateTime** *(datetime) --* The time that the integration was created, in UTC. * **IntegrationConfig** *(dict) --* Properties associated with the integration. * **RefreshInterval** *(string) --* Specifies the frequency at which CDC (Change Data Capture) pulls or incremental loads should occur. This parameter provides flexibility to align the refresh rate with your specific data update patterns, system load considerations, and performance optimization goals. Time increment can be set from 15 minutes to 8640 minutes (six days). Currently supports creation of "RefreshInterval" only. * **SourceProperties** *(dict) --* A collection of key-value pairs that specify additional properties for the integration source. These properties provide configuration options that can be used to customize the behavior of the ODB source during data integration operations. * *(string) --* * *(string) --* * **Errors** *(list) --* A list of errors associated with the integration. * *(dict) --* An error associated with a zero-ETL integration. * **ErrorCode** *(string) --* The code associated with this error. * **ErrorMessage** *(string) --* A message describing the error. * **DataFilter** *(string) --* Selects source tables for the integration using Maxwell filter syntax. * **Marker** *(string) --* A value that indicates the starting point for the next set of response records in a subsequent request. **Exceptions** * "Glue.Client.exceptions.ValidationException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.InternalServerException" * "Glue.Client.exceptions.IntegrationNotFoundFault" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.InvalidInputException" Glue / Client / start_job_run start_job_run ************* Glue.Client.start_job_run(**kwargs) Starts a job run using a job definition. See also: AWS API Documentation **Request Syntax** response = client.start_job_run( JobName='string', JobRunQueuingEnabled=True|False, JobRunId='string', Arguments={ 'string': 'string' }, AllocatedCapacity=123, Timeout=123, MaxCapacity=123.0, SecurityConfiguration='string', NotificationProperty={ 'NotifyDelayAfter': 123 }, WorkerType='Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X', NumberOfWorkers=123, ExecutionClass='FLEX'|'STANDARD', ExecutionRoleSessionPolicy='string' ) Parameters: * **JobName** (*string*) -- **[REQUIRED]** The name of the job definition to use. * **JobRunQueuingEnabled** (*boolean*) -- Specifies whether job run queuing is enabled for the job run. A value of true means job run queuing is enabled for the job run. If false or not populated, the job run will not be considered for queueing. * **JobRunId** (*string*) -- The ID of a previous "JobRun" to retry. * **Arguments** (*dict*) -- The job arguments associated with this run. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job-execution script consumes, as well as arguments that Glue itself consumes. Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a Glue Connection, Secrets Manager or other secret management mechanism if you intend to keep them within the Job. For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide. For information about the arguments you can provide to this field when configuring Spark jobs, see the Special Parameters Used by Glue topic in the developer guide. For information about the arguments you can provide to this field when configuring Ray jobs, see Using job parameters in Ray jobs in the developer guide. * *(string) --* * *(string) --* * **AllocatedCapacity** (*integer*) -- This field is deprecated. Use "MaxCapacity" instead. The number of Glue data processing units (DPUs) to allocate to this JobRun. You can allocate a minimum of 2 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. * **Timeout** (*integer*) -- The "JobRun" timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters "TIMEOUT" status. This value overrides the timeout value set in the parent job. Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception. When the value is left blank, the timeout is defaulted to 2880 minutes. Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day. For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days. * **MaxCapacity** (*float*) -- For Glue version 1.0 or earlier jobs, using the standard worker type, the number of Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. For Glue version 2.0+ jobs, you cannot specify a "Maximum capacity". Instead, you should specify a "Worker type" and the "Number of workers". Do not set "MaxCapacity" if using "WorkerType" and "NumberOfWorkers". The value that can be allocated for "MaxCapacity" depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job: * When you specify a Python shell job ( >>``<>``<>``<>``<>``<>``<>``<>``<>``<" object is an array of key-value pairs representing the schema this transform accepts, where "Column" is the name of a column, and "Type" is the type of the data such as an integer or string. Has an upper bound of 100 columns. * *(dict) --* A key-value pair representing a column and data type that this transform can run against. The "Schema" parameter of the "MLTransform" may contain up to 100 of these structures. * **Name** *(string) --* The name of the column. * **DataType** *(string) --* The type of data in the column. * **Sort** (*dict*) -- A "TransformSortCriteria" used to sort the machine learning transforms. * **Column** *(string) --* **[REQUIRED]** The column to be used in the sorting criteria that are associated with the machine learning transform. * **SortDirection** *(string) --* **[REQUIRED]** The sort direction to be used in the sorting criteria that are associated with the machine learning transform. * **Tags** (*dict*) -- Specifies to return only these tagged resources. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'TransformIds': [ 'string', ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **TransformIds** *(list) --* The identifiers of all the machine learning transforms in the account, or the machine learning transforms with the specified tags. * *(string) --* * **NextToken** *(string) --* A continuation token, if the returned list does not contain the last metric available. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / get_table get_table ********* Glue.Client.get_table(**kwargs) Retrieves the "Table" definition in a Data Catalog for a specified table. See also: AWS API Documentation **Request Syntax** response = client.get_table( CatalogId='string', DatabaseName='string', Name='string', TransactionId='string', QueryAsOfTime=datetime(2015, 1, 1), IncludeStatusDetails=True|False ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the table resides. If none is provided, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase. * **Name** (*string*) -- **[REQUIRED]** The name of the table for which to retrieve the definition. For Hive compatibility, this name is entirely lowercase. * **TransactionId** (*string*) -- The transaction ID at which to read the table contents. * **QueryAsOfTime** (*datetime*) -- The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with "TransactionId". * **IncludeStatusDetails** (*boolean*) -- Specifies whether to include status details related to a request to create or update an Glue Data Catalog view. Return type: dict Returns: **Response Syntax** { 'Table': { 'Name': 'string', 'DatabaseName': 'string', 'Description': 'string', 'Owner': 'string', 'CreateTime': datetime(2015, 1, 1), 'UpdateTime': datetime(2015, 1, 1), 'LastAccessTime': datetime(2015, 1, 1), 'LastAnalyzedTime': datetime(2015, 1, 1), 'Retention': 123, 'StorageDescriptor': { 'Columns': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'Location': 'string', 'AdditionalLocations': [ 'string', ], 'InputFormat': 'string', 'OutputFormat': 'string', 'Compressed': True|False, 'NumberOfBuckets': 123, 'SerdeInfo': { 'Name': 'string', 'SerializationLibrary': 'string', 'Parameters': { 'string': 'string' } }, 'BucketColumns': [ 'string', ], 'SortColumns': [ { 'Column': 'string', 'SortOrder': 123 }, ], 'Parameters': { 'string': 'string' }, 'SkewedInfo': { 'SkewedColumnNames': [ 'string', ], 'SkewedColumnValues': [ 'string', ], 'SkewedColumnValueLocationMaps': { 'string': 'string' } }, 'StoredAsSubDirectories': True|False, 'SchemaReference': { 'SchemaId': { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionNumber': 123 } }, 'PartitionKeys': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'ViewOriginalText': 'string', 'ViewExpandedText': 'string', 'TableType': 'string', 'Parameters': { 'string': 'string' }, 'CreatedBy': 'string', 'IsRegisteredWithLakeFormation': True|False, 'TargetTable': { 'CatalogId': 'string', 'DatabaseName': 'string', 'Name': 'string', 'Region': 'string' }, 'CatalogId': 'string', 'VersionId': 'string', 'FederatedTable': { 'Identifier': 'string', 'DatabaseIdentifier': 'string', 'ConnectionName': 'string', 'ConnectionType': 'string' }, 'ViewDefinition': { 'IsProtected': True|False, 'Definer': 'string', 'SubObjects': [ 'string', ], 'Representations': [ { 'Dialect': 'REDSHIFT'|'ATHENA'|'SPARK', 'DialectVersion': 'string', 'ViewOriginalText': 'string', 'ViewExpandedText': 'string', 'ValidationConnection': 'string', 'IsStale': True|False }, ] }, 'IsMultiDialectView': True|False, 'Status': { 'RequestedBy': 'string', 'UpdatedBy': 'string', 'RequestTime': datetime(2015, 1, 1), 'UpdateTime': datetime(2015, 1, 1), 'Action': 'UPDATE'|'CREATE', 'State': 'QUEUED'|'IN_PROGRESS'|'SUCCESS'|'STOPPED'|'FAILED', 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' }, 'Details': { 'RequestedChange': {'... recursive ...'}, 'ViewValidations': [ { 'Dialect': 'REDSHIFT'|'ATHENA'|'SPARK', 'DialectVersion': 'string', 'ViewValidationText': 'string', 'UpdateTime': datetime(2015, 1, 1), 'State': 'QUEUED'|'IN_PROGRESS'|'SUCCESS'|'STOPPED'|'FAILED', 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } } } } **Response Structure** * *(dict) --* * **Table** *(dict) --* The "Table" object that defines the specified table. * **Name** *(string) --* The table name. For Hive compatibility, this must be entirely lowercase. * **DatabaseName** *(string) --* The name of the database where the table metadata resides. For Hive compatibility, this must be all lowercase. * **Description** *(string) --* A description of the table. * **Owner** *(string) --* The owner of the table. * **CreateTime** *(datetime) --* The time when the table definition was created in the Data Catalog. * **UpdateTime** *(datetime) --* The last time that the table was updated. * **LastAccessTime** *(datetime) --* The last time that the table was accessed. This is usually taken from HDFS, and might not be reliable. * **LastAnalyzedTime** *(datetime) --* The last time that column statistics were computed for this table. * **Retention** *(integer) --* The retention time for this table. * **StorageDescriptor** *(dict) --* A storage descriptor containing information about the physical storage of this table. * **Columns** *(list) --* A list of the "Columns" in the table. * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **Location** *(string) --* The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * **AdditionalLocations** *(list) --* A list of locations that point to the path where a Delta table is located. * *(string) --* * **InputFormat** *(string) --* The input format: "SequenceFileInputFormat" (binary), or "TextInputFormat", or a custom format. * **OutputFormat** *(string) --* The output format: "SequenceFileOutputFormat" (binary), or "IgnoreKeyTextOutputFormat", or a custom format. * **Compressed** *(boolean) --* "True" if the data in the table is compressed, or "False" if not. * **NumberOfBuckets** *(integer) --* Must be specified if the table contains any dimension columns. * **SerdeInfo** *(dict) --* The serialization/deserialization (SerDe) information. * **Name** *(string) --* Name of the SerDe. * **SerializationLibrary** *(string) --* Usually the class that implements the SerDe. An example is "org.apache.hadoop.hive.serde2.columnar.Co lumnarSerDe". * **Parameters** *(dict) --* These key-value pairs define initialization parameters for the SerDe. * *(string) --* * *(string) --* * **BucketColumns** *(list) --* A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * *(string) --* * **SortColumns** *(list) --* A list specifying the sort order of each bucket in the table. * *(dict) --* Specifies the sort order of a sorted column. * **Column** *(string) --* The name of the column. * **SortOrder** *(integer) --* Indicates that the column is sorted in ascending order ( "== 1"), or in descending order ( "==0"). * **Parameters** *(dict) --* The user-supplied properties in key-value form. * *(string) --* * *(string) --* * **SkewedInfo** *(dict) --* The information about values that appear frequently in a column (skewed values). * **SkewedColumnNames** *(list) --* A list of names of columns that contain skewed values. * *(string) --* * **SkewedColumnValues** *(list) --* A list of values that appear so frequently as to be considered skewed. * *(string) --* * **SkewedColumnValueLocationMaps** *(dict) --* A mapping of skewed values to the columns that contain them. * *(string) --* * *(string) --* * **StoredAsSubDirectories** *(boolean) --* "True" if the table data is stored in subdirectories, or "False" if not. * **SchemaReference** *(dict) --* An object that references a schema stored in the Glue Schema Registry. When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference. * **SchemaId** *(dict) --* A structure that contains schema identity fields. Either this or the "SchemaVersionId" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionId** *(string) --* The unique ID assigned to a version of the schema. Either this or the "SchemaId" has to be provided. * **SchemaVersionNumber** *(integer) --* The version number of the schema. * **PartitionKeys** *(list) --* A list of columns by which the table is partitioned. Only primitive types are supported as partition keys. When you create a table used by Amazon Athena, and you do not specify any "partitionKeys", you must at least set the value of "partitionKeys" to an empty list. For example: ""PartitionKeys": []" * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **ViewOriginalText** *(string) --* Included for Apache Hive compatibility. Not used in the normal course of Glue operations. If the table is a "VIRTUAL_VIEW", certain Athena configuration encoded in base64. * **ViewExpandedText** *(string) --* Included for Apache Hive compatibility. Not used in the normal course of Glue operations. * **TableType** *(string) --* The type of this table. Glue will create tables with the "EXTERNAL_TABLE" type. Other services, such as Athena, may create tables with additional table types. Glue related table types: EXTERNAL_TABLE Hive compatible attribute - indicates a non-Hive managed table. GOVERNED Used by Lake Formation. The Glue Data Catalog understands "GOVERNED". * **Parameters** *(dict) --* These key-value pairs define properties associated with the table. * *(string) --* * *(string) --* * **CreatedBy** *(string) --* The person or entity who created the table. * **IsRegisteredWithLakeFormation** *(boolean) --* Indicates whether the table has been registered with Lake Formation. * **TargetTable** *(dict) --* A "TableIdentifier" structure that describes a target table for resource linking. * **CatalogId** *(string) --* The ID of the Data Catalog in which the table resides. * **DatabaseName** *(string) --* The name of the catalog database that contains the target table. * **Name** *(string) --* The name of the target table. * **Region** *(string) --* Region of the target table. * **CatalogId** *(string) --* The ID of the Data Catalog in which the table resides. * **VersionId** *(string) --* The ID of the table version. * **FederatedTable** *(dict) --* A "FederatedTable" structure that references an entity outside the Glue Data Catalog. * **Identifier** *(string) --* A unique identifier for the federated table. * **DatabaseIdentifier** *(string) --* A unique identifier for the federated database. * **ConnectionName** *(string) --* The name of the connection to the external metastore. * **ConnectionType** *(string) --* The type of connection used to access the federated table, specifying the protocol or method for connecting to the external data source. * **ViewDefinition** *(dict) --* A structure that contains all the information that defines the view, including the dialect or dialects for the view, and the query. * **IsProtected** *(boolean) --* You can set this flag as true to instruct the engine not to push user-provided operations into the logical plan of the view during query planning. However, setting this flag does not guarantee that the engine will comply. Refer to the engine's documentation to understand the guarantees provided, if any. * **Definer** *(string) --* The definer of a view in SQL. * **SubObjects** *(list) --* A list of table Amazon Resource Names (ARNs). * *(string) --* * **Representations** *(list) --* A list of representations. * *(dict) --* A structure that contains the dialect of the view, and the query that defines the view. * **Dialect** *(string) --* The dialect of the query engine. * **DialectVersion** *(string) --* The version of the dialect of the query engine. For example, 3.0.0. * **ViewOriginalText** *(string) --* The "SELECT" query provided by the customer during "CREATE VIEW DDL". This SQL is not used during a query on a view ( "ViewExpandedText" is used instead). "ViewOriginalText" is used for cases like "SHOW CREATE VIEW" where users want to see the original DDL command that created the view. * **ViewExpandedText** *(string) --* The expanded SQL for the view. This SQL is used by engines while processing a query on a view. Engines may perform operations during view creation to transform "ViewOriginalText" to "ViewExpandedText". For example: * Fully qualified identifiers: "SELECT * from table1 -> SELECT * from db1.table1" * **ValidationConnection** *(string) --* The name of the connection to be used to validate the specific representation of the view. * **IsStale** *(boolean) --* Dialects marked as stale are no longer valid and must be updated before they can be queried in their respective query engines. * **IsMultiDialectView** *(boolean) --* Specifies whether the view supports the SQL dialects of one or more different query engines and can therefore be read by those engines. * **Status** *(dict) --* A structure containing information about the state of an asynchronous change to a table. * **RequestedBy** *(string) --* The ARN of the user who requested the asynchronous change. * **UpdatedBy** *(string) --* The ARN of the user to last manually alter the asynchronous change (requesting cancellation, etc). * **RequestTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the change was initiated. * **UpdateTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the state was last updated. * **Action** *(string) --* Indicates which action was called on the table, currently only "CREATE" or "UPDATE". * **State** *(string) --* A generic status for the change in progress, such as QUEUED, IN_PROGRESS, SUCCESS, or FAILED. * **Error** *(dict) --* An error that will only appear when the state is "FAILED". This is a parent level exception message, there may be different >>``<>``<>``<<. * **NextToken** (*string*) -- A continuation token, included if this is a continuation call. * **Filters** (*list*) -- A list of key-value pairs, and a comparator used to filter the search results. Returns all entities matching the predicate. The "Comparator" member of the "PropertyPredicate" struct is used only for time fields, and can be omitted for other field types. Also, when comparing string values, such as when "Key=Name", a fuzzy match algorithm is used. The "Key" field (for example, the value of the "Name" field) is split on certain punctuation characters, for example, -, :, #, etc. into tokens. Then each token is exact-match compared with the "Value" member of "PropertyPredicate". For example, if "Key=Name" and "Value=link", tables named "customer-link" and "xx-link-yy" are returned, but "xxlinkyy" is not returned. * *(dict) --* Defines a property predicate. * **Key** *(string) --* The key of the property. * **Value** *(string) --* The value of the property. * **Comparator** *(string) --* The comparator used to compare this property to others. * **SearchText** (*string*) -- A string used for a text search. Specifying a value in quotes filters based on an exact match to the value. * **SortCriteria** (*list*) -- A list of criteria for sorting the results by a field name, in an ascending or descending order. * *(dict) --* Specifies a field to sort by and a sort order. * **FieldName** *(string) --* The name of the field on which to sort. * **Sort** *(string) --* An ascending or descending sort. * **MaxResults** (*integer*) -- The maximum number of tables to return in a single response. * **ResourceShareType** (*string*) -- Allows you to specify that you want to search the tables shared with your account. The allowable values are "FOREIGN" or "ALL". * If set to "FOREIGN", will search the tables shared with your account. * If set to "ALL", will search the tables shared with your account, as well as the tables in yor local account. * **IncludeStatusDetails** (*boolean*) -- Specifies whether to include status details related to a request to create or update an Glue Data Catalog view. Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'TableList': [ { 'Name': 'string', 'DatabaseName': 'string', 'Description': 'string', 'Owner': 'string', 'CreateTime': datetime(2015, 1, 1), 'UpdateTime': datetime(2015, 1, 1), 'LastAccessTime': datetime(2015, 1, 1), 'LastAnalyzedTime': datetime(2015, 1, 1), 'Retention': 123, 'StorageDescriptor': { 'Columns': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'Location': 'string', 'AdditionalLocations': [ 'string', ], 'InputFormat': 'string', 'OutputFormat': 'string', 'Compressed': True|False, 'NumberOfBuckets': 123, 'SerdeInfo': { 'Name': 'string', 'SerializationLibrary': 'string', 'Parameters': { 'string': 'string' } }, 'BucketColumns': [ 'string', ], 'SortColumns': [ { 'Column': 'string', 'SortOrder': 123 }, ], 'Parameters': { 'string': 'string' }, 'SkewedInfo': { 'SkewedColumnNames': [ 'string', ], 'SkewedColumnValues': [ 'string', ], 'SkewedColumnValueLocationMaps': { 'string': 'string' } }, 'StoredAsSubDirectories': True|False, 'SchemaReference': { 'SchemaId': { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionNumber': 123 } }, 'PartitionKeys': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'ViewOriginalText': 'string', 'ViewExpandedText': 'string', 'TableType': 'string', 'Parameters': { 'string': 'string' }, 'CreatedBy': 'string', 'IsRegisteredWithLakeFormation': True|False, 'TargetTable': { 'CatalogId': 'string', 'DatabaseName': 'string', 'Name': 'string', 'Region': 'string' }, 'CatalogId': 'string', 'VersionId': 'string', 'FederatedTable': { 'Identifier': 'string', 'DatabaseIdentifier': 'string', 'ConnectionName': 'string', 'ConnectionType': 'string' }, 'ViewDefinition': { 'IsProtected': True|False, 'Definer': 'string', 'SubObjects': [ 'string', ], 'Representations': [ { 'Dialect': 'REDSHIFT'|'ATHENA'|'SPARK', 'DialectVersion': 'string', 'ViewOriginalText': 'string', 'ViewExpandedText': 'string', 'ValidationConnection': 'string', 'IsStale': True|False }, ] }, 'IsMultiDialectView': True|False, 'Status': { 'RequestedBy': 'string', 'UpdatedBy': 'string', 'RequestTime': datetime(2015, 1, 1), 'UpdateTime': datetime(2015, 1, 1), 'Action': 'UPDATE'|'CREATE', 'State': 'QUEUED'|'IN_PROGRESS'|'SUCCESS'|'STOPPED'|'FAILED', 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' }, 'Details': { 'RequestedChange': {'... recursive ...'}, 'ViewValidations': [ { 'Dialect': 'REDSHIFT'|'ATHENA'|'SPARK', 'DialectVersion': 'string', 'ViewValidationText': 'string', 'UpdateTime': datetime(2015, 1, 1), 'State': 'QUEUED'|'IN_PROGRESS'|'SUCCESS'|'STOPPED'|'FAILED', 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } } }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* A continuation token, present if the current list segment is not the last. * **TableList** *(list) --* A list of the requested "Table" objects. The "SearchTables" response returns only the tables that you have access to. * *(dict) --* Represents a collection of related data organized in columns and rows. * **Name** *(string) --* The table name. For Hive compatibility, this must be entirely lowercase. * **DatabaseName** *(string) --* The name of the database where the table metadata resides. For Hive compatibility, this must be all lowercase. * **Description** *(string) --* A description of the table. * **Owner** *(string) --* The owner of the table. * **CreateTime** *(datetime) --* The time when the table definition was created in the Data Catalog. * **UpdateTime** *(datetime) --* The last time that the table was updated. * **LastAccessTime** *(datetime) --* The last time that the table was accessed. This is usually taken from HDFS, and might not be reliable. * **LastAnalyzedTime** *(datetime) --* The last time that column statistics were computed for this table. * **Retention** *(integer) --* The retention time for this table. * **StorageDescriptor** *(dict) --* A storage descriptor containing information about the physical storage of this table. * **Columns** *(list) --* A list of the "Columns" in the table. * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **Location** *(string) --* The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * **AdditionalLocations** *(list) --* A list of locations that point to the path where a Delta table is located. * *(string) --* * **InputFormat** *(string) --* The input format: "SequenceFileInputFormat" (binary), or "TextInputFormat", or a custom format. * **OutputFormat** *(string) --* The output format: "SequenceFileOutputFormat" (binary), or "IgnoreKeyTextOutputFormat", or a custom format. * **Compressed** *(boolean) --* "True" if the data in the table is compressed, or "False" if not. * **NumberOfBuckets** *(integer) --* Must be specified if the table contains any dimension columns. * **SerdeInfo** *(dict) --* The serialization/deserialization (SerDe) information. * **Name** *(string) --* Name of the SerDe. * **SerializationLibrary** *(string) --* Usually the class that implements the SerDe. An example is "org.apache.hadoop.hive.serde2.columnar. ColumnarSerDe". * **Parameters** *(dict) --* These key-value pairs define initialization parameters for the SerDe. * *(string) --* * *(string) --* * **BucketColumns** *(list) --* A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * *(string) --* * **SortColumns** *(list) --* A list specifying the sort order of each bucket in the table. * *(dict) --* Specifies the sort order of a sorted column. * **Column** *(string) --* The name of the column. * **SortOrder** *(integer) --* Indicates that the column is sorted in ascending order ( "== 1"), or in descending order ( "==0"). * **Parameters** *(dict) --* The user-supplied properties in key-value form. * *(string) --* * *(string) --* * **SkewedInfo** *(dict) --* The information about values that appear frequently in a column (skewed values). * **SkewedColumnNames** *(list) --* A list of names of columns that contain skewed values. * *(string) --* * **SkewedColumnValues** *(list) --* A list of values that appear so frequently as to be considered skewed. * *(string) --* * **SkewedColumnValueLocationMaps** *(dict) --* A mapping of skewed values to the columns that contain them. * *(string) --* * *(string) --* * **StoredAsSubDirectories** *(boolean) --* "True" if the table data is stored in subdirectories, or "False" if not. * **SchemaReference** *(dict) --* An object that references a schema stored in the Glue Schema Registry. When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference. * **SchemaId** *(dict) --* A structure that contains schema identity fields. Either this or the "SchemaVersionId" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionId** *(string) --* The unique ID assigned to a version of the schema. Either this or the "SchemaId" has to be provided. * **SchemaVersionNumber** *(integer) --* The version number of the schema. * **PartitionKeys** *(list) --* A list of columns by which the table is partitioned. Only primitive types are supported as partition keys. When you create a table used by Amazon Athena, and you do not specify any "partitionKeys", you must at least set the value of "partitionKeys" to an empty list. For example: ""PartitionKeys": []" * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **ViewOriginalText** *(string) --* Included for Apache Hive compatibility. Not used in the normal course of Glue operations. If the table is a "VIRTUAL_VIEW", certain Athena configuration encoded in base64. * **ViewExpandedText** *(string) --* Included for Apache Hive compatibility. Not used in the normal course of Glue operations. * **TableType** *(string) --* The type of this table. Glue will create tables with the "EXTERNAL_TABLE" type. Other services, such as Athena, may create tables with additional table types. Glue related table types: EXTERNAL_TABLE Hive compatible attribute - indicates a non-Hive managed table. GOVERNED Used by Lake Formation. The Glue Data Catalog understands "GOVERNED". * **Parameters** *(dict) --* These key-value pairs define properties associated with the table. * *(string) --* * *(string) --* * **CreatedBy** *(string) --* The person or entity who created the table. * **IsRegisteredWithLakeFormation** *(boolean) --* Indicates whether the table has been registered with Lake Formation. * **TargetTable** *(dict) --* A "TableIdentifier" structure that describes a target table for resource linking. * **CatalogId** *(string) --* The ID of the Data Catalog in which the table resides. * **DatabaseName** *(string) --* The name of the catalog database that contains the target table. * **Name** *(string) --* The name of the target table. * **Region** *(string) --* Region of the target table. * **CatalogId** *(string) --* The ID of the Data Catalog in which the table resides. * **VersionId** *(string) --* The ID of the table version. * **FederatedTable** *(dict) --* A "FederatedTable" structure that references an entity outside the Glue Data Catalog. * **Identifier** *(string) --* A unique identifier for the federated table. * **DatabaseIdentifier** *(string) --* A unique identifier for the federated database. * **ConnectionName** *(string) --* The name of the connection to the external metastore. * **ConnectionType** *(string) --* The type of connection used to access the federated table, specifying the protocol or method for connecting to the external data source. * **ViewDefinition** *(dict) --* A structure that contains all the information that defines the view, including the dialect or dialects for the view, and the query. * **IsProtected** *(boolean) --* You can set this flag as true to instruct the engine not to push user-provided operations into the logical plan of the view during query planning. However, setting this flag does not guarantee that the engine will comply. Refer to the engine's documentation to understand the guarantees provided, if any. * **Definer** *(string) --* The definer of a view in SQL. * **SubObjects** *(list) --* A list of table Amazon Resource Names (ARNs). * *(string) --* * **Representations** *(list) --* A list of representations. * *(dict) --* A structure that contains the dialect of the view, and the query that defines the view. * **Dialect** *(string) --* The dialect of the query engine. * **DialectVersion** *(string) --* The version of the dialect of the query engine. For example, 3.0.0. * **ViewOriginalText** *(string) --* The "SELECT" query provided by the customer during "CREATE VIEW DDL". This SQL is not used during a query on a view ( "ViewExpandedText" is used instead). "ViewOriginalText" is used for cases like "SHOW CREATE VIEW" where users want to see the original DDL command that created the view. * **ViewExpandedText** *(string) --* The expanded SQL for the view. This SQL is used by engines while processing a query on a view. Engines may perform operations during view creation to transform "ViewOriginalText" to "ViewExpandedText". For example: * Fully qualified identifiers: "SELECT * from table1 -> SELECT * from db1.table1" * **ValidationConnection** *(string) --* The name of the connection to be used to validate the specific representation of the view. * **IsStale** *(boolean) --* Dialects marked as stale are no longer valid and must be updated before they can be queried in their respective query engines. * **IsMultiDialectView** *(boolean) --* Specifies whether the view supports the SQL dialects of one or more different query engines and can therefore be read by those engines. * **Status** *(dict) --* A structure containing information about the state of an asynchronous change to a table. * **RequestedBy** *(string) --* The ARN of the user who requested the asynchronous change. * **UpdatedBy** *(string) --* The ARN of the user to last manually alter the asynchronous change (requesting cancellation, etc). * **RequestTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the change was initiated. * **UpdateTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the state was last updated. * **Action** *(string) --* Indicates which action was called on the table, currently only "CREATE" or "UPDATE". * **State** *(string) --* A generic status for the change in progress, such as QUEUED, IN_PROGRESS, SUCCESS, or FAILED. * **Error** *(dict) --* An error that will only appear when the state is "FAILED". This is a parent level exception message, there may be different >>``< SELECT * from db1.table1" * **ValidationConnection** *(string) --* The name of the connection to be used to validate the specific representation of the view. * **IsStale** *(boolean) --* Dialects marked as stale are no longer valid and must be updated before they can be queried in their respective query engines. * **IsMultiDialectView** *(boolean) --* Specifies whether the view supports the SQL dialects of one or more different query engines and can therefore be read by those engines. * **Status** *(dict) --* A structure containing information about the state of an asynchronous change to a table. * **RequestedBy** *(string) --* The ARN of the user who requested the asynchronous change. * **UpdatedBy** *(string) --* The ARN of the user to last manually alter the asynchronous change (requesting cancellation, etc). * **RequestTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the change was initiated. * **UpdateTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the state was last updated. * **Action** *(string) --* Indicates which action was called on the table, currently only "CREATE" or "UPDATE". * **State** *(string) --* A generic status for the change in progress, such as QUEUED, IN_PROGRESS, SUCCESS, or FAILED. * **Error** *(dict) --* An error that will only appear when the state is "FAILED". This is a parent level exception message, there may be different >>``<>``<>``< SELECT * from db1.table1" * **ValidationConnection** *(string) --* The name of the connection to be used to validate the specific representation of the view. * **IsStale** *(boolean) --* Dialects marked as stale are no longer valid and must be updated before they can be queried in their respective query engines. * **IsMultiDialectView** *(boolean) --* Specifies whether the view supports the SQL dialects of one or more different query engines and can therefore be read by those engines. * **Status** *(dict) --* A structure containing information about the state of an asynchronous change to a table. * **RequestedBy** *(string) --* The ARN of the user who requested the asynchronous change. * **UpdatedBy** *(string) --* The ARN of the user to last manually alter the asynchronous change (requesting cancellation, etc). * **RequestTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the change was initiated. * **UpdateTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the state was last updated. * **Action** *(string) --* Indicates which action was called on the table, currently only "CREATE" or "UPDATE". * **State** *(string) --* A generic status for the change in progress, such as QUEUED, IN_PROGRESS, SUCCESS, or FAILED. * **Error** *(dict) --* An error that will only appear when the state is "FAILED". This is a parent level exception message, there may be different >>``<>``<>``<>``<>``<>``<>``<>``<>``<>``<:registry/default-registry:random-5 -letter-id". * **RegistryName** *(string) --* Name of the registry. Used only for lookup. One of "RegistryArn" or "RegistryName" has to be provided. * **RegistryArn** *(string) --* Arn of the registry to be updated. One of "RegistryArn" or "RegistryName" has to be provided. * **SchemaName** (*string*) -- **[REQUIRED]** Name of the schema to be created of max length of 255, and may only contain letters, numbers, hyphen, underscore, dollar sign, or hash mark. No whitespace. * **DataFormat** (*string*) -- **[REQUIRED]** The data format of the schema definition. Currently "AVRO", "JSON" and "PROTOBUF" are supported. * **Compatibility** (*string*) -- The compatibility mode of the schema. The possible values are: * *NONE*: No compatibility mode applies. You can use this choice in development scenarios or if you do not know the compatibility mode that you want to apply to schemas. Any new version added will be accepted without undergoing a compatibility check. * *DISABLED*: This compatibility choice prevents versioning for a particular schema. You can use this choice to prevent future versioning of a schema. * *BACKWARD*: This compatibility choice is recommended as it allows data receivers to read both the current and one previous schema version. This means that for instance, a new schema version cannot drop data fields or change the type of these fields, so they can't be read by readers using the previous version. * *BACKWARD_ALL*: This compatibility choice allows data receivers to read both the current and all previous schema versions. You can use this choice when you need to delete fields or add optional fields, and check compatibility against all previous schema versions. * *FORWARD*: This compatibility choice allows data receivers to read both the current and one next schema version, but not necessarily later versions. You can use this choice when you need to add fields or delete optional fields, but only check compatibility against the last schema version. * *FORWARD_ALL*: This compatibility choice allows data receivers to read written by producers of any new registered schema. You can use this choice when you need to add fields or delete optional fields, and check compatibility against all previous schema versions. * *FULL*: This compatibility choice allows data receivers to read data written by producers using the previous or next version of the schema, but not necessarily earlier or later versions. You can use this choice when you need to add or remove optional fields, but only check compatibility against the last schema version. * *FULL_ALL*: This compatibility choice allows data receivers to read data written by producers using all previous schema versions. You can use this choice when you need to add or remove optional fields, and check compatibility against all previous schema versions. * **Description** (*string*) -- An optional description of the schema. If description is not provided, there will not be any automatic default value for this. * **Tags** (*dict*) -- Amazon Web Services tags that contain a key value pair and may be searched by console, command line, or API. If specified, follows the Amazon Web Services tags-on-create pattern. * *(string) --* * *(string) --* * **SchemaDefinition** (*string*) -- The schema definition using the "DataFormat" setting for "SchemaName". Return type: dict Returns: **Response Syntax** { 'RegistryName': 'string', 'RegistryArn': 'string', 'SchemaName': 'string', 'SchemaArn': 'string', 'Description': 'string', 'DataFormat': 'AVRO'|'JSON'|'PROTOBUF', 'Compatibility': 'NONE'|'DISABLED'|'BACKWARD'|'BACKWARD_ALL'|'FORWARD'|'FORWARD_ALL'|'FULL'|'FULL_ALL', 'SchemaCheckpoint': 123, 'LatestSchemaVersion': 123, 'NextSchemaVersion': 123, 'SchemaStatus': 'AVAILABLE'|'PENDING'|'DELETING', 'Tags': { 'string': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionStatus': 'AVAILABLE'|'PENDING'|'FAILURE'|'DELETING' } **Response Structure** * *(dict) --* * **RegistryName** *(string) --* The name of the registry. * **RegistryArn** *(string) --* The Amazon Resource Name (ARN) of the registry. * **SchemaName** *(string) --* The name of the schema. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. * **Description** *(string) --* A description of the schema if specified when created. * **DataFormat** *(string) --* The data format of the schema definition. Currently "AVRO", "JSON" and "PROTOBUF" are supported. * **Compatibility** *(string) --* The schema compatibility mode. * **SchemaCheckpoint** *(integer) --* The version number of the checkpoint (the last time the compatibility mode was changed). * **LatestSchemaVersion** *(integer) --* The latest version of the schema associated with the returned schema definition. * **NextSchemaVersion** *(integer) --* The next version of the schema associated with the returned schema definition. * **SchemaStatus** *(string) --* The status of the schema. * **Tags** *(dict) --* The tags for the schema. * *(string) --* * *(string) --* * **SchemaVersionId** *(string) --* The unique identifier of the first schema version. * **SchemaVersionStatus** *(string) --* The status of the first schema version created. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.AlreadyExistsException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" * "Glue.Client.exceptions.ConcurrentModificationException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / list_registries list_registries *************** Glue.Client.list_registries(**kwargs) Returns a list of registries that you have created, with minimal registry information. Registries in the "Deleting" status will not be included in the results. Empty results will be returned if there are no registries available. See also: AWS API Documentation **Request Syntax** response = client.list_registries( MaxResults=123, NextToken='string' ) Parameters: * **MaxResults** (*integer*) -- Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page. * **NextToken** (*string*) -- A continuation token, if this is a continuation call. Return type: dict Returns: **Response Syntax** { 'Registries': [ { 'RegistryName': 'string', 'RegistryArn': 'string', 'Description': 'string', 'Status': 'AVAILABLE'|'DELETING', 'CreatedTime': 'string', 'UpdatedTime': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Registries** *(list) --* An array of "RegistryDetailedListItem" objects containing minimal details of each registry. * *(dict) --* A structure containing the details for a registry. * **RegistryName** *(string) --* The name of the registry. * **RegistryArn** *(string) --* The Amazon Resource Name (ARN) of the registry. * **Description** *(string) --* A description of the registry. * **Status** *(string) --* The status of the registry. * **CreatedTime** *(string) --* The data the registry was created. * **UpdatedTime** *(string) --* The date the registry was updated. * **NextToken** *(string) --* A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / get_session get_session *********** Glue.Client.get_session(**kwargs) Retrieves the session. See also: AWS API Documentation **Request Syntax** response = client.get_session( Id='string', RequestOrigin='string' ) Parameters: * **Id** (*string*) -- **[REQUIRED]** The ID of the session. * **RequestOrigin** (*string*) -- The origin of the request. Return type: dict Returns: **Response Syntax** { 'Session': { 'Id': 'string', 'CreatedOn': datetime(2015, 1, 1), 'Status': 'PROVISIONING'|'READY'|'FAILED'|'TIMEOUT'|'STOPPING'|'STOPPED', 'ErrorMessage': 'string', 'Description': 'string', 'Role': 'string', 'Command': { 'Name': 'string', 'PythonVersion': 'string' }, 'DefaultArguments': { 'string': 'string' }, 'Connections': { 'Connections': [ 'string', ] }, 'Progress': 123.0, 'MaxCapacity': 123.0, 'SecurityConfiguration': 'string', 'GlueVersion': 'string', 'NumberOfWorkers': 123, 'WorkerType': 'Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X', 'CompletedOn': datetime(2015, 1, 1), 'ExecutionTime': 123.0, 'DPUSeconds': 123.0, 'IdleTimeout': 123, 'ProfileName': 'string' } } **Response Structure** * *(dict) --* * **Session** *(dict) --* The session object is returned in the response. * **Id** *(string) --* The ID of the session. * **CreatedOn** *(datetime) --* The time and date when the session was created. * **Status** *(string) --* The session status. * **ErrorMessage** *(string) --* The error message displayed during the session. * **Description** *(string) --* The description of the session. * **Role** *(string) --* The name or Amazon Resource Name (ARN) of the IAM role associated with the Session. * **Command** *(dict) --* The command object.See SessionCommand. * **Name** *(string) --* Specifies the name of the SessionCommand. Can be 'glueetl' or 'gluestreaming'. * **PythonVersion** *(string) --* Specifies the Python version. The Python version indicates the version supported for jobs of type Spark. * **DefaultArguments** *(dict) --* A map array of key-value pairs. Max is 75 pairs. * *(string) --* * *(string) --* * **Connections** *(dict) --* The number of connections used for the session. * **Connections** *(list) --* A list of connections used by the job. * *(string) --* * **Progress** *(float) --* The code execution progress of the session. * **MaxCapacity** *(float) --* The number of Glue data processing units (DPUs) that can be allocated when the job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory. * **SecurityConfiguration** *(string) --* The name of the SecurityConfiguration structure to be used with the session. * **GlueVersion** *(string) --* The Glue version determines the versions of Apache Spark and Python that Glue supports. The GlueVersion must be greater than 2.0. * **NumberOfWorkers** *(integer) --* The number of workers of a defined "WorkerType" to use for the session. * **WorkerType** *(string) --* The type of predefined worker that is allocated when a session runs. Accepts a value of "G.1X", "G.2X", "G.4X", or "G.8X" for Spark sessions. Accepts the value "Z.2X" for Ray sessions. * **CompletedOn** *(datetime) --* The date and time that this session is completed. * **ExecutionTime** *(float) --* The total time the session ran for. * **DPUSeconds** *(float) --* The DPUs consumed by the session (formula: ExecutionTime * MaxCapacity). * **IdleTimeout** *(integer) --* The number of minutes when idle before the session times out. * **ProfileName** *(string) --* The name of an Glue usage profile associated with the session. **Exceptions** * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" Glue / Client / get_user_defined_functions get_user_defined_functions ************************** Glue.Client.get_user_defined_functions(**kwargs) Retrieves multiple function definitions from the Data Catalog. See also: AWS API Documentation **Request Syntax** response = client.get_user_defined_functions( CatalogId='string', DatabaseName='string', Pattern='string', NextToken='string', MaxResults=123 ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the functions to be retrieved are located. If none is provided, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- The name of the catalog database where the functions are located. If none is provided, functions from all the databases across the catalog will be returned. * **Pattern** (*string*) -- **[REQUIRED]** An optional function-name pattern string that filters the function definitions returned. * **NextToken** (*string*) -- A continuation token, if this is a continuation call. * **MaxResults** (*integer*) -- The maximum number of functions to return in one response. Return type: dict Returns: **Response Syntax** { 'UserDefinedFunctions': [ { 'FunctionName': 'string', 'DatabaseName': 'string', 'ClassName': 'string', 'OwnerName': 'string', 'OwnerType': 'USER'|'ROLE'|'GROUP', 'CreateTime': datetime(2015, 1, 1), 'ResourceUris': [ { 'ResourceType': 'JAR'|'FILE'|'ARCHIVE', 'Uri': 'string' }, ], 'CatalogId': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **UserDefinedFunctions** *(list) --* A list of requested function definitions. * *(dict) --* Represents the equivalent of a Hive user-defined function ( "UDF") definition. * **FunctionName** *(string) --* The name of the function. * **DatabaseName** *(string) --* The name of the catalog database that contains the function. * **ClassName** *(string) --* The Java class that contains the function code. * **OwnerName** *(string) --* The owner of the function. * **OwnerType** *(string) --* The owner type. * **CreateTime** *(datetime) --* The time at which the function was created. * **ResourceUris** *(list) --* The resource URIs for the function. * *(dict) --* The URIs for function resources. * **ResourceType** *(string) --* The type of the resource. * **Uri** *(string) --* The URI for accessing the resource. * **CatalogId** *(string) --* The ID of the Data Catalog in which the function resides. * **NextToken** *(string) --* A continuation token, if the list of functions returned does not include the last requested function. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / get_custom_entity_type get_custom_entity_type ********************** Glue.Client.get_custom_entity_type(**kwargs) Retrieves the details of a custom pattern by specifying its name. See also: AWS API Documentation **Request Syntax** response = client.get_custom_entity_type( Name='string' ) Parameters: **Name** (*string*) -- **[REQUIRED]** The name of the custom pattern that you want to retrieve. Return type: dict Returns: **Response Syntax** { 'Name': 'string', 'RegexString': 'string', 'ContextWords': [ 'string', ] } **Response Structure** * *(dict) --* * **Name** *(string) --* The name of the custom pattern that you retrieved. * **RegexString** *(string) --* A regular expression string that is used for detecting sensitive data in a custom pattern. * **ContextWords** *(list) --* A list of context words if specified when you created the custom pattern. If none of these context words are found within the vicinity of the regular expression the data will not be detected as sensitive data. * *(string) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / get_ml_transform get_ml_transform **************** Glue.Client.get_ml_transform(**kwargs) Gets an Glue machine learning transform artifact and all its corresponding metadata. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by Glue. You can retrieve their metadata by calling "GetMLTransform". See also: AWS API Documentation **Request Syntax** response = client.get_ml_transform( TransformId='string' ) Parameters: **TransformId** (*string*) -- **[REQUIRED]** The unique identifier of the transform, generated at the time that the transform was created. Return type: dict Returns: **Response Syntax** { 'TransformId': 'string', 'Name': 'string', 'Description': 'string', 'Status': 'NOT_READY'|'READY'|'DELETING', 'CreatedOn': datetime(2015, 1, 1), 'LastModifiedOn': datetime(2015, 1, 1), 'InputRecordTables': [ { 'DatabaseName': 'string', 'TableName': 'string', 'CatalogId': 'string', 'ConnectionName': 'string', 'AdditionalOptions': { 'string': 'string' } }, ], 'Parameters': { 'TransformType': 'FIND_MATCHES', 'FindMatchesParameters': { 'PrimaryKeyColumnName': 'string', 'PrecisionRecallTradeoff': 123.0, 'AccuracyCostTradeoff': 123.0, 'EnforceProvidedLabels': True|False } }, 'EvaluationMetrics': { 'TransformType': 'FIND_MATCHES', 'FindMatchesMetrics': { 'AreaUnderPRCurve': 123.0, 'Precision': 123.0, 'Recall': 123.0, 'F1': 123.0, 'ConfusionMatrix': { 'NumTruePositives': 123, 'NumFalsePositives': 123, 'NumTrueNegatives': 123, 'NumFalseNegatives': 123 }, 'ColumnImportances': [ { 'ColumnName': 'string', 'Importance': 123.0 }, ] } }, 'LabelCount': 123, 'Schema': [ { 'Name': 'string', 'DataType': 'string' }, ], 'Role': 'string', 'GlueVersion': 'string', 'MaxCapacity': 123.0, 'WorkerType': 'Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X', 'NumberOfWorkers': 123, 'Timeout': 123, 'MaxRetries': 123, 'TransformEncryption': { 'MlUserDataEncryption': { 'MlUserDataEncryptionMode': 'DISABLED'|'SSE-KMS', 'KmsKeyId': 'string' }, 'TaskRunSecurityConfigurationName': 'string' } } **Response Structure** * *(dict) --* * **TransformId** *(string) --* The unique identifier of the transform, generated at the time that the transform was created. * **Name** *(string) --* The unique name given to the transform when it was created. * **Description** *(string) --* A description of the transform. * **Status** *(string) --* The last known status of the transform (to indicate whether it can be used or not). One of "NOT_READY", "READY", or "DELETING". * **CreatedOn** *(datetime) --* The date and time when the transform was created. * **LastModifiedOn** *(datetime) --* The date and time when the transform was last modified. * **InputRecordTables** *(list) --* A list of Glue table definitions used by the transform. * *(dict) --* The database and table in the Glue Data Catalog that is used for input or output data. * **DatabaseName** *(string) --* A database name in the Glue Data Catalog. * **TableName** *(string) --* A table name in the Glue Data Catalog. * **CatalogId** *(string) --* A unique identifier for the Glue Data Catalog. * **ConnectionName** *(string) --* The name of the connection to the Glue Data Catalog. * **AdditionalOptions** *(dict) --* Additional options for the table. Currently there are two keys supported: * "pushDownPredicate": to filter on partitions without having to list and read all the files in your dataset. * "catalogPartitionPredicate": to use server-side partition pruning using partition indexes in the Glue Data Catalog. * *(string) --* * *(string) --* * **Parameters** *(dict) --* The configuration parameters that are specific to the algorithm used. * **TransformType** *(string) --* The type of machine learning transform. For information about the types of machine learning transforms, see Creating Machine Learning Transforms. * **FindMatchesParameters** *(dict) --* The parameters for the find matches algorithm. * **PrimaryKeyColumnName** *(string) --* The name of a column that uniquely identifies rows in the source table. Used to help identify matching records. * **PrecisionRecallTradeoff** *(float) --* The value selected when tuning your transform for a balance between precision and recall. A value of 0.5 means no preference; a value of 1.0 means a bias purely for precision, and a value of 0.0 means a bias for recall. Because this is a tradeoff, choosing values close to 1.0 means very low recall, and choosing values close to 0.0 results in very low precision. The precision metric indicates how often your model is correct when it predicts a match. The recall metric indicates that for an actual match, how often your model predicts the match. * **AccuracyCostTradeoff** *(float) --* The value that is selected when tuning your transform for a balance between accuracy and cost. A value of 0.5 means that the system balances accuracy and cost concerns. A value of 1.0 means a bias purely for accuracy, which typically results in a higher cost, sometimes substantially higher. A value of 0.0 means a bias purely for cost, which results in a less accurate "FindMatches" transform, sometimes with unacceptable accuracy. Accuracy measures how well the transform finds true positives and true negatives. Increasing accuracy requires more machine resources and cost. But it also results in increased recall. Cost measures how many compute resources, and thus money, are consumed to run the transform. * **EnforceProvidedLabels** *(boolean) --* The value to switch on or off to force the output to match the provided labels from users. If the value is "True", the "find matches" transform forces the output to match the provided labels. The results override the normal conflation results. If the value is "False", the "find matches" transform does not ensure all the labels provided are respected, and the results rely on the trained model. Note that setting this value to true may increase the conflation execution time. * **EvaluationMetrics** *(dict) --* The latest evaluation metrics. * **TransformType** *(string) --* The type of machine learning transform. * **FindMatchesMetrics** *(dict) --* The evaluation metrics for the find matches algorithm. * **AreaUnderPRCurve** *(float) --* The area under the precision/recall curve (AUPRC) is a single number measuring the overall quality of the transform, that is independent of the choice made for precision vs. recall. Higher values indicate that you have a more attractive precision vs. recall tradeoff. For more information, see Precision and recall in Wikipedia. * **Precision** *(float) --* The precision metric indicates when often your transform is correct when it predicts a match. Specifically, it measures how well the transform finds true positives from the total true positives possible. For more information, see Precision and recall in Wikipedia. * **Recall** *(float) --* The recall metric indicates that for an actual match, how often your transform predicts the match. Specifically, it measures how well the transform finds true positives from the total records in the source data. For more information, see Precision and recall in Wikipedia. * **F1** *(float) --* The maximum F1 metric indicates the transform's accuracy between 0 and 1, where 1 is the best accuracy. For more information, see F1 score in Wikipedia. * **ConfusionMatrix** *(dict) --* The confusion matrix shows you what your transform is predicting accurately and what types of errors it is making. For more information, see Confusion matrix in Wikipedia. * **NumTruePositives** *(integer) --* The number of matches in the data that the transform correctly found, in the confusion matrix for your transform. * **NumFalsePositives** *(integer) --* The number of nonmatches in the data that the transform incorrectly classified as a match, in the confusion matrix for your transform. * **NumTrueNegatives** *(integer) --* The number of nonmatches in the data that the transform correctly rejected, in the confusion matrix for your transform. * **NumFalseNegatives** *(integer) --* The number of matches in the data that the transform didn't find, in the confusion matrix for your transform. * **ColumnImportances** *(list) --* A list of "ColumnImportance" structures containing column importance metrics, sorted in order of descending importance. * *(dict) --* A structure containing the column name and column importance score for a column. Column importance helps you understand how columns contribute to your model, by identifying which columns in your records are more important than others. * **ColumnName** *(string) --* The name of a column. * **Importance** *(float) --* The column importance score for the column, as a decimal. * **LabelCount** *(integer) --* The number of labels available for this transform. * **Schema** *(list) --* The "Map" object that represents the schema that this transform accepts. Has an upper bound of 100 columns. * *(dict) --* A key-value pair representing a column and data type that this transform can run against. The "Schema" parameter of the "MLTransform" may contain up to 100 of these structures. * **Name** *(string) --* The name of the column. * **DataType** *(string) --* The type of data in the column. * **Role** *(string) --* The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. * **GlueVersion** *(string) --* This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see Glue Versions in the developer guide. * **MaxCapacity** *(float) --* The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. When the "WorkerType" field is set to a value other than "Standard", the "MaxCapacity" field is set automatically and becomes read-only. * **WorkerType** *(string) --* The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X. * For the "Standard" worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. * For the "G.1X" worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker. * For the "G.2X" worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker. * **NumberOfWorkers** *(integer) --* The number of workers of a defined "workerType" that are allocated when this task runs. * **Timeout** *(integer) --* The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters "TIMEOUT" status. The default is 2,880 minutes (48 hours). * **MaxRetries** *(integer) --* The maximum number of times to retry a task for this transform after a task run fails. * **TransformEncryption** *(dict) --* The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS. * **MlUserDataEncryption** *(dict) --* An "MLUserDataEncryption" object containing the encryption mode and customer-provided KMS key ID. * **MlUserDataEncryptionMode** *(string) --* The encryption mode applied to user data. Valid values are: * DISABLED: encryption is disabled * SSEKMS: use of server-side encryption with Key Management Service (SSE-KMS) for user data stored in Amazon S3. * **KmsKeyId** *(string) --* The ID for the customer-provided KMS key. * **TaskRunSecurityConfigurationName** *(string) --* The name of the security configuration. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / delete_schema delete_schema ************* Glue.Client.delete_schema(**kwargs) Deletes the entire schema set, including the schema set and all of its versions. To get the status of the delete operation, you can call "GetSchema" API after the asynchronous call. Deleting a registry will deactivate all online operations for the schema, such as the "GetSchemaByDefinition", and "RegisterSchemaVersion" APIs. See also: AWS API Documentation **Request Syntax** response = client.delete_schema( SchemaId={ 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' } ) Parameters: **SchemaId** (*dict*) -- **[REQUIRED]** This is a wrapper structure that may contain the schema name and Amazon Resource Name (ARN). * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. Return type: dict Returns: **Response Syntax** { 'SchemaArn': 'string', 'SchemaName': 'string', 'Status': 'AVAILABLE'|'PENDING'|'DELETING' } **Response Structure** * *(dict) --* * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema being deleted. * **SchemaName** *(string) --* The name of the schema being deleted. * **Status** *(string) --* The status of the schema. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.ConcurrentModificationException" Glue / Client / get_data_quality_result get_data_quality_result *********************** Glue.Client.get_data_quality_result(**kwargs) Retrieves the result of a data quality rule evaluation. See also: AWS API Documentation **Request Syntax** response = client.get_data_quality_result( ResultId='string' ) Parameters: **ResultId** (*string*) -- **[REQUIRED]** A unique result ID for the data quality result. Return type: dict Returns: **Response Syntax** { 'ResultId': 'string', 'ProfileId': 'string', 'Score': 123.0, 'DataSource': { 'GlueTable': { 'DatabaseName': 'string', 'TableName': 'string', 'CatalogId': 'string', 'ConnectionName': 'string', 'AdditionalOptions': { 'string': 'string' } } }, 'RulesetName': 'string', 'EvaluationContext': 'string', 'StartedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'JobName': 'string', 'JobRunId': 'string', 'RulesetEvaluationRunId': 'string', 'RuleResults': [ { 'Name': 'string', 'Description': 'string', 'EvaluationMessage': 'string', 'Result': 'PASS'|'FAIL'|'ERROR', 'EvaluatedMetrics': { 'string': 123.0 }, 'EvaluatedRule': 'string', 'RuleMetrics': { 'string': 123.0 } }, ], 'AnalyzerResults': [ { 'Name': 'string', 'Description': 'string', 'EvaluationMessage': 'string', 'EvaluatedMetrics': { 'string': 123.0 } }, ], 'Observations': [ { 'Description': 'string', 'MetricBasedObservation': { 'MetricName': 'string', 'StatisticId': 'string', 'MetricValues': { 'ActualValue': 123.0, 'ExpectedValue': 123.0, 'LowerLimit': 123.0, 'UpperLimit': 123.0 }, 'NewRules': [ 'string', ] } }, ], 'AggregatedMetrics': { 'TotalRowsProcessed': 123.0, 'TotalRowsPassed': 123.0, 'TotalRowsFailed': 123.0, 'TotalRulesProcessed': 123.0, 'TotalRulesPassed': 123.0, 'TotalRulesFailed': 123.0 } } **Response Structure** * *(dict) --* The response for the data quality result. * **ResultId** *(string) --* A unique result ID for the data quality result. * **ProfileId** *(string) --* The Profile ID for the data quality result. * **Score** *(float) --* An aggregate data quality score. Represents the ratio of rules that passed to the total number of rules. * **DataSource** *(dict) --* The table associated with the data quality result, if any. * **GlueTable** *(dict) --* An Glue table. * **DatabaseName** *(string) --* A database name in the Glue Data Catalog. * **TableName** *(string) --* A table name in the Glue Data Catalog. * **CatalogId** *(string) --* A unique identifier for the Glue Data Catalog. * **ConnectionName** *(string) --* The name of the connection to the Glue Data Catalog. * **AdditionalOptions** *(dict) --* Additional options for the table. Currently there are two keys supported: * "pushDownPredicate": to filter on partitions without having to list and read all the files in your dataset. * "catalogPartitionPredicate": to use server-side partition pruning using partition indexes in the Glue Data Catalog. * *(string) --* * *(string) --* * **RulesetName** *(string) --* The name of the ruleset associated with the data quality result. * **EvaluationContext** *(string) --* In the context of a job in Glue Studio, each node in the canvas is typically assigned some sort of name and data quality nodes will have names. In the case of multiple nodes, the "evaluationContext" can differentiate the nodes. * **StartedOn** *(datetime) --* The date and time when the run for this data quality result started. * **CompletedOn** *(datetime) --* The date and time when the run for this data quality result was completed. * **JobName** *(string) --* The job name associated with the data quality result, if any. * **JobRunId** *(string) --* The job run ID associated with the data quality result, if any. * **RulesetEvaluationRunId** *(string) --* The unique run ID associated with the ruleset evaluation. * **RuleResults** *(list) --* A list of "DataQualityRuleResult" objects representing the results for each rule. * *(dict) --* Describes the result of the evaluation of a data quality rule. * **Name** *(string) --* The name of the data quality rule. * **Description** *(string) --* A description of the data quality rule. * **EvaluationMessage** *(string) --* An evaluation message. * **Result** *(string) --* A pass or fail status for the rule. * **EvaluatedMetrics** *(dict) --* A map of metrics associated with the evaluation of the rule. * *(string) --* * *(float) --* * **EvaluatedRule** *(string) --* The evaluated rule. * **RuleMetrics** *(dict) --* A map containing metrics associated with the evaluation of the rule based on row-level results. * *(string) --* * *(float) --* * **AnalyzerResults** *(list) --* A list of "DataQualityAnalyzerResult" objects representing the results for each analyzer. * *(dict) --* Describes the result of the evaluation of a data quality analyzer. * **Name** *(string) --* The name of the data quality analyzer. * **Description** *(string) --* A description of the data quality analyzer. * **EvaluationMessage** *(string) --* An evaluation message. * **EvaluatedMetrics** *(dict) --* A map of metrics associated with the evaluation of the analyzer. * *(string) --* * *(float) --* * **Observations** *(list) --* A list of "DataQualityObservation" objects representing the observations generated after evaluating the rules and analyzers. * *(dict) --* Describes the observation generated after evaluating the rules and analyzers. * **Description** *(string) --* A description of the data quality observation. * **MetricBasedObservation** *(dict) --* An object of type "MetricBasedObservation" representing the observation that is based on evaluated data quality metrics. * **MetricName** *(string) --* The name of the data quality metric used for generating the observation. * **StatisticId** *(string) --* The Statistic ID. * **MetricValues** *(dict) --* An object of type "DataQualityMetricValues" representing the analysis of the data quality metric value. * **ActualValue** *(float) --* The actual value of the data quality metric. * **ExpectedValue** *(float) --* The expected value of the data quality metric according to the analysis of historical data. * **LowerLimit** *(float) --* The lower limit of the data quality metric value according to the analysis of historical data. * **UpperLimit** *(float) --* The upper limit of the data quality metric value according to the analysis of historical data. * **NewRules** *(list) --* A list of new data quality rules generated as part of the observation based on the data quality metric value. * *(string) --* * **AggregatedMetrics** *(dict) --* A summary of "DataQualityAggregatedMetrics" objects showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results. * **TotalRowsProcessed** *(float) --* The total number of rows that were processed during the data quality evaluation. * **TotalRowsPassed** *(float) --* The total number of rows that passed all applicable data quality rules. * **TotalRowsFailed** *(float) --* The total number of rows that failed one or more data quality rules. * **TotalRulesProcessed** *(float) --* The total number of data quality rules that were evaluated. * **TotalRulesPassed** *(float) --* The total number of data quality rules that passed their evaluation criteria. * **TotalRulesFailed** *(float) --* The total number of data quality rules that failed their evaluation criteria. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.EntityNotFoundException" Glue / Client / describe_connection_type describe_connection_type ************************ Glue.Client.describe_connection_type(**kwargs) The "DescribeConnectionType" API provides full details of the supported options for a given connection type in Glue. See also: AWS API Documentation **Request Syntax** response = client.describe_connection_type( ConnectionType='string' ) Parameters: **ConnectionType** (*string*) -- **[REQUIRED]** The name of the connection type to be described. Return type: dict Returns: **Response Syntax** { 'ConnectionType': 'string', 'Description': 'string', 'Capabilities': { 'SupportedAuthenticationTypes': [ 'BASIC'|'OAUTH2'|'CUSTOM'|'IAM', ], 'SupportedDataOperations': [ 'READ'|'WRITE', ], 'SupportedComputeEnvironments': [ 'SPARK'|'ATHENA'|'PYTHON', ] }, 'ConnectionProperties': { 'string': { 'Name': 'string', 'Description': 'string', 'Required': True|False, 'DefaultValue': 'string', 'PropertyTypes': [ 'USER_INPUT'|'SECRET'|'READ_ONLY'|'UNUSED'|'SECRET_OR_USER_INPUT', ], 'AllowedValues': [ { 'Description': 'string', 'Value': 'string' }, ], 'DataOperationScopes': [ 'READ'|'WRITE', ] } }, 'ConnectionOptions': { 'string': { 'Name': 'string', 'Description': 'string', 'Required': True|False, 'DefaultValue': 'string', 'PropertyTypes': [ 'USER_INPUT'|'SECRET'|'READ_ONLY'|'UNUSED'|'SECRET_OR_USER_INPUT', ], 'AllowedValues': [ { 'Description': 'string', 'Value': 'string' }, ], 'DataOperationScopes': [ 'READ'|'WRITE', ] } }, 'AuthenticationConfiguration': { 'AuthenticationType': { 'Name': 'string', 'Description': 'string', 'Required': True|False, 'DefaultValue': 'string', 'PropertyTypes': [ 'USER_INPUT'|'SECRET'|'READ_ONLY'|'UNUSED'|'SECRET_OR_USER_INPUT', ], 'AllowedValues': [ { 'Description': 'string', 'Value': 'string' }, ], 'DataOperationScopes': [ 'READ'|'WRITE', ] }, 'SecretArn': { 'Name': 'string', 'Description': 'string', 'Required': True|False, 'DefaultValue': 'string', 'PropertyTypes': [ 'USER_INPUT'|'SECRET'|'READ_ONLY'|'UNUSED'|'SECRET_OR_USER_INPUT', ], 'AllowedValues': [ { 'Description': 'string', 'Value': 'string' }, ], 'DataOperationScopes': [ 'READ'|'WRITE', ] }, 'OAuth2Properties': { 'string': { 'Name': 'string', 'Description': 'string', 'Required': True|False, 'DefaultValue': 'string', 'PropertyTypes': [ 'USER_INPUT'|'SECRET'|'READ_ONLY'|'UNUSED'|'SECRET_OR_USER_INPUT', ], 'AllowedValues': [ { 'Description': 'string', 'Value': 'string' }, ], 'DataOperationScopes': [ 'READ'|'WRITE', ] } }, 'BasicAuthenticationProperties': { 'string': { 'Name': 'string', 'Description': 'string', 'Required': True|False, 'DefaultValue': 'string', 'PropertyTypes': [ 'USER_INPUT'|'SECRET'|'READ_ONLY'|'UNUSED'|'SECRET_OR_USER_INPUT', ], 'AllowedValues': [ { 'Description': 'string', 'Value': 'string' }, ], 'DataOperationScopes': [ 'READ'|'WRITE', ] } }, 'CustomAuthenticationProperties': { 'string': { 'Name': 'string', 'Description': 'string', 'Required': True|False, 'DefaultValue': 'string', 'PropertyTypes': [ 'USER_INPUT'|'SECRET'|'READ_ONLY'|'UNUSED'|'SECRET_OR_USER_INPUT', ], 'AllowedValues': [ { 'Description': 'string', 'Value': 'string' }, ], 'DataOperationScopes': [ 'READ'|'WRITE', ] } } }, 'ComputeEnvironmentConfigurations': { 'string': { 'Name': 'string', 'Description': 'string', 'ComputeEnvironment': 'SPARK'|'ATHENA'|'PYTHON', 'SupportedAuthenticationTypes': [ 'BASIC'|'OAUTH2'|'CUSTOM'|'IAM', ], 'ConnectionOptions': { 'string': { 'Name': 'string', 'Description': 'string', 'Required': True|False, 'DefaultValue': 'string', 'PropertyTypes': [ 'USER_INPUT'|'SECRET'|'READ_ONLY'|'UNUSED'|'SECRET_OR_USER_INPUT', ], 'AllowedValues': [ { 'Description': 'string', 'Value': 'string' }, ], 'DataOperationScopes': [ 'READ'|'WRITE', ] } }, 'ConnectionPropertyNameOverrides': { 'string': 'string' }, 'ConnectionOptionNameOverrides': { 'string': 'string' }, 'ConnectionPropertiesRequiredOverrides': [ 'string', ], 'PhysicalConnectionPropertiesRequired': True|False } }, 'PhysicalConnectionRequirements': { 'string': { 'Name': 'string', 'Description': 'string', 'Required': True|False, 'DefaultValue': 'string', 'PropertyTypes': [ 'USER_INPUT'|'SECRET'|'READ_ONLY'|'UNUSED'|'SECRET_OR_USER_INPUT', ], 'AllowedValues': [ { 'Description': 'string', 'Value': 'string' }, ], 'DataOperationScopes': [ 'READ'|'WRITE', ] } }, 'AthenaConnectionProperties': { 'string': { 'Name': 'string', 'Description': 'string', 'Required': True|False, 'DefaultValue': 'string', 'PropertyTypes': [ 'USER_INPUT'|'SECRET'|'READ_ONLY'|'UNUSED'|'SECRET_OR_USER_INPUT', ], 'AllowedValues': [ { 'Description': 'string', 'Value': 'string' }, ], 'DataOperationScopes': [ 'READ'|'WRITE', ] } }, 'PythonConnectionProperties': { 'string': { 'Name': 'string', 'Description': 'string', 'Required': True|False, 'DefaultValue': 'string', 'PropertyTypes': [ 'USER_INPUT'|'SECRET'|'READ_ONLY'|'UNUSED'|'SECRET_OR_USER_INPUT', ], 'AllowedValues': [ { 'Description': 'string', 'Value': 'string' }, ], 'DataOperationScopes': [ 'READ'|'WRITE', ] } }, 'SparkConnectionProperties': { 'string': { 'Name': 'string', 'Description': 'string', 'Required': True|False, 'DefaultValue': 'string', 'PropertyTypes': [ 'USER_INPUT'|'SECRET'|'READ_ONLY'|'UNUSED'|'SECRET_OR_USER_INPUT', ], 'AllowedValues': [ { 'Description': 'string', 'Value': 'string' }, ], 'DataOperationScopes': [ 'READ'|'WRITE', ] } } } **Response Structure** * *(dict) --* * **ConnectionType** *(string) --* The name of the connection type. * **Description** *(string) --* A description of the connection type. * **Capabilities** *(dict) --* The supported authentication types, data interface types (compute environments), and data operations of the connector. * **SupportedAuthenticationTypes** *(list) --* A list of supported authentication types. * *(string) --* * **SupportedDataOperations** *(list) --* A list of supported data operations. * *(string) --* * **SupportedComputeEnvironments** *(list) --* A list of supported compute environments. * *(string) --* * **ConnectionProperties** *(dict) --* Connection properties which are common across compute environments. * *(string) --* * *(dict) --* An object that defines a connection type for a compute environment. * **Name** *(string) --* The name of the property. * **Description** *(string) --* A description of the property. * **Required** *(boolean) --* Indicates whether the property is required. * **DefaultValue** *(string) --* The default value for the property. * **PropertyTypes** *(list) --* Describes the type of property. * *(string) --* * **AllowedValues** *(list) --* A list of "AllowedValue" objects representing the values allowed for the property. * *(dict) --* An object representing a value allowed for a property. * **Description** *(string) --* A description of the allowed value. * **Value** *(string) --* The value allowed for the property. * **DataOperationScopes** *(list) --* Indicates which data operations are applicable to the property. * *(string) --* * **ConnectionOptions** *(dict) --* Returns properties that can be set when creating a connection in the "ConnectionInput.ConnectionProperties". "ConnectionOptions" defines parameters that can be set in a Spark ETL script in the connection options map passed to a dataframe. * *(string) --* * *(dict) --* An object that defines a connection type for a compute environment. * **Name** *(string) --* The name of the property. * **Description** *(string) --* A description of the property. * **Required** *(boolean) --* Indicates whether the property is required. * **DefaultValue** *(string) --* The default value for the property. * **PropertyTypes** *(list) --* Describes the type of property. * *(string) --* * **AllowedValues** *(list) --* A list of "AllowedValue" objects representing the values allowed for the property. * *(dict) --* An object representing a value allowed for a property. * **Description** *(string) --* A description of the allowed value. * **Value** *(string) --* The value allowed for the property. * **DataOperationScopes** *(list) --* Indicates which data operations are applicable to the property. * *(string) --* * **AuthenticationConfiguration** *(dict) --* The type of authentication used for the connection. * **AuthenticationType** *(dict) --* The type of authentication for a connection. * **Name** *(string) --* The name of the property. * **Description** *(string) --* A description of the property. * **Required** *(boolean) --* Indicates whether the property is required. * **DefaultValue** *(string) --* The default value for the property. * **PropertyTypes** *(list) --* Describes the type of property. * *(string) --* * **AllowedValues** *(list) --* A list of "AllowedValue" objects representing the values allowed for the property. * *(dict) --* An object representing a value allowed for a property. * **Description** *(string) --* A description of the allowed value. * **Value** *(string) --* The value allowed for the property. * **DataOperationScopes** *(list) --* Indicates which data operations are applicable to the property. * *(string) --* * **SecretArn** *(dict) --* The Amazon Resource Name (ARN) for the Secrets Manager. * **Name** *(string) --* The name of the property. * **Description** *(string) --* A description of the property. * **Required** *(boolean) --* Indicates whether the property is required. * **DefaultValue** *(string) --* The default value for the property. * **PropertyTypes** *(list) --* Describes the type of property. * *(string) --* * **AllowedValues** *(list) --* A list of "AllowedValue" objects representing the values allowed for the property. * *(dict) --* An object representing a value allowed for a property. * **Description** *(string) --* A description of the allowed value. * **Value** *(string) --* The value allowed for the property. * **DataOperationScopes** *(list) --* Indicates which data operations are applicable to the property. * *(string) --* * **OAuth2Properties** *(dict) --* A map of key-value pairs for the OAuth2 properties. Each value is a a "Property" object. * *(string) --* * *(dict) --* An object that defines a connection type for a compute environment. * **Name** *(string) --* The name of the property. * **Description** *(string) --* A description of the property. * **Required** *(boolean) --* Indicates whether the property is required. * **DefaultValue** *(string) --* The default value for the property. * **PropertyTypes** *(list) --* Describes the type of property. * *(string) --* * **AllowedValues** *(list) --* A list of "AllowedValue" objects representing the values allowed for the property. * *(dict) --* An object representing a value allowed for a property. * **Description** *(string) --* A description of the allowed value. * **Value** *(string) --* The value allowed for the property. * **DataOperationScopes** *(list) --* Indicates which data operations are applicable to the property. * *(string) --* * **BasicAuthenticationProperties** *(dict) --* A map of key-value pairs for the OAuth2 properties. Each value is a a "Property" object. * *(string) --* * *(dict) --* An object that defines a connection type for a compute environment. * **Name** *(string) --* The name of the property. * **Description** *(string) --* A description of the property. * **Required** *(boolean) --* Indicates whether the property is required. * **DefaultValue** *(string) --* The default value for the property. * **PropertyTypes** *(list) --* Describes the type of property. * *(string) --* * **AllowedValues** *(list) --* A list of "AllowedValue" objects representing the values allowed for the property. * *(dict) --* An object representing a value allowed for a property. * **Description** *(string) --* A description of the allowed value. * **Value** *(string) --* The value allowed for the property. * **DataOperationScopes** *(list) --* Indicates which data operations are applicable to the property. * *(string) --* * **CustomAuthenticationProperties** *(dict) --* A map of key-value pairs for the custom authentication properties. Each value is a a "Property" object. * *(string) --* * *(dict) --* An object that defines a connection type for a compute environment. * **Name** *(string) --* The name of the property. * **Description** *(string) --* A description of the property. * **Required** *(boolean) --* Indicates whether the property is required. * **DefaultValue** *(string) --* The default value for the property. * **PropertyTypes** *(list) --* Describes the type of property. * *(string) --* * **AllowedValues** *(list) --* A list of "AllowedValue" objects representing the values allowed for the property. * *(dict) --* An object representing a value allowed for a property. * **Description** *(string) --* A description of the allowed value. * **Value** *(string) --* The value allowed for the property. * **DataOperationScopes** *(list) --* Indicates which data operations are applicable to the property. * *(string) --* * **ComputeEnvironmentConfigurations** *(dict) --* The compute environments that are supported by the connection. * *(string) --* * *(dict) --* An object containing configuration for a compute environment (such as Spark, Python or Athena) returned by the "DescribeConnectionType" API. * **Name** *(string) --* A name for the compute environment configuration. * **Description** *(string) --* A description of the compute environment. * **ComputeEnvironment** *(string) --* The type of compute environment. * **SupportedAuthenticationTypes** *(list) --* The supported authentication types for the compute environment. * *(string) --* * **ConnectionOptions** *(dict) --* The parameters used as connection options for the compute environment. * *(string) --* * *(dict) --* An object that defines a connection type for a compute environment. * **Name** *(string) --* The name of the property. * **Description** *(string) --* A description of the property. * **Required** *(boolean) --* Indicates whether the property is required. * **DefaultValue** *(string) --* The default value for the property. * **PropertyTypes** *(list) --* Describes the type of property. * *(string) --* * **AllowedValues** *(list) --* A list of "AllowedValue" objects representing the values allowed for the property. * *(dict) --* An object representing a value allowed for a property. * **Description** *(string) --* A description of the allowed value. * **Value** *(string) --* The value allowed for the property. * **DataOperationScopes** *(list) --* Indicates which data operations are applicable to the property. * *(string) --* * **ConnectionPropertyNameOverrides** *(dict) --* The connection property name overrides for the compute environment. * *(string) --* * *(string) --* * **ConnectionOptionNameOverrides** *(dict) --* The connection option name overrides for the compute environment. * *(string) --* * *(string) --* * **ConnectionPropertiesRequiredOverrides** *(list) --* The connection properties that are required as overrides for the compute environment. * *(string) --* * **PhysicalConnectionPropertiesRequired** *(boolean) --* Indicates whether "PhysicalConnectionProperties" are required for the compute environment. * **PhysicalConnectionRequirements** *(dict) --* Physical requirements for a connection, such as VPC, Subnet and Security Group specifications. * *(string) --* * *(dict) --* An object that defines a connection type for a compute environment. * **Name** *(string) --* The name of the property. * **Description** *(string) --* A description of the property. * **Required** *(boolean) --* Indicates whether the property is required. * **DefaultValue** *(string) --* The default value for the property. * **PropertyTypes** *(list) --* Describes the type of property. * *(string) --* * **AllowedValues** *(list) --* A list of "AllowedValue" objects representing the values allowed for the property. * *(dict) --* An object representing a value allowed for a property. * **Description** *(string) --* A description of the allowed value. * **Value** *(string) --* The value allowed for the property. * **DataOperationScopes** *(list) --* Indicates which data operations are applicable to the property. * *(string) --* * **AthenaConnectionProperties** *(dict) --* Connection properties specific to the Athena compute environment. * *(string) --* * *(dict) --* An object that defines a connection type for a compute environment. * **Name** *(string) --* The name of the property. * **Description** *(string) --* A description of the property. * **Required** *(boolean) --* Indicates whether the property is required. * **DefaultValue** *(string) --* The default value for the property. * **PropertyTypes** *(list) --* Describes the type of property. * *(string) --* * **AllowedValues** *(list) --* A list of "AllowedValue" objects representing the values allowed for the property. * *(dict) --* An object representing a value allowed for a property. * **Description** *(string) --* A description of the allowed value. * **Value** *(string) --* The value allowed for the property. * **DataOperationScopes** *(list) --* Indicates which data operations are applicable to the property. * *(string) --* * **PythonConnectionProperties** *(dict) --* Connection properties specific to the Python compute environment. * *(string) --* * *(dict) --* An object that defines a connection type for a compute environment. * **Name** *(string) --* The name of the property. * **Description** *(string) --* A description of the property. * **Required** *(boolean) --* Indicates whether the property is required. * **DefaultValue** *(string) --* The default value for the property. * **PropertyTypes** *(list) --* Describes the type of property. * *(string) --* * **AllowedValues** *(list) --* A list of "AllowedValue" objects representing the values allowed for the property. * *(dict) --* An object representing a value allowed for a property. * **Description** *(string) --* A description of the allowed value. * **Value** *(string) --* The value allowed for the property. * **DataOperationScopes** *(list) --* Indicates which data operations are applicable to the property. * *(string) --* * **SparkConnectionProperties** *(dict) --* Connection properties specific to the Spark compute environment. * *(string) --* * *(dict) --* An object that defines a connection type for a compute environment. * **Name** *(string) --* The name of the property. * **Description** *(string) --* A description of the property. * **Required** *(boolean) --* Indicates whether the property is required. * **DefaultValue** *(string) --* The default value for the property. * **PropertyTypes** *(list) --* Describes the type of property. * *(string) --* * **AllowedValues** *(list) --* A list of "AllowedValue" objects representing the values allowed for the property. * *(dict) --* An object representing a value allowed for a property. * **Description** *(string) --* A description of the allowed value. * **Value** *(string) --* The value allowed for the property. * **DataOperationScopes** *(list) --* Indicates which data operations are applicable to the property. * *(string) --* **Exceptions** * "Glue.Client.exceptions.ValidationException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.AccessDeniedException" Glue / Client / get_data_quality_ruleset get_data_quality_ruleset ************************ Glue.Client.get_data_quality_ruleset(**kwargs) Returns an existing ruleset by identifier or name. See also: AWS API Documentation **Request Syntax** response = client.get_data_quality_ruleset( Name='string' ) Parameters: **Name** (*string*) -- **[REQUIRED]** The name of the ruleset. Return type: dict Returns: **Response Syntax** { 'Name': 'string', 'Description': 'string', 'Ruleset': 'string', 'TargetTable': { 'TableName': 'string', 'DatabaseName': 'string', 'CatalogId': 'string' }, 'CreatedOn': datetime(2015, 1, 1), 'LastModifiedOn': datetime(2015, 1, 1), 'RecommendationRunId': 'string', 'DataQualitySecurityConfiguration': 'string' } **Response Structure** * *(dict) --* Returns the data quality ruleset response. * **Name** *(string) --* The name of the ruleset. * **Description** *(string) --* A description of the ruleset. * **Ruleset** *(string) --* A Data Quality Definition Language (DQDL) ruleset. For more information, see the Glue developer guide. * **TargetTable** *(dict) --* The name and database name of the target table. * **TableName** *(string) --* The name of the Glue table. * **DatabaseName** *(string) --* The name of the database where the Glue table exists. * **CatalogId** *(string) --* The catalog id where the Glue table exists. * **CreatedOn** *(datetime) --* A timestamp. The time and date that this data quality ruleset was created. * **LastModifiedOn** *(datetime) --* A timestamp. The last point in time when this data quality ruleset was modified. * **RecommendationRunId** *(string) --* When a ruleset was created from a recommendation run, this run ID is generated to link the two together. * **DataQualitySecurityConfiguration** *(string) --* The name of the security configuration created with the data quality encryption option. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / update_schema update_schema ************* Glue.Client.update_schema(**kwargs) Updates the description, compatibility setting, or version checkpoint for a schema set. For updating the compatibility setting, the call will not validate compatibility for the entire set of schema versions with the new compatibility setting. If the value for "Compatibility" is provided, the "VersionNumber" (a checkpoint) is also required. The API will validate the checkpoint version number for consistency. If the value for the "VersionNumber" (checkpoint) is provided, "Compatibility" is optional and this can be used to set/reset a checkpoint for the schema. This update will happen only if the schema is in the AVAILABLE state. See also: AWS API Documentation **Request Syntax** response = client.update_schema( SchemaId={ 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, SchemaVersionNumber={ 'LatestVersion': True|False, 'VersionNumber': 123 }, Compatibility='NONE'|'DISABLED'|'BACKWARD'|'BACKWARD_ALL'|'FORWARD'|'FORWARD_ALL'|'FULL'|'FULL_ALL', Description='string' ) Parameters: * **SchemaId** (*dict*) -- **[REQUIRED]** This is a wrapper structure to contain schema identity fields. The structure contains: * SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * SchemaId$SchemaName: The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionNumber** (*dict*) -- Version number required for check pointing. One of "VersionNumber" or "Compatibility" has to be provided. * **LatestVersion** *(boolean) --* The latest version available for the schema. * **VersionNumber** *(integer) --* The version number of the schema. * **Compatibility** (*string*) -- The new compatibility setting for the schema. * **Description** (*string*) -- The new description for the schema. Return type: dict Returns: **Response Syntax** { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' } **Response Structure** * *(dict) --* * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. * **SchemaName** *(string) --* The name of the schema. * **RegistryName** *(string) --* The name of the registry that contains the schema. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.ConcurrentModificationException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / list_column_statistics_task_runs list_column_statistics_task_runs ******************************** Glue.Client.list_column_statistics_task_runs(**kwargs) List all task runs for a particular account. See also: AWS API Documentation **Request Syntax** response = client.list_column_statistics_task_runs( MaxResults=123, NextToken='string' ) Parameters: * **MaxResults** (*integer*) -- The maximum size of the response. * **NextToken** (*string*) -- A continuation token, if this is a continuation call. Return type: dict Returns: **Response Syntax** { 'ColumnStatisticsTaskRunIds': [ 'string', ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **ColumnStatisticsTaskRunIds** *(list) --* A list of column statistics task run IDs. * *(string) --* * **NextToken** *(string) --* A continuation token, if not all task run IDs have yet been returned. **Exceptions** * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / list_schemas list_schemas ************ Glue.Client.list_schemas(**kwargs) Returns a list of schemas with minimal details. Schemas in Deleting status will not be included in the results. Empty results will be returned if there are no schemas available. When the "RegistryId" is not provided, all the schemas across registries will be part of the API response. See also: AWS API Documentation **Request Syntax** response = client.list_schemas( RegistryId={ 'RegistryName': 'string', 'RegistryArn': 'string' }, MaxResults=123, NextToken='string' ) Parameters: * **RegistryId** (*dict*) -- A wrapper structure that may contain the registry name and Amazon Resource Name (ARN). * **RegistryName** *(string) --* Name of the registry. Used only for lookup. One of "RegistryArn" or "RegistryName" has to be provided. * **RegistryArn** *(string) --* Arn of the registry to be updated. One of "RegistryArn" or "RegistryName" has to be provided. * **MaxResults** (*integer*) -- Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page. * **NextToken** (*string*) -- A continuation token, if this is a continuation call. Return type: dict Returns: **Response Syntax** { 'Schemas': [ { 'RegistryName': 'string', 'SchemaName': 'string', 'SchemaArn': 'string', 'Description': 'string', 'SchemaStatus': 'AVAILABLE'|'PENDING'|'DELETING', 'CreatedTime': 'string', 'UpdatedTime': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Schemas** *(list) --* An array of "SchemaListItem" objects containing details of each schema. * *(dict) --* An object that contains minimal details for a schema. * **RegistryName** *(string) --* the name of the registry where the schema resides. * **SchemaName** *(string) --* The name of the schema. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) for the schema. * **Description** *(string) --* A description for the schema. * **SchemaStatus** *(string) --* The status of the schema. * **CreatedTime** *(string) --* The date and time that a schema was created. * **UpdatedTime** *(string) --* The date and time that a schema was updated. * **NextToken** *(string) --* A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / create_partition create_partition **************** Glue.Client.create_partition(**kwargs) Creates a new partition. See also: AWS API Documentation **Request Syntax** response = client.create_partition( CatalogId='string', DatabaseName='string', TableName='string', PartitionInput={ 'Values': [ 'string', ], 'LastAccessTime': datetime(2015, 1, 1), 'StorageDescriptor': { 'Columns': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'Location': 'string', 'AdditionalLocations': [ 'string', ], 'InputFormat': 'string', 'OutputFormat': 'string', 'Compressed': True|False, 'NumberOfBuckets': 123, 'SerdeInfo': { 'Name': 'string', 'SerializationLibrary': 'string', 'Parameters': { 'string': 'string' } }, 'BucketColumns': [ 'string', ], 'SortColumns': [ { 'Column': 'string', 'SortOrder': 123 }, ], 'Parameters': { 'string': 'string' }, 'SkewedInfo': { 'SkewedColumnNames': [ 'string', ], 'SkewedColumnValues': [ 'string', ], 'SkewedColumnValueLocationMaps': { 'string': 'string' } }, 'StoredAsSubDirectories': True|False, 'SchemaReference': { 'SchemaId': { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionNumber': 123 } }, 'Parameters': { 'string': 'string' }, 'LastAnalyzedTime': datetime(2015, 1, 1) } ) Parameters: * **CatalogId** (*string*) -- The Amazon Web Services account ID of the catalog in which the partition is to be created. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the metadata database in which the partition is to be created. * **TableName** (*string*) -- **[REQUIRED]** The name of the metadata table in which the partition is to be created. * **PartitionInput** (*dict*) -- **[REQUIRED]** A "PartitionInput" structure defining the partition to be created. * **Values** *(list) --* The values of the partition. Although this parameter is not required by the SDK, you must specify this parameter for a valid input. The values for the keys for the new partition must be passed as an array of String objects that must be ordered in the same order as the partition keys appearing in the Amazon S3 prefix. Otherwise Glue will add the values to the wrong keys. * *(string) --* * **LastAccessTime** *(datetime) --* The last time at which the partition was accessed. * **StorageDescriptor** *(dict) --* Provides information about the physical location where the partition is stored. * **Columns** *(list) --* A list of the "Columns" in the table. * *(dict) --* A column in a "Table". * **Name** *(string) --* **[REQUIRED]** The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **Location** *(string) --* The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * **AdditionalLocations** *(list) --* A list of locations that point to the path where a Delta table is located. * *(string) --* * **InputFormat** *(string) --* The input format: "SequenceFileInputFormat" (binary), or "TextInputFormat", or a custom format. * **OutputFormat** *(string) --* The output format: "SequenceFileOutputFormat" (binary), or "IgnoreKeyTextOutputFormat", or a custom format. * **Compressed** *(boolean) --* "True" if the data in the table is compressed, or "False" if not. * **NumberOfBuckets** *(integer) --* Must be specified if the table contains any dimension columns. * **SerdeInfo** *(dict) --* The serialization/deserialization (SerDe) information. * **Name** *(string) --* Name of the SerDe. * **SerializationLibrary** *(string) --* Usually the class that implements the SerDe. An example is "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe". * **Parameters** *(dict) --* These key-value pairs define initialization parameters for the SerDe. * *(string) --* * *(string) --* * **BucketColumns** *(list) --* A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * *(string) --* * **SortColumns** *(list) --* A list specifying the sort order of each bucket in the table. * *(dict) --* Specifies the sort order of a sorted column. * **Column** *(string) --* **[REQUIRED]** The name of the column. * **SortOrder** *(integer) --* **[REQUIRED]** Indicates that the column is sorted in ascending order ( "== 1"), or in descending order ( "==0"). * **Parameters** *(dict) --* The user-supplied properties in key-value form. * *(string) --* * *(string) --* * **SkewedInfo** *(dict) --* The information about values that appear frequently in a column (skewed values). * **SkewedColumnNames** *(list) --* A list of names of columns that contain skewed values. * *(string) --* * **SkewedColumnValues** *(list) --* A list of values that appear so frequently as to be considered skewed. * *(string) --* * **SkewedColumnValueLocationMaps** *(dict) --* A mapping of skewed values to the columns that contain them. * *(string) --* * *(string) --* * **StoredAsSubDirectories** *(boolean) --* "True" if the table data is stored in subdirectories, or "False" if not. * **SchemaReference** *(dict) --* An object that references a schema stored in the Glue Schema Registry. When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference. * **SchemaId** *(dict) --* A structure that contains schema identity fields. Either this or the "SchemaVersionId" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionId** *(string) --* The unique ID assigned to a version of the schema. Either this or the "SchemaId" has to be provided. * **SchemaVersionNumber** *(integer) --* The version number of the schema. * **Parameters** *(dict) --* These key-value pairs define partition parameters. * *(string) --* * *(string) --* * **LastAnalyzedTime** *(datetime) --* The last time at which column statistics were computed for this partition. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AlreadyExistsException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / update_table_optimizer update_table_optimizer ********************** Glue.Client.update_table_optimizer(**kwargs) Updates the configuration for an existing table optimizer. See also: AWS API Documentation **Request Syntax** response = client.update_table_optimizer( CatalogId='string', DatabaseName='string', TableName='string', Type='compaction'|'retention'|'orphan_file_deletion', TableOptimizerConfiguration={ 'roleArn': 'string', 'enabled': True|False, 'vpcConfiguration': { 'glueConnectionName': 'string' }, 'compactionConfiguration': { 'icebergConfiguration': { 'strategy': 'binpack'|'sort'|'z-order', 'minInputFiles': 123, 'deleteFileThreshold': 123 } }, 'retentionConfiguration': { 'icebergConfiguration': { 'snapshotRetentionPeriodInDays': 123, 'numberOfSnapshotsToRetain': 123, 'cleanExpiredFiles': True|False, 'runRateInHours': 123 } }, 'orphanFileDeletionConfiguration': { 'icebergConfiguration': { 'orphanFileRetentionPeriodInDays': 123, 'location': 'string', 'runRateInHours': 123 } } } ) Parameters: * **CatalogId** (*string*) -- **[REQUIRED]** The Catalog ID of the table. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the database in the catalog in which the table resides. * **TableName** (*string*) -- **[REQUIRED]** The name of the table. * **Type** (*string*) -- **[REQUIRED]** The type of table optimizer. * **TableOptimizerConfiguration** (*dict*) -- **[REQUIRED]** A "TableOptimizerConfiguration" object representing the configuration of a table optimizer. * **roleArn** *(string) --* A role passed by the caller which gives the service permission to update the resources associated with the optimizer on the caller's behalf. * **enabled** *(boolean) --* Whether table optimization is enabled. * **vpcConfiguration** *(dict) --* A "TableOptimizerVpcConfiguration" object representing the VPC configuration for a table optimizer. This configuration is necessary to perform optimization on tables that are in a customer VPC. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "glueConnectionName". * **glueConnectionName** *(string) --* The name of the Glue connection used for the VPC for the table optimizer. * **compactionConfiguration** *(dict) --* The configuration for a compaction optimizer. This configuration defines how data files in your table will be compacted to improve query performance and reduce storage costs. * **icebergConfiguration** *(dict) --* The configuration for an Iceberg compaction optimizer. * **strategy** *(string) --* The strategy to use for compaction. Valid values are: * "binpack": Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. This is the recommended compaction strategy for most use cases. * "sort": Organizes data based on specified columns which are sorted hierarchically during compaction, improving query performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, you must first define a sort order in your Iceberg table properties using the "sort_order" table property. * "z-order": Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the "sort_order" table property. If an input is not provided, the default value 'binpack' will be used. * **minInputFiles** *(integer) --* The minimum number of data files that must be present in a partition before compaction will actually compact files. This parameter helps control when compaction is triggered, preventing unnecessary compaction operations on partitions with few files. If an input is not provided, the default value 100 will be used. * **deleteFileThreshold** *(integer) --* The minimum number of deletes that must be present in a data file to make it eligible for compaction. This parameter helps optimize compaction by focusing on files that contain a significant number of delete operations, which can improve query performance by removing deleted records. If an input is not provided, the default value 1 will be used. * **retentionConfiguration** *(dict) --* The configuration for a snapshot retention optimizer. * **icebergConfiguration** *(dict) --* The configuration for an Iceberg snapshot retention optimizer. * **snapshotRetentionPeriodInDays** *(integer) --* The number of days to retain the Iceberg snapshots. If an input is not provided, the corresponding Iceberg table configuration field will be used or if not present, the default value 5 will be used. * **numberOfSnapshotsToRetain** *(integer) --* The number of Iceberg snapshots to retain within the retention period. If an input is not provided, the corresponding Iceberg table configuration field will be used or if not present, the default value 1 will be used. * **cleanExpiredFiles** *(boolean) --* If set to false, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. * **runRateInHours** *(integer) --* The interval in hours between retention job runs. This parameter controls how frequently the retention optimizer will run to clean up expired snapshots. The value must be between 3 and 168 hours (7 days). If an input is not provided, the default value 24 will be used. * **orphanFileDeletionConfiguration** *(dict) --* The configuration for an orphan file deletion optimizer. * **icebergConfiguration** *(dict) --* The configuration for an Iceberg orphan file deletion optimizer. * **orphanFileRetentionPeriodInDays** *(integer) --* The number of days that orphan files should be retained before file deletion. If an input is not provided, the default value 3 will be used. * **location** *(string) --* Specifies a directory in which to look for files (defaults to the table's location). You may choose a sub-directory rather than the top-level table location. * **runRateInHours** *(integer) --* The interval in hours between orphan file deletion job runs. This parameter controls how frequently the orphan file deletion optimizer will run to clean up orphan files. The value must be between 3 and 168 hours (7 days). If an input is not provided, the default value 24 will be used. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.ValidationException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.ThrottlingException" * "Glue.Client.exceptions.ConcurrentModificationException" Glue / Client / create_workflow create_workflow *************** Glue.Client.create_workflow(**kwargs) Creates a new workflow. See also: AWS API Documentation **Request Syntax** response = client.create_workflow( Name='string', Description='string', DefaultRunProperties={ 'string': 'string' }, Tags={ 'string': 'string' }, MaxConcurrentRuns=123 ) Parameters: * **Name** (*string*) -- **[REQUIRED]** The name to be assigned to the workflow. It should be unique within your account. * **Description** (*string*) -- A description of the workflow. * **DefaultRunProperties** (*dict*) -- A collection of properties to be used as part of each execution of the workflow. Run properties may be logged. Do not pass plaintext secrets as properties. Retrieve secrets from a Glue Connection, Amazon Web Services Secrets Manager or other secret management mechanism if you intend to use them within the workflow run. * *(string) --* * *(string) --* * **Tags** (*dict*) -- The tags to be used with this workflow. * *(string) --* * *(string) --* * **MaxConcurrentRuns** (*integer*) -- You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs. Return type: dict Returns: **Response Syntax** { 'Name': 'string' } **Response Structure** * *(dict) --* * **Name** *(string) --* The name of the workflow which was provided as part of the request. **Exceptions** * "Glue.Client.exceptions.AlreadyExistsException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" * "Glue.Client.exceptions.ConcurrentModificationException" Glue / Client / get_trigger get_trigger *********** Glue.Client.get_trigger(**kwargs) Retrieves the definition of a trigger. See also: AWS API Documentation **Request Syntax** response = client.get_trigger( Name='string' ) Parameters: **Name** (*string*) -- **[REQUIRED]** The name of the trigger to retrieve. Return type: dict Returns: **Response Syntax** { 'Trigger': { 'Name': 'string', 'WorkflowName': 'string', 'Id': 'string', 'Type': 'SCHEDULED'|'CONDITIONAL'|'ON_DEMAND'|'EVENT', 'State': 'CREATING'|'CREATED'|'ACTIVATING'|'ACTIVATED'|'DEACTIVATING'|'DEACTIVATED'|'DELETING'|'UPDATING', 'Description': 'string', 'Schedule': 'string', 'Actions': [ { 'JobName': 'string', 'Arguments': { 'string': 'string' }, 'Timeout': 123, 'SecurityConfiguration': 'string', 'NotificationProperty': { 'NotifyDelayAfter': 123 }, 'CrawlerName': 'string' }, ], 'Predicate': { 'Logical': 'AND'|'ANY', 'Conditions': [ { 'LogicalOperator': 'EQUALS', 'JobName': 'string', 'State': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT'|'ERROR'|'WAITING'|'EXPIRED', 'CrawlerName': 'string', 'CrawlState': 'RUNNING'|'CANCELLING'|'CANCELLED'|'SUCCEEDED'|'FAILED'|'ERROR' }, ] }, 'EventBatchingCondition': { 'BatchSize': 123, 'BatchWindow': 123 } } } **Response Structure** * *(dict) --* * **Trigger** *(dict) --* The requested trigger definition. * **Name** *(string) --* The name of the trigger. * **WorkflowName** *(string) --* The name of the workflow associated with the trigger. * **Id** *(string) --* Reserved for future use. * **Type** *(string) --* The type of trigger that this is. * **State** *(string) --* The current state of the trigger. * **Description** *(string) --* A description of this trigger. * **Schedule** *(string) --* A "cron" expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: "cron(15 12 * * ? *)". * **Actions** *(list) --* The actions initiated by this trigger. * *(dict) --* Defines an action to be initiated by a trigger. * **JobName** *(string) --* The name of a job to be run. * **Arguments** *(dict) --* The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job- execution script consumes, as well as arguments that Glue itself consumes. For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide. For information about the key-value pairs that Glue consumes to set up your job, see the Special Parameters Used by Glue topic in the developer guide. * *(string) --* * *(string) --* * **Timeout** *(integer) --* The "JobRun" timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters "TIMEOUT" status. This overrides the timeout value set in the parent job. Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception. When the value is left blank, the timeout is defaulted to 2880 minutes. Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day. For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days. * **SecurityConfiguration** *(string) --* The name of the "SecurityConfiguration" structure to be used with this action. * **NotificationProperty** *(dict) --* Specifies configuration properties of a job run notification. * **NotifyDelayAfter** *(integer) --* After a job run starts, the number of minutes to wait before sending a job run delay notification. * **CrawlerName** *(string) --* The name of the crawler to be used with this action. * **Predicate** *(dict) --* The predicate of this trigger, which defines when it will fire. * **Logical** *(string) --* An optional field if only one condition is listed. If multiple conditions are listed, then this field is required. * **Conditions** *(list) --* A list of the conditions that determine when the trigger will fire. * *(dict) --* Defines a condition under which a trigger fires. * **LogicalOperator** *(string) --* A logical operator. * **JobName** *(string) --* The name of the job whose "JobRuns" this condition applies to, and on which this trigger waits. * **State** *(string) --* The condition state. Currently, the only job states that a trigger can listen for are "SUCCEEDED", "STOPPED", "FAILED", and "TIMEOUT". The only crawler states that a trigger can listen for are "SUCCEEDED", "FAILED", and "CANCELLED". * **CrawlerName** *(string) --* The name of the crawler to which this condition applies. * **CrawlState** *(string) --* The state of the crawler to which this condition applies. * **EventBatchingCondition** *(dict) --* Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires. * **BatchSize** *(integer) --* Number of events that must be received from Amazon EventBridge before EventBridge event trigger fires. * **BatchWindow** *(integer) --* Window of time in seconds after which EventBridge event trigger fires. Window starts when first event is received. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / get_statement get_statement ************* Glue.Client.get_statement(**kwargs) Retrieves the statement. See also: AWS API Documentation **Request Syntax** response = client.get_statement( SessionId='string', Id=123, RequestOrigin='string' ) Parameters: * **SessionId** (*string*) -- **[REQUIRED]** The Session ID of the statement. * **Id** (*integer*) -- **[REQUIRED]** The Id of the statement. * **RequestOrigin** (*string*) -- The origin of the request. Return type: dict Returns: **Response Syntax** { 'Statement': { 'Id': 123, 'Code': 'string', 'State': 'WAITING'|'RUNNING'|'AVAILABLE'|'CANCELLING'|'CANCELLED'|'ERROR', 'Output': { 'Data': { 'TextPlain': 'string' }, 'ExecutionCount': 123, 'Status': 'WAITING'|'RUNNING'|'AVAILABLE'|'CANCELLING'|'CANCELLED'|'ERROR', 'ErrorName': 'string', 'ErrorValue': 'string', 'Traceback': [ 'string', ] }, 'Progress': 123.0, 'StartedOn': 123, 'CompletedOn': 123 } } **Response Structure** * *(dict) --* * **Statement** *(dict) --* Returns the statement. * **Id** *(integer) --* The ID of the statement. * **Code** *(string) --* The execution code of the statement. * **State** *(string) --* The state while request is actioned. * **Output** *(dict) --* The output in JSON. * **Data** *(dict) --* The code execution output. * **TextPlain** *(string) --* The code execution output in text format. * **ExecutionCount** *(integer) --* The execution count of the output. * **Status** *(string) --* The status of the code execution output. * **ErrorName** *(string) --* The name of the error in the output. * **ErrorValue** *(string) --* The error value of the output. * **Traceback** *(list) --* The traceback of the output. * *(string) --* * **Progress** *(float) --* The code execution progress. * **StartedOn** *(integer) --* The unix time and date that the job definition was started. * **CompletedOn** *(integer) --* The unix time and date that the job definition was completed. **Exceptions** * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.IllegalSessionStateException" Glue / Client / start_crawler_schedule start_crawler_schedule ********************** Glue.Client.start_crawler_schedule(**kwargs) Changes the schedule state of the specified crawler to "SCHEDULED", unless the crawler is already running or the schedule state is already "SCHEDULED". See also: AWS API Documentation **Request Syntax** response = client.start_crawler_schedule( CrawlerName='string' ) Parameters: **CrawlerName** (*string*) -- **[REQUIRED]** Name of the crawler to schedule. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.SchedulerRunningException" * "Glue.Client.exceptions.SchedulerTransitioningException" * "Glue.Client.exceptions.NoScheduleException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / batch_delete_partition batch_delete_partition ********************** Glue.Client.batch_delete_partition(**kwargs) Deletes one or more partitions in a batch operation. See also: AWS API Documentation **Request Syntax** response = client.batch_delete_partition( CatalogId='string', DatabaseName='string', TableName='string', PartitionsToDelete=[ { 'Values': [ 'string', ] }, ] ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the partition to be deleted resides. If none is provided, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the catalog database in which the table in question resides. * **TableName** (*string*) -- **[REQUIRED]** The name of the table that contains the partitions to be deleted. * **PartitionsToDelete** (*list*) -- **[REQUIRED]** A list of "PartitionInput" structures that define the partitions to be deleted. * *(dict) --* Contains a list of values defining partitions. * **Values** *(list) --* **[REQUIRED]** The list of values. * *(string) --* Return type: dict Returns: **Response Syntax** { 'Errors': [ { 'PartitionValues': [ 'string', ], 'ErrorDetail': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } **Response Structure** * *(dict) --* * **Errors** *(list) --* The errors encountered when trying to delete the requested partitions. * *(dict) --* Contains information about a partition error. * **PartitionValues** *(list) --* The values that define the partition. * *(string) --* * **ErrorDetail** *(dict) --* The details about the partition error. * **ErrorCode** *(string) --* The code associated with this error. * **ErrorMessage** *(string) --* A message describing the error. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / get_workflow_run get_workflow_run **************** Glue.Client.get_workflow_run(**kwargs) Retrieves the metadata for a given workflow run. Job run history is accessible for 90 days for your workflow and job run. See also: AWS API Documentation **Request Syntax** response = client.get_workflow_run( Name='string', RunId='string', IncludeGraph=True|False ) Parameters: * **Name** (*string*) -- **[REQUIRED]** Name of the workflow being run. * **RunId** (*string*) -- **[REQUIRED]** The ID of the workflow run. * **IncludeGraph** (*boolean*) -- Specifies whether to include the workflow graph in response or not. Return type: dict Returns: **Response Syntax** { 'Run': { 'Name': 'string', 'WorkflowRunId': 'string', 'PreviousRunId': 'string', 'WorkflowRunProperties': { 'string': 'string' }, 'StartedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'Status': 'RUNNING'|'COMPLETED'|'STOPPING'|'STOPPED'|'ERROR', 'ErrorMessage': 'string', 'Statistics': { 'TotalActions': 123, 'TimeoutActions': 123, 'FailedActions': 123, 'StoppedActions': 123, 'SucceededActions': 123, 'RunningActions': 123, 'ErroredActions': 123, 'WaitingActions': 123 }, 'Graph': { 'Nodes': [ { 'Type': 'CRAWLER'|'JOB'|'TRIGGER', 'Name': 'string', 'UniqueId': 'string', 'TriggerDetails': { 'Trigger': { 'Name': 'string', 'WorkflowName': 'string', 'Id': 'string', 'Type': 'SCHEDULED'|'CONDITIONAL'|'ON_DEMAND'|'EVENT', 'State': 'CREATING'|'CREATED'|'ACTIVATING'|'ACTIVATED'|'DEACTIVATING'|'DEACTIVATED'|'DELETING'|'UPDATING', 'Description': 'string', 'Schedule': 'string', 'Actions': [ { 'JobName': 'string', 'Arguments': { 'string': 'string' }, 'Timeout': 123, 'SecurityConfiguration': 'string', 'NotificationProperty': { 'NotifyDelayAfter': 123 }, 'CrawlerName': 'string' }, ], 'Predicate': { 'Logical': 'AND'|'ANY', 'Conditions': [ { 'LogicalOperator': 'EQUALS', 'JobName': 'string', 'State': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT'|'ERROR'|'WAITING'|'EXPIRED', 'CrawlerName': 'string', 'CrawlState': 'RUNNING'|'CANCELLING'|'CANCELLED'|'SUCCEEDED'|'FAILED'|'ERROR' }, ] }, 'EventBatchingCondition': { 'BatchSize': 123, 'BatchWindow': 123 } } }, 'JobDetails': { 'JobRuns': [ { 'Id': 'string', 'Attempt': 123, 'PreviousRunId': 'string', 'TriggerName': 'string', 'JobName': 'string', 'JobMode': 'SCRIPT'|'VISUAL'|'NOTEBOOK', 'JobRunQueuingEnabled': True|False, 'StartedOn': datetime(2015, 1, 1), 'LastModifiedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'JobRunState': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT'|'ERROR'|'WAITING'|'EXPIRED', 'Arguments': { 'string': 'string' }, 'ErrorMessage': 'string', 'PredecessorRuns': [ { 'JobName': 'string', 'RunId': 'string' }, ], 'AllocatedCapacity': 123, 'ExecutionTime': 123, 'Timeout': 123, 'MaxCapacity': 123.0, 'WorkerType': 'Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X', 'NumberOfWorkers': 123, 'SecurityConfiguration': 'string', 'LogGroupName': 'string', 'NotificationProperty': { 'NotifyDelayAfter': 123 }, 'GlueVersion': 'string', 'DPUSeconds': 123.0, 'ExecutionClass': 'FLEX'|'STANDARD', 'MaintenanceWindow': 'string', 'ProfileName': 'string', 'StateDetail': 'string', 'ExecutionRoleSessionPolicy': 'string' }, ] }, 'CrawlerDetails': { 'Crawls': [ { 'State': 'RUNNING'|'CANCELLING'|'CANCELLED'|'SUCCEEDED'|'FAILED'|'ERROR', 'StartedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'ErrorMessage': 'string', 'LogGroup': 'string', 'LogStream': 'string' }, ] } }, ], 'Edges': [ { 'SourceId': 'string', 'DestinationId': 'string' }, ] }, 'StartingEventBatchCondition': { 'BatchSize': 123, 'BatchWindow': 123 } } } **Response Structure** * *(dict) --* * **Run** *(dict) --* The requested workflow run metadata. * **Name** *(string) --* Name of the workflow that was run. * **WorkflowRunId** *(string) --* The ID of this workflow run. * **PreviousRunId** *(string) --* The ID of the previous workflow run. * **WorkflowRunProperties** *(dict) --* The workflow run properties which were set during the run. * *(string) --* * *(string) --* * **StartedOn** *(datetime) --* The date and time when the workflow run was started. * **CompletedOn** *(datetime) --* The date and time when the workflow run completed. * **Status** *(string) --* The status of the workflow run. * **ErrorMessage** *(string) --* This error message describes any error that may have occurred in starting the workflow run. Currently the only error message is "Concurrent runs exceeded for workflow: "foo"." * **Statistics** *(dict) --* The statistics of the run. * **TotalActions** *(integer) --* Total number of Actions in the workflow run. * **TimeoutActions** *(integer) --* Total number of Actions that timed out. * **FailedActions** *(integer) --* Total number of Actions that have failed. * **StoppedActions** *(integer) --* Total number of Actions that have stopped. * **SucceededActions** *(integer) --* Total number of Actions that have succeeded. * **RunningActions** *(integer) --* Total number Actions in running state. * **ErroredActions** *(integer) --* Indicates the count of job runs in the ERROR state in the workflow run. * **WaitingActions** *(integer) --* Indicates the count of job runs in WAITING state in the workflow run. * **Graph** *(dict) --* The graph representing all the Glue components that belong to the workflow as nodes and directed connections between them as edges. * **Nodes** *(list) --* A list of the the Glue components belong to the workflow represented as nodes. * *(dict) --* A node represents an Glue component (trigger, crawler, or job) on a workflow graph. * **Type** *(string) --* The type of Glue component represented by the node. * **Name** *(string) --* The name of the Glue component represented by the node. * **UniqueId** *(string) --* The unique Id assigned to the node within the workflow. * **TriggerDetails** *(dict) --* Details of the Trigger when the node represents a Trigger. * **Trigger** *(dict) --* The information of the trigger represented by the trigger node. * **Name** *(string) --* The name of the trigger. * **WorkflowName** *(string) --* The name of the workflow associated with the trigger. * **Id** *(string) --* Reserved for future use. * **Type** *(string) --* The type of trigger that this is. * **State** *(string) --* The current state of the trigger. * **Description** *(string) --* A description of this trigger. * **Schedule** *(string) --* A "cron" expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: "cron(15 12 * * ? *)". * **Actions** *(list) --* The actions initiated by this trigger. * *(dict) --* Defines an action to be initiated by a trigger. * **JobName** *(string) --* The name of a job to be run. * **Arguments** *(dict) --* The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job-execution script consumes, as well as arguments that Glue itself consumes. For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide. For information about the key-value pairs that Glue consumes to set up your job, see the Special Parameters Used by Glue topic in the developer guide. * *(string) --* * *(string) --* * **Timeout** *(integer) --* The "JobRun" timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters "TIMEOUT" status. This overrides the timeout value set in the parent job. Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception. When the value is left blank, the timeout is defaulted to 2880 minutes. Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day. For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days. * **SecurityConfiguration** *(string) --* The name of the "SecurityConfiguration" structure to be used with this action. * **NotificationProperty** *(dict) --* Specifies configuration properties of a job run notification. * **NotifyDelayAfter** *(integer) --* After a job run starts, the number of minutes to wait before sending a job run delay notification. * **CrawlerName** *(string) --* The name of the crawler to be used with this action. * **Predicate** *(dict) --* The predicate of this trigger, which defines when it will fire. * **Logical** *(string) --* An optional field if only one condition is listed. If multiple conditions are listed, then this field is required. * **Conditions** *(list) --* A list of the conditions that determine when the trigger will fire. * *(dict) --* Defines a condition under which a trigger fires. * **LogicalOperator** *(string) --* A logical operator. * **JobName** *(string) --* The name of the job whose "JobRuns" this condition applies to, and on which this trigger waits. * **State** *(string) --* The condition state. Currently, the only job states that a trigger can listen for are "SUCCEEDED", "STOPPED", "FAILED", and "TIMEOUT". The only crawler states that a trigger can listen for are "SUCCEEDED", "FAILED", and "CANCELLED". * **CrawlerName** *(string) --* The name of the crawler to which this condition applies. * **CrawlState** *(string) --* The state of the crawler to which this condition applies. * **EventBatchingCondition** *(dict) --* Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires. * **BatchSize** *(integer) --* Number of events that must be received from Amazon EventBridge before EventBridge event trigger fires. * **BatchWindow** *(integer) --* Window of time in seconds after which EventBridge event trigger fires. Window starts when first event is received. * **JobDetails** *(dict) --* Details of the Job when the node represents a Job. * **JobRuns** *(list) --* The information for the job runs represented by the job node. * *(dict) --* Contains information about a job run. * **Id** *(string) --* The ID of this job run. * **Attempt** *(integer) --* The number of the attempt to run this job. * **PreviousRunId** *(string) --* The ID of the previous run of this job. For example, the "JobRunId" specified in the "StartJobRun" action. * **TriggerName** *(string) --* The name of the trigger that started this job run. * **JobName** *(string) --* The name of the job definition being used in this run. * **JobMode** *(string) --* A mode that describes how a job was created. Valid values are: * "SCRIPT" - The job was created using the Glue Studio script editor. * "VISUAL" - The job was created using the Glue Studio visual editor. * "NOTEBOOK" - The job was created using an interactive sessions notebook. When the "JobMode" field is missing or null, "SCRIPT" is assigned as the default value. * **JobRunQueuingEnabled** *(boolean) --* Specifies whether job run queuing is enabled for the job run. A value of true means job run queuing is enabled for the job run. If false or not populated, the job run will not be considered for queueing. * **StartedOn** *(datetime) --* The date and time at which this job run was started. * **LastModifiedOn** *(datetime) --* The last time that this job run was modified. * **CompletedOn** *(datetime) --* The date and time that this job run completed. * **JobRunState** *(string) --* The current state of the job run. For more information about the statuses of jobs that have terminated abnormally, see Glue Job Run Statuses. * **Arguments** *(dict) --* The job arguments associated with this run. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job-execution script consumes, as well as arguments that Glue itself consumes. Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a Glue Connection, Secrets Manager or other secret management mechanism if you intend to keep them within the Job. For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide. For information about the arguments you can provide to this field when configuring Spark jobs, see the Special Parameters Used by Glue topic in the developer guide. For information about the arguments you can provide to this field when configuring Ray jobs, see Using job parameters in Ray jobs in the developer guide. * *(string) --* * *(string) --* * **ErrorMessage** *(string) --* An error message associated with this job run. * **PredecessorRuns** *(list) --* A list of predecessors to this job run. * *(dict) --* A job run that was used in the predicate of a conditional trigger that triggered this job run. * **JobName** *(string) --* The name of the job definition used by the predecessor job run. * **RunId** *(string) --* The job-run ID of the predecessor job run. * **AllocatedCapacity** *(integer) --* This field is deprecated. Use "MaxCapacity" instead. The number of Glue data processing units (DPUs) allocated to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. * **ExecutionTime** *(integer) --* The amount of time (in seconds) that the job run consumed resources. * **Timeout** *(integer) --* The "JobRun" timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters "TIMEOUT" status. This value overrides the timeout value set in the parent job. Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception. When the value is left blank, the timeout is defaulted to 2880 minutes. Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day. For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days. * **MaxCapacity** *(float) --* For Glue version 1.0 or earlier jobs, using the standard worker type, the number of Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. For Glue version 2.0+ jobs, you cannot specify a "Maximum capacity". Instead, you should specify a "Worker type" and the "Number of workers". Do not set "MaxCapacity" if using "WorkerType" and "NumberOfWorkers". The value that can be allocated for "MaxCapacity" depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job: * When you specify a Python shell job ( >>``<>``<>``<"). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, "" is okay, but "" is not). * **JsonClassifier** *(dict) --* A classifier for JSON content. * **Name** *(string) --* The name of the classifier. * **CreationTime** *(datetime) --* The time that this classifier was registered. * **LastUpdated** *(datetime) --* The time that this classifier was last updated. * **Version** *(integer) --* The version of this classifier. * **JsonPath** *(string) --* A "JsonPath" string defining the JSON data for the classifier to classify. Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers. * **CsvClassifier** *(dict) --* A classifier for comma-separated values (CSV). * **Name** *(string) --* The name of the classifier. * **CreationTime** *(datetime) --* The time that this classifier was registered. * **LastUpdated** *(datetime) --* The time that this classifier was last updated. * **Version** *(integer) --* The version of this classifier. * **Delimiter** *(string) --* A custom symbol to denote what separates each column entry in the row. * **QuoteSymbol** *(string) --* A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. * **ContainsHeader** *(string) --* Indicates whether the CSV file contains a header. * **Header** *(list) --* A list of strings representing column names. * *(string) --* * **DisableValueTrimming** *(boolean) --* Specifies not to trim values before identifying the type of column values. The default value is "true". * **AllowSingleColumn** *(boolean) --* Enables the processing of files that contain only one column. * **CustomDatatypeConfigured** *(boolean) --* Enables the custom datatype to be configured. * **CustomDatatypes** *(list) --* A list of custom datatypes including "BINARY", "BOOLEAN", "DATE", "DECIMAL", "DOUBLE", "FLOAT", "INT", "LONG", "SHORT", "STRING", "TIMESTAMP". * *(string) --* * **Serde** *(string) --* Sets the SerDe for processing CSV in the classifier, which will be applied in the Data Catalog. Valid values are "OpenCSVSerDe", "LazySimpleSerDe", and "None". You can specify the "None" value when you want the crawler to do the detection. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / get_unfiltered_partitions_metadata get_unfiltered_partitions_metadata ********************************** Glue.Client.get_unfiltered_partitions_metadata(**kwargs) Retrieves partition metadata from the Data Catalog that contains unfiltered metadata. For IAM authorization, the public IAM action associated with this API is "glue:GetPartitions". See also: AWS API Documentation **Request Syntax** response = client.get_unfiltered_partitions_metadata( Region='string', CatalogId='string', DatabaseName='string', TableName='string', Expression='string', AuditContext={ 'AdditionalAuditContext': 'string', 'RequestedColumns': [ 'string', ], 'AllColumnsRequested': True|False }, SupportedPermissionTypes=[ 'COLUMN_PERMISSION'|'CELL_FILTER_PERMISSION'|'NESTED_PERMISSION'|'NESTED_CELL_PERMISSION', ], NextToken='string', Segment={ 'SegmentNumber': 123, 'TotalSegments': 123 }, MaxResults=123, QuerySessionContext={ 'QueryId': 'string', 'QueryStartTime': datetime(2015, 1, 1), 'ClusterId': 'string', 'QueryAuthorizationId': 'string', 'AdditionalContext': { 'string': 'string' } } ) Parameters: * **Region** (*string*) -- Specified only if the base tables belong to a different Amazon Web Services Region. * **CatalogId** (*string*) -- **[REQUIRED]** The ID of the Data Catalog where the partitions in question reside. If none is provided, the AWS account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the catalog database where the partitions reside. * **TableName** (*string*) -- **[REQUIRED]** The name of the table that contains the partition. * **Expression** (*string*) -- An expression that filters the partitions to be returned. The expression uses SQL syntax similar to the SQL "WHERE" filter clause. The SQL statement parser JSQLParser parses the expression. *Operators*: The following are the operators that you can use in the "Expression" API call: = Checks whether the values of the two operands are equal; if yes, then the condition becomes true. Example: Assume 'variable a' holds 10 and 'variable b' holds 20. (a = b) is not true. < > Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true. Example: (a < > b) is true. > Checks whether the value of the left operand is greater than the value of the right operand; if yes, then the condition becomes true. Example: (a > b) is not true. < Checks whether the value of the left operand is less than the value of the right operand; if yes, then the condition becomes true. Example: (a < b) is true. >= Checks whether the value of the left operand is greater than or equal to the value of the right operand; if yes, then the condition becomes true. Example: (a >= b) is not true. <= Checks whether the value of the left operand is less than or equal to the value of the right operand; if yes, then the condition becomes true. Example: (a <= b) is true. AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL Logical operators. *Supported Partition Key Types*: The following are the supported partition keys. * "string" * "date" * "timestamp" * "int" * "bigint" * "long" * "tinyint" * "smallint" * "decimal" If an type is encountered that is not valid, an exception is thrown. * **AuditContext** (*dict*) -- A structure containing Lake Formation audit context information. * **AdditionalAuditContext** *(string) --* A string containing the additional audit context information. * **RequestedColumns** *(list) --* The requested columns for audit. * *(string) --* * **AllColumnsRequested** *(boolean) --* All columns request for audit. * **SupportedPermissionTypes** (*list*) -- **[REQUIRED]** A list of supported permission types. * *(string) --* * **NextToken** (*string*) -- A continuation token, if this is not the first call to retrieve these partitions. * **Segment** (*dict*) -- The segment of the table's partitions to scan in this request. * **SegmentNumber** *(integer) --* **[REQUIRED]** The zero-based index number of the segment. For example, if the total number of segments is 4, "SegmentNumber" values range from 0 through 3. * **TotalSegments** *(integer) --* **[REQUIRED]** The total number of segments. * **MaxResults** (*integer*) -- The maximum number of partitions to return in a single response. * **QuerySessionContext** (*dict*) -- A structure used as a protocol between query engines and Lake Formation or Glue. Contains both a Lake Formation generated authorization identifier and information from the request's authorization context. * **QueryId** *(string) --* A unique identifier generated by the query engine for the query. * **QueryStartTime** *(datetime) --* A timestamp provided by the query engine for when the query started. * **ClusterId** *(string) --* An identifier string for the consumer cluster. * **QueryAuthorizationId** *(string) --* A cryptographically generated query identifier generated by Glue or Lake Formation. * **AdditionalContext** *(dict) --* An opaque string-string map passed by the query engine. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'UnfilteredPartitions': [ { 'Partition': { 'Values': [ 'string', ], 'DatabaseName': 'string', 'TableName': 'string', 'CreationTime': datetime(2015, 1, 1), 'LastAccessTime': datetime(2015, 1, 1), 'StorageDescriptor': { 'Columns': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'Location': 'string', 'AdditionalLocations': [ 'string', ], 'InputFormat': 'string', 'OutputFormat': 'string', 'Compressed': True|False, 'NumberOfBuckets': 123, 'SerdeInfo': { 'Name': 'string', 'SerializationLibrary': 'string', 'Parameters': { 'string': 'string' } }, 'BucketColumns': [ 'string', ], 'SortColumns': [ { 'Column': 'string', 'SortOrder': 123 }, ], 'Parameters': { 'string': 'string' }, 'SkewedInfo': { 'SkewedColumnNames': [ 'string', ], 'SkewedColumnValues': [ 'string', ], 'SkewedColumnValueLocationMaps': { 'string': 'string' } }, 'StoredAsSubDirectories': True|False, 'SchemaReference': { 'SchemaId': { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionNumber': 123 } }, 'Parameters': { 'string': 'string' }, 'LastAnalyzedTime': datetime(2015, 1, 1), 'CatalogId': 'string' }, 'AuthorizedColumns': [ 'string', ], 'IsRegisteredWithLakeFormation': True|False }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **UnfilteredPartitions** *(list) --* A list of requested partitions. * *(dict) --* A partition that contains unfiltered metadata. * **Partition** *(dict) --* The partition object. * **Values** *(list) --* The values of the partition. * *(string) --* * **DatabaseName** *(string) --* The name of the catalog database in which to create the partition. * **TableName** *(string) --* The name of the database table in which to create the partition. * **CreationTime** *(datetime) --* The time at which the partition was created. * **LastAccessTime** *(datetime) --* The last time at which the partition was accessed. * **StorageDescriptor** *(dict) --* Provides information about the physical location where the partition is stored. * **Columns** *(list) --* A list of the "Columns" in the table. * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **Location** *(string) --* The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * **AdditionalLocations** *(list) --* A list of locations that point to the path where a Delta table is located. * *(string) --* * **InputFormat** *(string) --* The input format: "SequenceFileInputFormat" (binary), or "TextInputFormat", or a custom format. * **OutputFormat** *(string) --* The output format: "SequenceFileOutputFormat" (binary), or "IgnoreKeyTextOutputFormat", or a custom format. * **Compressed** *(boolean) --* "True" if the data in the table is compressed, or "False" if not. * **NumberOfBuckets** *(integer) --* Must be specified if the table contains any dimension columns. * **SerdeInfo** *(dict) --* The serialization/deserialization (SerDe) information. * **Name** *(string) --* Name of the SerDe. * **SerializationLibrary** *(string) --* Usually the class that implements the SerDe. An example is "org.apache.hadoop.hive.serde2.columna r.ColumnarSerDe". * **Parameters** *(dict) --* These key-value pairs define initialization parameters for the SerDe. * *(string) --* * *(string) --* * **BucketColumns** *(list) --* A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * *(string) --* * **SortColumns** *(list) --* A list specifying the sort order of each bucket in the table. * *(dict) --* Specifies the sort order of a sorted column. * **Column** *(string) --* The name of the column. * **SortOrder** *(integer) --* Indicates that the column is sorted in ascending order ( "== 1"), or in descending order ( "==0"). * **Parameters** *(dict) --* The user-supplied properties in key-value form. * *(string) --* * *(string) --* * **SkewedInfo** *(dict) --* The information about values that appear frequently in a column (skewed values). * **SkewedColumnNames** *(list) --* A list of names of columns that contain skewed values. * *(string) --* * **SkewedColumnValues** *(list) --* A list of values that appear so frequently as to be considered skewed. * *(string) --* * **SkewedColumnValueLocationMaps** *(dict) --* A mapping of skewed values to the columns that contain them. * *(string) --* * *(string) --* * **StoredAsSubDirectories** *(boolean) --* "True" if the table data is stored in subdirectories, or "False" if not. * **SchemaReference** *(dict) --* An object that references a schema stored in the Glue Schema Registry. When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference. * **SchemaId** *(dict) --* A structure that contains schema identity fields. Either this or the "SchemaVersionId" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionId** *(string) --* The unique ID assigned to a version of the schema. Either this or the "SchemaId" has to be provided. * **SchemaVersionNumber** *(integer) --* The version number of the schema. * **Parameters** *(dict) --* These key-value pairs define partition parameters. * *(string) --* * *(string) --* * **LastAnalyzedTime** *(datetime) --* The last time at which column statistics were computed for this partition. * **CatalogId** *(string) --* The ID of the Data Catalog in which the partition resides. * **AuthorizedColumns** *(list) --* The list of columns the user has permissions to access. * *(string) --* * **IsRegisteredWithLakeFormation** *(boolean) --* A Boolean value indicating that the partition location is registered with Lake Formation. * **NextToken** *(string) --* A continuation token, if the returned list of partitions does not include the last one. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.GlueEncryptionException" * "Glue.Client.exceptions.PermissionTypeMismatchException" * "Glue.Client.exceptions.FederationSourceException" * "Glue.Client.exceptions.FederationSourceRetryableException" Glue / Client / create_security_configuration create_security_configuration ***************************** Glue.Client.create_security_configuration(**kwargs) Creates a new security configuration. A security configuration is a set of security properties that can be used by Glue. You can use a security configuration to encrypt data at rest. For information about using security configurations in Glue, see Encrypting Data Written by Crawlers, Jobs, and Development Endpoints. See also: AWS API Documentation **Request Syntax** response = client.create_security_configuration( Name='string', EncryptionConfiguration={ 'S3Encryption': [ { 'S3EncryptionMode': 'DISABLED'|'SSE-KMS'|'SSE-S3', 'KmsKeyArn': 'string' }, ], 'CloudWatchEncryption': { 'CloudWatchEncryptionMode': 'DISABLED'|'SSE-KMS', 'KmsKeyArn': 'string' }, 'JobBookmarksEncryption': { 'JobBookmarksEncryptionMode': 'DISABLED'|'CSE-KMS', 'KmsKeyArn': 'string' }, 'DataQualityEncryption': { 'DataQualityEncryptionMode': 'DISABLED'|'SSE-KMS', 'KmsKeyArn': 'string' } } ) Parameters: * **Name** (*string*) -- **[REQUIRED]** The name for the new security configuration. * **EncryptionConfiguration** (*dict*) -- **[REQUIRED]** The encryption configuration for the new security configuration. * **S3Encryption** *(list) --* The encryption configuration for Amazon Simple Storage Service (Amazon S3) data. * *(dict) --* Specifies how Amazon Simple Storage Service (Amazon S3) data should be encrypted. * **S3EncryptionMode** *(string) --* The encryption mode to use for Amazon S3 data. * **KmsKeyArn** *(string) --* The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data. * **CloudWatchEncryption** *(dict) --* The encryption configuration for Amazon CloudWatch. * **CloudWatchEncryptionMode** *(string) --* The encryption mode to use for CloudWatch data. * **KmsKeyArn** *(string) --* The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data. * **JobBookmarksEncryption** *(dict) --* The encryption configuration for job bookmarks. * **JobBookmarksEncryptionMode** *(string) --* The encryption mode to use for job bookmarks data. * **KmsKeyArn** *(string) --* The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data. * **DataQualityEncryption** *(dict) --* The encryption configuration for Glue Data Quality assets. * **DataQualityEncryptionMode** *(string) --* The encryption mode to use for encrypting Data Quality assets. These assets include data quality rulesets, results, statistics, anomaly detection models and observations. Valid values are "SSEKMS" for encryption using a customer- managed KMS key, or "DISABLED". * **KmsKeyArn** *(string) --* The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data. Return type: dict Returns: **Response Syntax** { 'Name': 'string', 'CreatedTimestamp': datetime(2015, 1, 1) } **Response Structure** * *(dict) --* * **Name** *(string) --* The name assigned to the new security configuration. * **CreatedTimestamp** *(datetime) --* The time at which the new security configuration was created. **Exceptions** * "Glue.Client.exceptions.AlreadyExistsException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" Glue / Client / batch_get_jobs batch_get_jobs ************** Glue.Client.batch_get_jobs(**kwargs) Returns a list of resource metadata for a given list of job names. After calling the "ListJobs" operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. See also: AWS API Documentation **Request Syntax** response = client.batch_get_jobs( JobNames=[ 'string', ] ) Parameters: **JobNames** (*list*) -- **[REQUIRED]** A list of job names, which might be the names returned from the "ListJobs" operation. * *(string) --* Return type: dict Returns: **Response Syntax** # This section is too large to render. # Please see the AWS API Documentation linked below. AWS API Documentation **Response Structure** # This section is too large to render. # Please see the AWS API Documentation linked below. AWS API Documentation **Exceptions** * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" Glue / Client / put_workflow_run_properties put_workflow_run_properties *************************** Glue.Client.put_workflow_run_properties(**kwargs) Puts the specified workflow run properties for the given workflow run. If a property already exists for the specified run, then it overrides the value otherwise adds the property to existing properties. See also: AWS API Documentation **Request Syntax** response = client.put_workflow_run_properties( Name='string', RunId='string', RunProperties={ 'string': 'string' } ) Parameters: * **Name** (*string*) -- **[REQUIRED]** Name of the workflow which was run. * **RunId** (*string*) -- **[REQUIRED]** The ID of the workflow run for which the run properties should be updated. * **RunProperties** (*dict*) -- **[REQUIRED]** The properties to put for the specified run. Run properties may be logged. Do not pass plaintext secrets as properties. Retrieve secrets from a Glue Connection, Amazon Web Services Secrets Manager or other secret management mechanism if you intend to use them within the workflow run. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.AlreadyExistsException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" * "Glue.Client.exceptions.ConcurrentModificationException" Glue / Client / create_integration_resource_property create_integration_resource_property ************************************ Glue.Client.create_integration_resource_property(**kwargs) This API can be used for setting up the "ResourceProperty" of the Glue connection (for the source) or Glue database ARN (for the target). These properties can include the role to access the connection or database. To set both source and target properties the same API needs to be invoked with the Glue connection ARN as "ResourceArn" with "SourceProcessingProperties" and the Glue database ARN as "ResourceArn" with "TargetProcessingProperties" respectively. See also: AWS API Documentation **Request Syntax** response = client.create_integration_resource_property( ResourceArn='string', SourceProcessingProperties={ 'RoleArn': 'string' }, TargetProcessingProperties={ 'RoleArn': 'string', 'KmsArn': 'string', 'ConnectionName': 'string', 'EventBusArn': 'string' } ) Parameters: * **ResourceArn** (*string*) -- **[REQUIRED]** The connection ARN of the source, or the database ARN of the target. * **SourceProcessingProperties** (*dict*) -- The resource properties associated with the integration source. * **RoleArn** *(string) --* The IAM role to access the Glue connection. * **TargetProcessingProperties** (*dict*) -- The resource properties associated with the integration target. * **RoleArn** *(string) --* The IAM role to access the Glue database. * **KmsArn** *(string) --* The ARN of the KMS key used for encryption. * **ConnectionName** *(string) --* The Glue network connection to configure the Glue job running in the customer VPC. * **EventBusArn** *(string) --* The ARN of an Eventbridge event bus to receive the integration status notification. Return type: dict Returns: **Response Syntax** { 'ResourceArn': 'string', 'SourceProcessingProperties': { 'RoleArn': 'string' }, 'TargetProcessingProperties': { 'RoleArn': 'string', 'KmsArn': 'string', 'ConnectionName': 'string', 'EventBusArn': 'string' } } **Response Structure** * *(dict) --* * **ResourceArn** *(string) --* The connection ARN of the source, or the database ARN of the target. * **SourceProcessingProperties** *(dict) --* The resource properties associated with the integration source. * **RoleArn** *(string) --* The IAM role to access the Glue connection. * **TargetProcessingProperties** *(dict) --* The resource properties associated with the integration target. * **RoleArn** *(string) --* The IAM role to access the Glue database. * **KmsArn** *(string) --* The ARN of the KMS key used for encryption. * **ConnectionName** *(string) --* The Glue network connection to configure the Glue job running in the customer VPC. * **EventBusArn** *(string) --* The ARN of an Eventbridge event bus to receive the integration status notification. **Exceptions** * "Glue.Client.exceptions.ValidationException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.ConflictException" * "Glue.Client.exceptions.InternalServerException" * "Glue.Client.exceptions.ResourceNotFoundException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.InvalidInputException" Glue / Client / get_schema_versions_diff get_schema_versions_diff ************************ Glue.Client.get_schema_versions_diff(**kwargs) Fetches the schema version difference in the specified difference type between two stored schema versions in the Schema Registry. This API allows you to compare two schema versions between two schema definitions under the same schema. See also: AWS API Documentation **Request Syntax** response = client.get_schema_versions_diff( SchemaId={ 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, FirstSchemaVersionNumber={ 'LatestVersion': True|False, 'VersionNumber': 123 }, SecondSchemaVersionNumber={ 'LatestVersion': True|False, 'VersionNumber': 123 }, SchemaDiffType='SYNTAX_DIFF' ) Parameters: * **SchemaId** (*dict*) -- **[REQUIRED]** This is a wrapper structure to contain schema identity fields. The structure contains: * SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * SchemaId$SchemaName: The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **FirstSchemaVersionNumber** (*dict*) -- **[REQUIRED]** The first of the two schema versions to be compared. * **LatestVersion** *(boolean) --* The latest version available for the schema. * **VersionNumber** *(integer) --* The version number of the schema. * **SecondSchemaVersionNumber** (*dict*) -- **[REQUIRED]** The second of the two schema versions to be compared. * **LatestVersion** *(boolean) --* The latest version available for the schema. * **VersionNumber** *(integer) --* The version number of the schema. * **SchemaDiffType** (*string*) -- **[REQUIRED]** Refers to "SYNTAX_DIFF", which is the currently supported diff type. Return type: dict Returns: **Response Syntax** { 'Diff': 'string' } **Response Structure** * *(dict) --* * **Diff** *(string) --* The difference between schemas as a string in JsonPatch format. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / query_schema_version_metadata query_schema_version_metadata ***************************** Glue.Client.query_schema_version_metadata(**kwargs) Queries for the schema version metadata information. See also: AWS API Documentation **Request Syntax** response = client.query_schema_version_metadata( SchemaId={ 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, SchemaVersionNumber={ 'LatestVersion': True|False, 'VersionNumber': 123 }, SchemaVersionId='string', MetadataList=[ { 'MetadataKey': 'string', 'MetadataValue': 'string' }, ], MaxResults=123, NextToken='string' ) Parameters: * **SchemaId** (*dict*) -- A wrapper structure that may contain the schema name and Amazon Resource Name (ARN). * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionNumber** (*dict*) -- The version number of the schema. * **LatestVersion** *(boolean) --* The latest version available for the schema. * **VersionNumber** *(integer) --* The version number of the schema. * **SchemaVersionId** (*string*) -- The unique version ID of the schema version. * **MetadataList** (*list*) -- Search key-value pairs for metadata, if they are not provided all the metadata information will be fetched. * *(dict) --* A structure containing a key value pair for metadata. * **MetadataKey** *(string) --* A metadata key. * **MetadataValue** *(string) --* A metadata key’s corresponding value. * **MaxResults** (*integer*) -- Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page. * **NextToken** (*string*) -- A continuation token, if this is a continuation call. Return type: dict Returns: **Response Syntax** { 'MetadataInfoMap': { 'string': { 'MetadataValue': 'string', 'CreatedTime': 'string', 'OtherMetadataValueList': [ { 'MetadataValue': 'string', 'CreatedTime': 'string' }, ] } }, 'SchemaVersionId': 'string', 'NextToken': 'string' } **Response Structure** * *(dict) --* * **MetadataInfoMap** *(dict) --* A map of a metadata key and associated values. * *(string) --* * *(dict) --* A structure containing metadata information for a schema version. * **MetadataValue** *(string) --* The metadata key’s corresponding value. * **CreatedTime** *(string) --* The time at which the entry was created. * **OtherMetadataValueList** *(list) --* Other metadata belonging to the same metadata key. * *(dict) --* A structure containing other metadata for a schema version belonging to the same metadata key. * **MetadataValue** *(string) --* The metadata key’s corresponding value for the other metadata belonging to the same metadata key. * **CreatedTime** *(string) --* The time at which the entry was created. * **SchemaVersionId** *(string) --* The unique version ID of the schema version. * **NextToken** *(string) --* A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" Glue / Client / cancel_statement cancel_statement **************** Glue.Client.cancel_statement(**kwargs) Cancels the statement. See also: AWS API Documentation **Request Syntax** response = client.cancel_statement( SessionId='string', Id=123, RequestOrigin='string' ) Parameters: * **SessionId** (*string*) -- **[REQUIRED]** The Session ID of the statement to be cancelled. * **Id** (*integer*) -- **[REQUIRED]** The ID of the statement to be cancelled. * **RequestOrigin** (*string*) -- The origin of the request to cancel the statement. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.IllegalSessionStateException" Glue / Client / delete_table_version delete_table_version ******************** Glue.Client.delete_table_version(**kwargs) Deletes a specified version of a table. See also: AWS API Documentation **Request Syntax** response = client.delete_table_version( CatalogId='string', DatabaseName='string', TableName='string', VersionId='string' ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the tables reside. If none is provided, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase. * **TableName** (*string*) -- **[REQUIRED]** The name of the table. For Hive compatibility, this name is entirely lowercase. * **VersionId** (*string*) -- **[REQUIRED]** The ID of the table version to be deleted. A "VersionID" is a string representation of an integer. Each version is incremented by 1. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / start_column_statistics_task_run start_column_statistics_task_run ******************************** Glue.Client.start_column_statistics_task_run(**kwargs) Starts a column statistics task run, for a specified table and columns. See also: AWS API Documentation **Request Syntax** response = client.start_column_statistics_task_run( DatabaseName='string', TableName='string', ColumnNameList=[ 'string', ], Role='string', SampleSize=123.0, CatalogID='string', SecurityConfiguration='string' ) Parameters: * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the database where the table resides. * **TableName** (*string*) -- **[REQUIRED]** The name of the table to generate statistics. * **ColumnNameList** (*list*) -- A list of the column names to generate statistics. If none is supplied, all column names for the table will be used by default. * *(string) --* * **Role** (*string*) -- **[REQUIRED]** The IAM role that the service assumes to generate statistics. * **SampleSize** (*float*) -- The percentage of rows used to generate statistics. If none is supplied, the entire table will be used to generate stats. * **CatalogID** (*string*) -- The ID of the Data Catalog where the table reside. If none is supplied, the Amazon Web Services account ID is used by default. * **SecurityConfiguration** (*string*) -- Name of the security configuration that is used to encrypt CloudWatch logs for the column stats task run. Return type: dict Returns: **Response Syntax** { 'ColumnStatisticsTaskRunId': 'string' } **Response Structure** * *(dict) --* * **ColumnStatisticsTaskRunId** *(string) --* The identifier for the column statistics task run. **Exceptions** * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.ColumnStatisticsTaskRunningException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" * "Glue.Client.exceptions.InvalidInputException" Glue / Client / close close ***** Glue.Client.close() Closes underlying endpoint connections. Glue / Client / put_resource_policy put_resource_policy ******************* Glue.Client.put_resource_policy(**kwargs) Sets the Data Catalog resource policy for access control. See also: AWS API Documentation **Request Syntax** response = client.put_resource_policy( PolicyInJson='string', ResourceArn='string', PolicyHashCondition='string', PolicyExistsCondition='MUST_EXIST'|'NOT_EXIST'|'NONE', EnableHybrid='TRUE'|'FALSE' ) Parameters: * **PolicyInJson** (*string*) -- **[REQUIRED]** Contains the policy document to set, in JSON format. * **ResourceArn** (*string*) -- Do not use. For internal use only. * **PolicyHashCondition** (*string*) -- The hash value returned when the previous policy was set using "PutResourcePolicy". Its purpose is to prevent concurrent modifications of a policy. Do not use this parameter if no previous policy has been set. * **PolicyExistsCondition** (*string*) -- A value of "MUST_EXIST" is used to update a policy. A value of "NOT_EXIST" is used to create a new policy. If a value of "NONE" or a null value is used, the call does not depend on the existence of a policy. * **EnableHybrid** (*string*) -- If "'TRUE'", indicates that you are using both methods to grant cross-account access to Data Catalog resources: * By directly updating the resource policy with "PutResourePolicy" * By using the **Grant permissions** command on the Amazon Web Services Management Console. Must be set to "'TRUE'" if you have already used the Management Console to grant cross-account access, otherwise the call fails. Default is 'FALSE'. Return type: dict Returns: **Response Syntax** { 'PolicyHash': 'string' } **Response Structure** * *(dict) --* * **PolicyHash** *(string) --* A hash of the policy that has just been set. This must be included in a subsequent call that overwrites or updates this policy. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.ConditionCheckFailureException" Glue / Client / get_resource_policy get_resource_policy ******************* Glue.Client.get_resource_policy(**kwargs) Retrieves a specified resource policy. See also: AWS API Documentation **Request Syntax** response = client.get_resource_policy( ResourceArn='string' ) Parameters: **ResourceArn** (*string*) -- The ARN of the Glue resource for which to retrieve the resource policy. If not supplied, the Data Catalog resource policy is returned. Use "GetResourcePolicies" to view all existing resource policies. For more information see Specifying Glue Resource ARNs. Return type: dict Returns: **Response Syntax** { 'PolicyInJson': 'string', 'PolicyHash': 'string', 'CreateTime': datetime(2015, 1, 1), 'UpdateTime': datetime(2015, 1, 1) } **Response Structure** * *(dict) --* * **PolicyInJson** *(string) --* Contains the requested policy document, in JSON format. * **PolicyHash** *(string) --* Contains the hash value associated with this policy. * **CreateTime** *(datetime) --* The date and time at which the policy was created. * **UpdateTime** *(datetime) --* The date and time at which the policy was last updated. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" Glue / Client / list_blueprints list_blueprints *************** Glue.Client.list_blueprints(**kwargs) Lists all the blueprint names in an account. See also: AWS API Documentation **Request Syntax** response = client.list_blueprints( NextToken='string', MaxResults=123, Tags={ 'string': 'string' } ) Parameters: * **NextToken** (*string*) -- A continuation token, if this is a continuation request. * **MaxResults** (*integer*) -- The maximum size of a list to return. * **Tags** (*dict*) -- Filters the list by an Amazon Web Services resource tag. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'Blueprints': [ 'string', ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Blueprints** *(list) --* List of names of blueprints in the account. * *(string) --* * **NextToken** *(string) --* A continuation token, if not all blueprint names have been returned. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / get_data_quality_ruleset_evaluation_run get_data_quality_ruleset_evaluation_run *************************************** Glue.Client.get_data_quality_ruleset_evaluation_run(**kwargs) Retrieves a specific run where a ruleset is evaluated against a data source. See also: AWS API Documentation **Request Syntax** response = client.get_data_quality_ruleset_evaluation_run( RunId='string' ) Parameters: **RunId** (*string*) -- **[REQUIRED]** The unique run identifier associated with this run. Return type: dict Returns: **Response Syntax** { 'RunId': 'string', 'DataSource': { 'GlueTable': { 'DatabaseName': 'string', 'TableName': 'string', 'CatalogId': 'string', 'ConnectionName': 'string', 'AdditionalOptions': { 'string': 'string' } } }, 'Role': 'string', 'NumberOfWorkers': 123, 'Timeout': 123, 'AdditionalRunOptions': { 'CloudWatchMetricsEnabled': True|False, 'ResultsS3Prefix': 'string', 'CompositeRuleEvaluationMethod': 'COLUMN'|'ROW' }, 'Status': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT', 'ErrorString': 'string', 'StartedOn': datetime(2015, 1, 1), 'LastModifiedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'ExecutionTime': 123, 'RulesetNames': [ 'string', ], 'ResultIds': [ 'string', ], 'AdditionalDataSources': { 'string': { 'GlueTable': { 'DatabaseName': 'string', 'TableName': 'string', 'CatalogId': 'string', 'ConnectionName': 'string', 'AdditionalOptions': { 'string': 'string' } } } } } **Response Structure** * *(dict) --* * **RunId** *(string) --* The unique run identifier associated with this run. * **DataSource** *(dict) --* The data source (an Glue table) associated with this evaluation run. * **GlueTable** *(dict) --* An Glue table. * **DatabaseName** *(string) --* A database name in the Glue Data Catalog. * **TableName** *(string) --* A table name in the Glue Data Catalog. * **CatalogId** *(string) --* A unique identifier for the Glue Data Catalog. * **ConnectionName** *(string) --* The name of the connection to the Glue Data Catalog. * **AdditionalOptions** *(dict) --* Additional options for the table. Currently there are two keys supported: * "pushDownPredicate": to filter on partitions without having to list and read all the files in your dataset. * "catalogPartitionPredicate": to use server-side partition pruning using partition indexes in the Glue Data Catalog. * *(string) --* * *(string) --* * **Role** *(string) --* An IAM role supplied to encrypt the results of the run. * **NumberOfWorkers** *(integer) --* The number of "G.1X" workers to be used in the run. The default is 5. * **Timeout** *(integer) --* The timeout for a run in minutes. This is the maximum time that a run can consume resources before it is terminated and enters "TIMEOUT" status. The default is 2,880 minutes (48 hours). * **AdditionalRunOptions** *(dict) --* Additional run options you can specify for an evaluation run. * **CloudWatchMetricsEnabled** *(boolean) --* Whether or not to enable CloudWatch metrics. * **ResultsS3Prefix** *(string) --* Prefix for Amazon S3 to store results. * **CompositeRuleEvaluationMethod** *(string) --* Set the evaluation method for composite rules in the ruleset to ROW/COLUMN * **Status** *(string) --* The status for this run. * **ErrorString** *(string) --* The error strings that are associated with the run. * **StartedOn** *(datetime) --* The date and time when this run started. * **LastModifiedOn** *(datetime) --* A timestamp. The last point in time when this data quality rule recommendation run was modified. * **CompletedOn** *(datetime) --* The date and time when this run was completed. * **ExecutionTime** *(integer) --* The amount of time (in seconds) that the run consumed resources. * **RulesetNames** *(list) --* A list of ruleset names for the run. Currently, this parameter takes only one Ruleset name. * *(string) --* * **ResultIds** *(list) --* A list of result IDs for the data quality results for the run. * *(string) --* * **AdditionalDataSources** *(dict) --* A map of reference strings to additional data sources you can specify for an evaluation run. * *(string) --* * *(dict) --* A data source (an Glue table) for which you want data quality results. * **GlueTable** *(dict) --* An Glue table. * **DatabaseName** *(string) --* A database name in the Glue Data Catalog. * **TableName** *(string) --* A table name in the Glue Data Catalog. * **CatalogId** *(string) --* A unique identifier for the Glue Data Catalog. * **ConnectionName** *(string) --* The name of the connection to the Glue Data Catalog. * **AdditionalOptions** *(dict) --* Additional options for the table. Currently there are two keys supported: * "pushDownPredicate": to filter on partitions without having to list and read all the files in your dataset. * "catalogPartitionPredicate": to use server-side partition pruning using partition indexes in the Glue Data Catalog. * *(string) --* * *(string) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / get_column_statistics_for_table get_column_statistics_for_table ******************************* Glue.Client.get_column_statistics_for_table(**kwargs) Retrieves table statistics of columns. The Identity and Access Management (IAM) permission required for this operation is "GetTable". See also: AWS API Documentation **Request Syntax** response = client.get_column_statistics_for_table( CatalogId='string', DatabaseName='string', TableName='string', ColumnNames=[ 'string', ] ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the partitions in question reside. If none is supplied, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the catalog database where the partitions reside. * **TableName** (*string*) -- **[REQUIRED]** The name of the partitions' table. * **ColumnNames** (*list*) -- **[REQUIRED]** A list of the column names. * *(string) --* Return type: dict Returns: **Response Syntax** { 'ColumnStatisticsList': [ { 'ColumnName': 'string', 'ColumnType': 'string', 'AnalyzedTime': datetime(2015, 1, 1), 'StatisticsData': { 'Type': 'BOOLEAN'|'DATE'|'DECIMAL'|'DOUBLE'|'LONG'|'STRING'|'BINARY', 'BooleanColumnStatisticsData': { 'NumberOfTrues': 123, 'NumberOfFalses': 123, 'NumberOfNulls': 123 }, 'DateColumnStatisticsData': { 'MinimumValue': datetime(2015, 1, 1), 'MaximumValue': datetime(2015, 1, 1), 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'DecimalColumnStatisticsData': { 'MinimumValue': { 'UnscaledValue': b'bytes', 'Scale': 123 }, 'MaximumValue': { 'UnscaledValue': b'bytes', 'Scale': 123 }, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'DoubleColumnStatisticsData': { 'MinimumValue': 123.0, 'MaximumValue': 123.0, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'LongColumnStatisticsData': { 'MinimumValue': 123, 'MaximumValue': 123, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'StringColumnStatisticsData': { 'MaximumLength': 123, 'AverageLength': 123.0, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'BinaryColumnStatisticsData': { 'MaximumLength': 123, 'AverageLength': 123.0, 'NumberOfNulls': 123 } } }, ], 'Errors': [ { 'ColumnName': 'string', 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } **Response Structure** * *(dict) --* * **ColumnStatisticsList** *(list) --* List of ColumnStatistics. * *(dict) --* Represents the generated column-level statistics for a table or partition. * **ColumnName** *(string) --* Name of column which statistics belong to. * **ColumnType** *(string) --* The data type of the column. * **AnalyzedTime** *(datetime) --* The timestamp of when column statistics were generated. * **StatisticsData** *(dict) --* A "ColumnStatisticData" object that contains the statistics data values. * **Type** *(string) --* The type of column statistics data. * **BooleanColumnStatisticsData** *(dict) --* Boolean column statistics data. * **NumberOfTrues** *(integer) --* The number of true values in the column. * **NumberOfFalses** *(integer) --* The number of false values in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **DateColumnStatisticsData** *(dict) --* Date column statistics data. * **MinimumValue** *(datetime) --* The lowest value in the column. * **MaximumValue** *(datetime) --* The highest value in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **DecimalColumnStatisticsData** *(dict) --* Decimal column statistics data. UnscaledValues within are Base64-encoded binary objects storing big-endian, two's complement representations of the decimal's unscaled value. * **MinimumValue** *(dict) --* The lowest value in the column. * **UnscaledValue** *(bytes) --* The unscaled numeric value. * **Scale** *(integer) --* The scale that determines where the decimal point falls in the unscaled value. * **MaximumValue** *(dict) --* The highest value in the column. * **UnscaledValue** *(bytes) --* The unscaled numeric value. * **Scale** *(integer) --* The scale that determines where the decimal point falls in the unscaled value. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **DoubleColumnStatisticsData** *(dict) --* Double column statistics data. * **MinimumValue** *(float) --* The lowest value in the column. * **MaximumValue** *(float) --* The highest value in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **LongColumnStatisticsData** *(dict) --* Long column statistics data. * **MinimumValue** *(integer) --* The lowest value in the column. * **MaximumValue** *(integer) --* The highest value in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **StringColumnStatisticsData** *(dict) --* String column statistics data. * **MaximumLength** *(integer) --* The size of the longest string in the column. * **AverageLength** *(float) --* The average string length in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **BinaryColumnStatisticsData** *(dict) --* Binary column statistics data. * **MaximumLength** *(integer) --* The size of the longest bit sequence in the column. * **AverageLength** *(float) --* The average bit sequence length in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **Errors** *(list) --* List of ColumnStatistics that failed to be retrieved. * *(dict) --* Encapsulates a column name that failed and the reason for failure. * **ColumnName** *(string) --* The name of the column that failed. * **Error** *(dict) --* An error message with the reason for the failure of an operation. * **ErrorCode** *(string) --* The code associated with this error. * **ErrorMessage** *(string) --* A message describing the error. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / delete_blueprint delete_blueprint **************** Glue.Client.delete_blueprint(**kwargs) Deletes an existing blueprint. See also: AWS API Documentation **Request Syntax** response = client.delete_blueprint( Name='string' ) Parameters: **Name** (*string*) -- **[REQUIRED]** The name of the blueprint to delete. Return type: dict Returns: **Response Syntax** { 'Name': 'string' } **Response Structure** * *(dict) --* * **Name** *(string) --* Returns the name of the blueprint that was deleted. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / start_ml_labeling_set_generation_task_run start_ml_labeling_set_generation_task_run ***************************************** Glue.Client.start_ml_labeling_set_generation_task_run(**kwargs) Starts the active learning workflow for your machine learning transform to improve the transform's quality by generating label sets and adding labels. When the "StartMLLabelingSetGenerationTaskRun" finishes, Glue will have generated a "labeling set" or a set of questions for humans to answer. In the case of the "FindMatches" transform, these questions are of the form, “What is the correct way to group these rows together into groups composed entirely of matching records?” After the labeling process is finished, you can upload your labels with a call to "StartImportLabelsTaskRun". After "StartImportLabelsTaskRun" finishes, all future runs of the machine learning transform will use the new and improved labels and perform a higher-quality transformation. Note: The role used to write the generated labeling set to the "OutputS3Path" is the role associated with the Machine Learning Transform, specified in the "CreateMLTransform" API. See also: AWS API Documentation **Request Syntax** response = client.start_ml_labeling_set_generation_task_run( TransformId='string', OutputS3Path='string' ) Parameters: * **TransformId** (*string*) -- **[REQUIRED]** The unique identifier of the machine learning transform. * **OutputS3Path** (*string*) -- **[REQUIRED]** The Amazon Simple Storage Service (Amazon S3) path where you generate the labeling set. Return type: dict Returns: **Response Syntax** { 'TaskRunId': 'string' } **Response Structure** * *(dict) --* * **TaskRunId** *(string) --* The unique run identifier that is associated with this task run. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.ConcurrentRunsExceededException" Glue / Client / get_column_statistics_for_partition get_column_statistics_for_partition *********************************** Glue.Client.get_column_statistics_for_partition(**kwargs) Retrieves partition statistics of columns. The Identity and Access Management (IAM) permission required for this operation is "GetPartition". See also: AWS API Documentation **Request Syntax** response = client.get_column_statistics_for_partition( CatalogId='string', DatabaseName='string', TableName='string', PartitionValues=[ 'string', ], ColumnNames=[ 'string', ] ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the partitions in question reside. If none is supplied, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the catalog database where the partitions reside. * **TableName** (*string*) -- **[REQUIRED]** The name of the partitions' table. * **PartitionValues** (*list*) -- **[REQUIRED]** A list of partition values identifying the partition. * *(string) --* * **ColumnNames** (*list*) -- **[REQUIRED]** A list of the column names. * *(string) --* Return type: dict Returns: **Response Syntax** { 'ColumnStatisticsList': [ { 'ColumnName': 'string', 'ColumnType': 'string', 'AnalyzedTime': datetime(2015, 1, 1), 'StatisticsData': { 'Type': 'BOOLEAN'|'DATE'|'DECIMAL'|'DOUBLE'|'LONG'|'STRING'|'BINARY', 'BooleanColumnStatisticsData': { 'NumberOfTrues': 123, 'NumberOfFalses': 123, 'NumberOfNulls': 123 }, 'DateColumnStatisticsData': { 'MinimumValue': datetime(2015, 1, 1), 'MaximumValue': datetime(2015, 1, 1), 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'DecimalColumnStatisticsData': { 'MinimumValue': { 'UnscaledValue': b'bytes', 'Scale': 123 }, 'MaximumValue': { 'UnscaledValue': b'bytes', 'Scale': 123 }, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'DoubleColumnStatisticsData': { 'MinimumValue': 123.0, 'MaximumValue': 123.0, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'LongColumnStatisticsData': { 'MinimumValue': 123, 'MaximumValue': 123, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'StringColumnStatisticsData': { 'MaximumLength': 123, 'AverageLength': 123.0, 'NumberOfNulls': 123, 'NumberOfDistinctValues': 123 }, 'BinaryColumnStatisticsData': { 'MaximumLength': 123, 'AverageLength': 123.0, 'NumberOfNulls': 123 } } }, ], 'Errors': [ { 'ColumnName': 'string', 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } **Response Structure** * *(dict) --* * **ColumnStatisticsList** *(list) --* List of ColumnStatistics that failed to be retrieved. * *(dict) --* Represents the generated column-level statistics for a table or partition. * **ColumnName** *(string) --* Name of column which statistics belong to. * **ColumnType** *(string) --* The data type of the column. * **AnalyzedTime** *(datetime) --* The timestamp of when column statistics were generated. * **StatisticsData** *(dict) --* A "ColumnStatisticData" object that contains the statistics data values. * **Type** *(string) --* The type of column statistics data. * **BooleanColumnStatisticsData** *(dict) --* Boolean column statistics data. * **NumberOfTrues** *(integer) --* The number of true values in the column. * **NumberOfFalses** *(integer) --* The number of false values in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **DateColumnStatisticsData** *(dict) --* Date column statistics data. * **MinimumValue** *(datetime) --* The lowest value in the column. * **MaximumValue** *(datetime) --* The highest value in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **DecimalColumnStatisticsData** *(dict) --* Decimal column statistics data. UnscaledValues within are Base64-encoded binary objects storing big-endian, two's complement representations of the decimal's unscaled value. * **MinimumValue** *(dict) --* The lowest value in the column. * **UnscaledValue** *(bytes) --* The unscaled numeric value. * **Scale** *(integer) --* The scale that determines where the decimal point falls in the unscaled value. * **MaximumValue** *(dict) --* The highest value in the column. * **UnscaledValue** *(bytes) --* The unscaled numeric value. * **Scale** *(integer) --* The scale that determines where the decimal point falls in the unscaled value. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **DoubleColumnStatisticsData** *(dict) --* Double column statistics data. * **MinimumValue** *(float) --* The lowest value in the column. * **MaximumValue** *(float) --* The highest value in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **LongColumnStatisticsData** *(dict) --* Long column statistics data. * **MinimumValue** *(integer) --* The lowest value in the column. * **MaximumValue** *(integer) --* The highest value in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **StringColumnStatisticsData** *(dict) --* String column statistics data. * **MaximumLength** *(integer) --* The size of the longest string in the column. * **AverageLength** *(float) --* The average string length in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **NumberOfDistinctValues** *(integer) --* The number of distinct values in a column. * **BinaryColumnStatisticsData** *(dict) --* Binary column statistics data. * **MaximumLength** *(integer) --* The size of the longest bit sequence in the column. * **AverageLength** *(float) --* The average bit sequence length in the column. * **NumberOfNulls** *(integer) --* The number of null values in the column. * **Errors** *(list) --* Error occurred during retrieving column statistics data. * *(dict) --* Encapsulates a column name that failed and the reason for failure. * **ColumnName** *(string) --* The name of the column that failed. * **Error** *(dict) --* An error message with the reason for the failure of an operation. * **ErrorCode** *(string) --* The code associated with this error. * **ErrorMessage** *(string) --* A message describing the error. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / get_ml_task_run get_ml_task_run *************** Glue.Client.get_ml_task_run(**kwargs) Gets details for a specific task run on a machine learning transform. Machine learning task runs are asynchronous tasks that Glue runs on your behalf as part of various machine learning workflows. You can check the stats of any task run by calling "GetMLTaskRun" with the "TaskRunID" and its parent transform's "TransformID". See also: AWS API Documentation **Request Syntax** response = client.get_ml_task_run( TransformId='string', TaskRunId='string' ) Parameters: * **TransformId** (*string*) -- **[REQUIRED]** The unique identifier of the machine learning transform. * **TaskRunId** (*string*) -- **[REQUIRED]** The unique identifier of the task run. Return type: dict Returns: **Response Syntax** { 'TransformId': 'string', 'TaskRunId': 'string', 'Status': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT', 'LogGroupName': 'string', 'Properties': { 'TaskType': 'EVALUATION'|'LABELING_SET_GENERATION'|'IMPORT_LABELS'|'EXPORT_LABELS'|'FIND_MATCHES', 'ImportLabelsTaskRunProperties': { 'InputS3Path': 'string', 'Replace': True|False }, 'ExportLabelsTaskRunProperties': { 'OutputS3Path': 'string' }, 'LabelingSetGenerationTaskRunProperties': { 'OutputS3Path': 'string' }, 'FindMatchesTaskRunProperties': { 'JobId': 'string', 'JobName': 'string', 'JobRunId': 'string' } }, 'ErrorString': 'string', 'StartedOn': datetime(2015, 1, 1), 'LastModifiedOn': datetime(2015, 1, 1), 'CompletedOn': datetime(2015, 1, 1), 'ExecutionTime': 123 } **Response Structure** * *(dict) --* * **TransformId** *(string) --* The unique identifier of the task run. * **TaskRunId** *(string) --* The unique run identifier associated with this run. * **Status** *(string) --* The status for this task run. * **LogGroupName** *(string) --* The names of the log groups that are associated with the task run. * **Properties** *(dict) --* The list of properties that are associated with the task run. * **TaskType** *(string) --* The type of task run. * **ImportLabelsTaskRunProperties** *(dict) --* The configuration properties for an importing labels task run. * **InputS3Path** *(string) --* The Amazon Simple Storage Service (Amazon S3) path from where you will import the labels. * **Replace** *(boolean) --* Indicates whether to overwrite your existing labels. * **ExportLabelsTaskRunProperties** *(dict) --* The configuration properties for an exporting labels task run. * **OutputS3Path** *(string) --* The Amazon Simple Storage Service (Amazon S3) path where you will export the labels. * **LabelingSetGenerationTaskRunProperties** *(dict) --* The configuration properties for a labeling set generation task run. * **OutputS3Path** *(string) --* The Amazon Simple Storage Service (Amazon S3) path where you will generate the labeling set. * **FindMatchesTaskRunProperties** *(dict) --* The configuration properties for a find matches task run. * **JobId** *(string) --* The job ID for the Find Matches task run. * **JobName** *(string) --* The name assigned to the job for the Find Matches task run. * **JobRunId** *(string) --* The job run ID for the Find Matches task run. * **ErrorString** *(string) --* The error strings that are associated with the task run. * **StartedOn** *(datetime) --* The date and time when this task run started. * **LastModifiedOn** *(datetime) --* The date and time when this task run was last modified. * **CompletedOn** *(datetime) --* The date and time when this task run was completed. * **ExecutionTime** *(integer) --* The amount of time (in seconds) that the task run consumed resources. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / create_partition_index create_partition_index ********************** Glue.Client.create_partition_index(**kwargs) Creates a specified partition index in an existing table. See also: AWS API Documentation **Request Syntax** response = client.create_partition_index( CatalogId='string', DatabaseName='string', TableName='string', PartitionIndex={ 'Keys': [ 'string', ], 'IndexName': 'string' } ) Parameters: * **CatalogId** (*string*) -- The catalog ID where the table resides. * **DatabaseName** (*string*) -- **[REQUIRED]** Specifies the name of a database in which you want to create a partition index. * **TableName** (*string*) -- **[REQUIRED]** Specifies the name of a table in which you want to create a partition index. * **PartitionIndex** (*dict*) -- **[REQUIRED]** Specifies a "PartitionIndex" structure to create a partition index in an existing table. * **Keys** *(list) --* **[REQUIRED]** The keys for the partition index. * *(string) --* * **IndexName** *(string) --* **[REQUIRED]** The name of the partition index. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.AlreadyExistsException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / delete_connection delete_connection ***************** Glue.Client.delete_connection(**kwargs) Deletes a connection from the Data Catalog. See also: AWS API Documentation **Request Syntax** response = client.delete_connection( CatalogId='string', ConnectionName='string' ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog in which the connection resides. If none is provided, the Amazon Web Services account ID is used by default. * **ConnectionName** (*string*) -- **[REQUIRED]** The name of the connection to delete. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / create_script create_script ************* Glue.Client.create_script(**kwargs) Transforms a directed acyclic graph (DAG) into code. See also: AWS API Documentation **Request Syntax** response = client.create_script( DagNodes=[ { 'Id': 'string', 'NodeType': 'string', 'Args': [ { 'Name': 'string', 'Value': 'string', 'Param': True|False }, ], 'LineNumber': 123 }, ], DagEdges=[ { 'Source': 'string', 'Target': 'string', 'TargetParameter': 'string' }, ], Language='PYTHON'|'SCALA' ) Parameters: * **DagNodes** (*list*) -- A list of the nodes in the DAG. * *(dict) --* Represents a node in a directed acyclic graph (DAG) * **Id** *(string) --* **[REQUIRED]** A node identifier that is unique within the node's graph. * **NodeType** *(string) --* **[REQUIRED]** The type of node that this is. * **Args** *(list) --* **[REQUIRED]** Properties of the node, in the form of name-value pairs. * *(dict) --* An argument or property of a node. * **Name** *(string) --* **[REQUIRED]** The name of the argument or property. * **Value** *(string) --* **[REQUIRED]** The value of the argument or property. * **Param** *(boolean) --* True if the value is used as a parameter. * **LineNumber** *(integer) --* The line number of the node. * **DagEdges** (*list*) -- A list of the edges in the DAG. * *(dict) --* Represents a directional edge in a directed acyclic graph (DAG). * **Source** *(string) --* **[REQUIRED]** The ID of the node at which the edge starts. * **Target** *(string) --* **[REQUIRED]** The ID of the node at which the edge ends. * **TargetParameter** *(string) --* The target of the edge. * **Language** (*string*) -- The programming language of the resulting code from the DAG. Return type: dict Returns: **Response Syntax** { 'PythonScript': 'string', 'ScalaCode': 'string' } **Response Structure** * *(dict) --* * **PythonScript** *(string) --* The Python script generated from the DAG. * **ScalaCode** *(string) --* The Scala code generated from the DAG. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / get_catalog get_catalog *********** Glue.Client.get_catalog(**kwargs) The name of the Catalog to retrieve. This should be all lowercase. See also: AWS API Documentation **Request Syntax** response = client.get_catalog( CatalogId='string' ) Parameters: **CatalogId** (*string*) -- **[REQUIRED]** The ID of the parent catalog in which the catalog resides. If none is provided, the Amazon Web Services Account Number is used by default. Return type: dict Returns: **Response Syntax** { 'Catalog': { 'CatalogId': 'string', 'Name': 'string', 'ResourceArn': 'string', 'Description': 'string', 'Parameters': { 'string': 'string' }, 'CreateTime': datetime(2015, 1, 1), 'UpdateTime': datetime(2015, 1, 1), 'TargetRedshiftCatalog': { 'CatalogArn': 'string' }, 'FederatedCatalog': { 'Identifier': 'string', 'ConnectionName': 'string', 'ConnectionType': 'string' }, 'CatalogProperties': { 'DataLakeAccessProperties': { 'DataLakeAccess': True|False, 'DataTransferRole': 'string', 'KmsKey': 'string', 'ManagedWorkgroupName': 'string', 'ManagedWorkgroupStatus': 'string', 'RedshiftDatabaseName': 'string', 'StatusMessage': 'string', 'CatalogType': 'string' }, 'IcebergOptimizationProperties': { 'RoleArn': 'string', 'Compaction': { 'string': 'string' }, 'Retention': { 'string': 'string' }, 'OrphanFileDeletion': { 'string': 'string' }, 'LastUpdatedTime': datetime(2015, 1, 1) }, 'CustomProperties': { 'string': 'string' } }, 'CreateTableDefaultPermissions': [ { 'Principal': { 'DataLakePrincipalIdentifier': 'string' }, 'Permissions': [ 'ALL'|'SELECT'|'ALTER'|'DROP'|'DELETE'|'INSERT'|'CREATE_DATABASE'|'CREATE_TABLE'|'DATA_LOCATION_ACCESS', ] }, ], 'CreateDatabaseDefaultPermissions': [ { 'Principal': { 'DataLakePrincipalIdentifier': 'string' }, 'Permissions': [ 'ALL'|'SELECT'|'ALTER'|'DROP'|'DELETE'|'INSERT'|'CREATE_DATABASE'|'CREATE_TABLE'|'DATA_LOCATION_ACCESS', ] }, ], 'AllowFullTableExternalDataAccess': 'True'|'False' } } **Response Structure** * *(dict) --* * **Catalog** *(dict) --* A "Catalog" object. The definition of the specified catalog in the Glue Data Catalog. * **CatalogId** *(string) --* The ID of the catalog. To grant access to the default catalog, this field should not be provided. * **Name** *(string) --* The name of the catalog. Cannot be the same as the account ID. * **ResourceArn** *(string) --* The Amazon Resource Name (ARN) assigned to the catalog resource. * **Description** *(string) --* Description string, not more than 2048 bytes long, matching the URI address multi-line string pattern. A description of the catalog. * **Parameters** *(dict) --* A map array of key-value pairs that define parameters and properties of the catalog. * *(string) --* * *(string) --* * **CreateTime** *(datetime) --* The time at which the catalog was created. * **UpdateTime** *(datetime) --* The time at which the catalog was last updated. * **TargetRedshiftCatalog** *(dict) --* A "TargetRedshiftCatalog" object that describes a target catalog for database resource linking. * **CatalogArn** *(string) --* The Amazon Resource Name (ARN) of the catalog resource. * **FederatedCatalog** *(dict) --* A "FederatedCatalog" object that points to an entity outside the Glue Data Catalog. * **Identifier** *(string) --* A unique identifier for the federated catalog. * **ConnectionName** *(string) --* The name of the connection to an external data source, for example a Redshift-federated catalog. * **ConnectionType** *(string) --* The type of connection used to access the federated catalog, specifying the protocol or method for connection to the external data source. * **CatalogProperties** *(dict) --* A "CatalogProperties" object that specifies data lake access properties and other custom properties. * **DataLakeAccessProperties** *(dict) --* A "DataLakeAccessProperties" object with input properties to configure data lake access for your catalog resource in the Glue Data Catalog. * **DataLakeAccess** *(boolean) --* Turns on or off data lake access for Apache Spark applications that access Amazon Redshift databases in the Data Catalog. * **DataTransferRole** *(string) --* A role that will be assumed by Glue for transferring data into/out of the staging bucket during a query. * **KmsKey** *(string) --* An encryption key that will be used for the staging bucket that will be created along with the catalog. * **ManagedWorkgroupName** *(string) --* The managed Redshift Serverless compute name that is created for your catalog resource. * **ManagedWorkgroupStatus** *(string) --* The managed Redshift Serverless compute status. * **RedshiftDatabaseName** *(string) --* The default Redshift database resource name in the managed compute. * **StatusMessage** *(string) --* A message that gives more detailed information about the managed workgroup status. * **CatalogType** *(string) --* Specifies a federated catalog type for the native catalog resource. The currently supported type is "aws:redshift". * **IcebergOptimizationProperties** *(dict) --* An "IcebergOptimizationPropertiesOutput" object that specifies Iceberg table optimization settings for the catalog, including configurations for compaction, retention, and orphan file deletion operations. * **RoleArn** *(string) --* The Amazon Resource Name (ARN) of the IAM role that is used to perform Iceberg table optimization operations. * **Compaction** *(dict) --* A map of key-value pairs that specify configuration parameters for Iceberg table compaction operations, which optimize the layout of data files to improve query performance. * *(string) --* * *(string) --* * **Retention** *(dict) --* A map of key-value pairs that specify configuration parameters for Iceberg table retention operations, which manage the lifecycle of table snapshots to control storage costs. * *(string) --* * *(string) --* * **OrphanFileDeletion** *(dict) --* A map of key-value pairs that specify configuration parameters for Iceberg orphan file deletion operations, which identify and remove files that are no longer referenced by the table metadata. * *(string) --* * *(string) --* * **LastUpdatedTime** *(datetime) --* The timestamp when the Iceberg optimization properties were last updated. * **CustomProperties** *(dict) --* Additional key-value properties for the catalog, such as column statistics optimizations. * *(string) --* * *(string) --* * **CreateTableDefaultPermissions** *(list) --* An array of "PrincipalPermissions" objects. Creates a set of default permissions on the table(s) for principals. Used by Amazon Web Services Lake Formation. Not used in the normal course of Glue operations. * *(dict) --* Permissions granted to a principal. * **Principal** *(dict) --* The principal who is granted permissions. * **DataLakePrincipalIdentifier** *(string) --* An identifier for the Lake Formation principal. * **Permissions** *(list) --* The permissions that are granted to the principal. * *(string) --* * **CreateDatabaseDefaultPermissions** *(list) --* An array of "PrincipalPermissions" objects. Creates a set of default permissions on the database(s) for principals. Used by Amazon Web Services Lake Formation. Not used in the normal course of Glue operations. * *(dict) --* Permissions granted to a principal. * **Principal** *(dict) --* The principal who is granted permissions. * **DataLakePrincipalIdentifier** *(string) --* An identifier for the Lake Formation principal. * **Permissions** *(list) --* The permissions that are granted to the principal. * *(string) --* * **AllowFullTableExternalDataAccess** *(string) --* Allows third-party engines to access data in Amazon S3 locations that are registered with Lake Formation. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.GlueEncryptionException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.FederationSourceException" * "Glue.Client.exceptions.FederationSourceRetryableException" Glue / Client / create_blueprint create_blueprint **************** Glue.Client.create_blueprint(**kwargs) Registers a blueprint with Glue. See also: AWS API Documentation **Request Syntax** response = client.create_blueprint( Name='string', Description='string', BlueprintLocation='string', Tags={ 'string': 'string' } ) Parameters: * **Name** (*string*) -- **[REQUIRED]** The name of the blueprint. * **Description** (*string*) -- A description of the blueprint. * **BlueprintLocation** (*string*) -- **[REQUIRED]** Specifies a path in Amazon S3 where the blueprint is published. * **Tags** (*dict*) -- The tags to be applied to this blueprint. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'Name': 'string' } **Response Structure** * *(dict) --* * **Name** *(string) --* Returns the name of the blueprint that was registered. **Exceptions** * "Glue.Client.exceptions.AlreadyExistsException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" Glue / Client / list_workflows list_workflows ************** Glue.Client.list_workflows(**kwargs) Lists names of workflows created in the account. See also: AWS API Documentation **Request Syntax** response = client.list_workflows( NextToken='string', MaxResults=123 ) Parameters: * **NextToken** (*string*) -- A continuation token, if this is a continuation request. * **MaxResults** (*integer*) -- The maximum size of a list to return. Return type: dict Returns: **Response Syntax** { 'Workflows': [ 'string', ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Workflows** *(list) --* List of names of workflows in the account. * *(string) --* * **NextToken** *(string) --* A continuation token, if not all workflow names have been returned. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / get_tags get_tags ******** Glue.Client.get_tags(**kwargs) Retrieves a list of tags associated with a resource. See also: AWS API Documentation **Request Syntax** response = client.get_tags( ResourceArn='string' ) Parameters: **ResourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the resource for which to retrieve tags. Return type: dict Returns: **Response Syntax** { 'Tags': { 'string': 'string' } } **Response Structure** * *(dict) --* * **Tags** *(dict) --* The requested tags. * *(string) --* * *(string) --* **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.EntityNotFoundException" Glue / Client / get_user_defined_function get_user_defined_function ************************* Glue.Client.get_user_defined_function(**kwargs) Retrieves a specified function definition from the Data Catalog. See also: AWS API Documentation **Request Syntax** response = client.get_user_defined_function( CatalogId='string', DatabaseName='string', FunctionName='string' ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the function to be retrieved is located. If none is provided, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the catalog database where the function is located. * **FunctionName** (*string*) -- **[REQUIRED]** The name of the function. Return type: dict Returns: **Response Syntax** { 'UserDefinedFunction': { 'FunctionName': 'string', 'DatabaseName': 'string', 'ClassName': 'string', 'OwnerName': 'string', 'OwnerType': 'USER'|'ROLE'|'GROUP', 'CreateTime': datetime(2015, 1, 1), 'ResourceUris': [ { 'ResourceType': 'JAR'|'FILE'|'ARCHIVE', 'Uri': 'string' }, ], 'CatalogId': 'string' } } **Response Structure** * *(dict) --* * **UserDefinedFunction** *(dict) --* The requested function definition. * **FunctionName** *(string) --* The name of the function. * **DatabaseName** *(string) --* The name of the catalog database that contains the function. * **ClassName** *(string) --* The Java class that contains the function code. * **OwnerName** *(string) --* The owner of the function. * **OwnerType** *(string) --* The owner type. * **CreateTime** *(datetime) --* The time at which the function was created. * **ResourceUris** *(list) --* The resource URIs for the function. * *(dict) --* The URIs for function resources. * **ResourceType** *(string) --* The type of the resource. * **Uri** *(string) --* The URI for accessing the resource. * **CatalogId** *(string) --* The ID of the Data Catalog in which the function resides. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / batch_stop_job_run batch_stop_job_run ****************** Glue.Client.batch_stop_job_run(**kwargs) Stops one or more job runs for a specified job definition. See also: AWS API Documentation **Request Syntax** response = client.batch_stop_job_run( JobName='string', JobRunIds=[ 'string', ] ) Parameters: * **JobName** (*string*) -- **[REQUIRED]** The name of the job definition for which to stop job runs. * **JobRunIds** (*list*) -- **[REQUIRED]** A list of the "JobRunIds" that should be stopped for that job definition. * *(string) --* Return type: dict Returns: **Response Syntax** { 'SuccessfulSubmissions': [ { 'JobName': 'string', 'JobRunId': 'string' }, ], 'Errors': [ { 'JobName': 'string', 'JobRunId': 'string', 'ErrorDetail': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } **Response Structure** * *(dict) --* * **SuccessfulSubmissions** *(list) --* A list of the JobRuns that were successfully submitted for stopping. * *(dict) --* Records a successful request to stop a specified "JobRun". * **JobName** *(string) --* The name of the job definition used in the job run that was stopped. * **JobRunId** *(string) --* The "JobRunId" of the job run that was stopped. * **Errors** *(list) --* A list of the errors that were encountered in trying to stop "JobRuns", including the "JobRunId" for which each error was encountered and details about the error. * *(dict) --* Records an error that occurred when attempting to stop a specified job run. * **JobName** *(string) --* The name of the job definition that is used in the job run in question. * **JobRunId** *(string) --* The "JobRunId" of the job run in question. * **ErrorDetail** *(dict) --* Specifies details about the error that was encountered. * **ErrorCode** *(string) --* The code associated with this error. * **ErrorMessage** *(string) --* A message describing the error. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / delete_table_optimizer delete_table_optimizer ********************** Glue.Client.delete_table_optimizer(**kwargs) Deletes an optimizer and all associated metadata for a table. The optimization will no longer be performed on the table. See also: AWS API Documentation **Request Syntax** response = client.delete_table_optimizer( CatalogId='string', DatabaseName='string', TableName='string', Type='compaction'|'retention'|'orphan_file_deletion' ) Parameters: * **CatalogId** (*string*) -- **[REQUIRED]** The Catalog ID of the table. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the database in the catalog in which the table resides. * **TableName** (*string*) -- **[REQUIRED]** The name of the table. * **Type** (*string*) -- **[REQUIRED]** The type of table optimizer. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.ThrottlingException" Glue / Client / list_data_quality_statistic_annotations list_data_quality_statistic_annotations *************************************** Glue.Client.list_data_quality_statistic_annotations(**kwargs) Retrieve annotations for a data quality statistic. See also: AWS API Documentation **Request Syntax** response = client.list_data_quality_statistic_annotations( StatisticId='string', ProfileId='string', TimestampFilter={ 'RecordedBefore': datetime(2015, 1, 1), 'RecordedAfter': datetime(2015, 1, 1) }, MaxResults=123, NextToken='string' ) Parameters: * **StatisticId** (*string*) -- The Statistic ID. * **ProfileId** (*string*) -- The Profile ID. * **TimestampFilter** (*dict*) -- A timestamp filter. * **RecordedBefore** *(datetime) --* The timestamp before which statistics should be included in the results. * **RecordedAfter** *(datetime) --* The timestamp after which statistics should be included in the results. * **MaxResults** (*integer*) -- The maximum number of results to return in this request. * **NextToken** (*string*) -- A pagination token to retrieve the next set of results. Return type: dict Returns: **Response Syntax** { 'Annotations': [ { 'ProfileId': 'string', 'StatisticId': 'string', 'StatisticRecordedOn': datetime(2015, 1, 1), 'InclusionAnnotation': { 'Value': 'INCLUDE'|'EXCLUDE', 'LastModifiedOn': datetime(2015, 1, 1) } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Annotations** *(list) --* A list of "StatisticAnnotation" applied to the Statistic * *(dict) --* A Statistic Annotation. * **ProfileId** *(string) --* The Profile ID. * **StatisticId** *(string) --* The Statistic ID. * **StatisticRecordedOn** *(datetime) --* The timestamp when the annotated statistic was recorded. * **InclusionAnnotation** *(dict) --* The inclusion annotation applied to the statistic. * **Value** *(string) --* The inclusion annotation value. * **LastModifiedOn** *(datetime) --* The timestamp when the inclusion annotation was last modified. * **NextToken** *(string) --* A pagination token to retrieve the next set of results. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / delete_column_statistics_task_settings delete_column_statistics_task_settings ************************************** Glue.Client.delete_column_statistics_task_settings(**kwargs) Deletes settings for a column statistics task. See also: AWS API Documentation **Request Syntax** response = client.delete_column_statistics_task_settings( DatabaseName='string', TableName='string' ) Parameters: * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the database where the table resides. * **TableName** (*string*) -- **[REQUIRED]** The name of the table for which to delete column statistics. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / get_jobs get_jobs ******** Glue.Client.get_jobs(**kwargs) Retrieves all current job definitions. See also: AWS API Documentation **Request Syntax** response = client.get_jobs( NextToken='string', MaxResults=123 ) Parameters: * **NextToken** (*string*) -- A continuation token, if this is a continuation call. * **MaxResults** (*integer*) -- The maximum size of the response. Return type: dict Returns: **Response Syntax** # This section is too large to render. # Please see the AWS API Documentation linked below. AWS API Documentation **Response Structure** # This section is too large to render. # Please see the AWS API Documentation linked below. AWS API Documentation **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / update_ml_transform update_ml_transform ******************* Glue.Client.update_ml_transform(**kwargs) Updates an existing machine learning transform. Call this operation to tune the algorithm parameters to achieve better results. After calling this operation, you can call the "StartMLEvaluationTaskRun" operation to assess how well your new parameters achieved your goals (such as improving the quality of your machine learning transform, or making it more cost-effective). See also: AWS API Documentation **Request Syntax** response = client.update_ml_transform( TransformId='string', Name='string', Description='string', Parameters={ 'TransformType': 'FIND_MATCHES', 'FindMatchesParameters': { 'PrimaryKeyColumnName': 'string', 'PrecisionRecallTradeoff': 123.0, 'AccuracyCostTradeoff': 123.0, 'EnforceProvidedLabels': True|False } }, Role='string', GlueVersion='string', MaxCapacity=123.0, WorkerType='Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X', NumberOfWorkers=123, Timeout=123, MaxRetries=123 ) Parameters: * **TransformId** (*string*) -- **[REQUIRED]** A unique identifier that was generated when the transform was created. * **Name** (*string*) -- The unique name that you gave the transform when you created it. * **Description** (*string*) -- A description of the transform. The default is an empty string. * **Parameters** (*dict*) -- The configuration parameters that are specific to the transform type (algorithm) used. Conditionally dependent on the transform type. * **TransformType** *(string) --* **[REQUIRED]** The type of machine learning transform. For information about the types of machine learning transforms, see Creating Machine Learning Transforms. * **FindMatchesParameters** *(dict) --* The parameters for the find matches algorithm. * **PrimaryKeyColumnName** *(string) --* The name of a column that uniquely identifies rows in the source table. Used to help identify matching records. * **PrecisionRecallTradeoff** *(float) --* The value selected when tuning your transform for a balance between precision and recall. A value of 0.5 means no preference; a value of 1.0 means a bias purely for precision, and a value of 0.0 means a bias for recall. Because this is a tradeoff, choosing values close to 1.0 means very low recall, and choosing values close to 0.0 results in very low precision. The precision metric indicates how often your model is correct when it predicts a match. The recall metric indicates that for an actual match, how often your model predicts the match. * **AccuracyCostTradeoff** *(float) --* The value that is selected when tuning your transform for a balance between accuracy and cost. A value of 0.5 means that the system balances accuracy and cost concerns. A value of 1.0 means a bias purely for accuracy, which typically results in a higher cost, sometimes substantially higher. A value of 0.0 means a bias purely for cost, which results in a less accurate "FindMatches" transform, sometimes with unacceptable accuracy. Accuracy measures how well the transform finds true positives and true negatives. Increasing accuracy requires more machine resources and cost. But it also results in increased recall. Cost measures how many compute resources, and thus money, are consumed to run the transform. * **EnforceProvidedLabels** *(boolean) --* The value to switch on or off to force the output to match the provided labels from users. If the value is "True", the "find matches" transform forces the output to match the provided labels. The results override the normal conflation results. If the value is "False", the "find matches" transform does not ensure all the labels provided are respected, and the results rely on the trained model. Note that setting this value to true may increase the conflation execution time. * **Role** (*string*) -- The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. * **GlueVersion** (*string*) -- This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see Glue Versions in the developer guide. * **MaxCapacity** (*float*) -- The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page. When the "WorkerType" field is set to a value other than "Standard", the "MaxCapacity" field is set automatically and becomes read-only. * **WorkerType** (*string*) -- The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X. * For the "Standard" worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. * For the "G.1X" worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker. * For the "G.2X" worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker. * **NumberOfWorkers** (*integer*) -- The number of workers of a defined "workerType" that are allocated when this task runs. * **Timeout** (*integer*) -- The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters "TIMEOUT" status. The default is 2,880 minutes (48 hours). * **MaxRetries** (*integer*) -- The maximum number of times to retry a task for this transform after a task run fails. Return type: dict Returns: **Response Syntax** { 'TransformId': 'string' } **Response Structure** * *(dict) --* * **TransformId** *(string) --* The unique identifier for the transform that was updated. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.AccessDeniedException" Glue / Client / get_integration_resource_property get_integration_resource_property ********************************* Glue.Client.get_integration_resource_property(**kwargs) This API is used for fetching the "ResourceProperty" of the Glue connection (for the source) or Glue database ARN (for the target) See also: AWS API Documentation **Request Syntax** response = client.get_integration_resource_property( ResourceArn='string' ) Parameters: **ResourceArn** (*string*) -- **[REQUIRED]** The connection ARN of the source, or the database ARN of the target. Return type: dict Returns: **Response Syntax** { 'ResourceArn': 'string', 'SourceProcessingProperties': { 'RoleArn': 'string' }, 'TargetProcessingProperties': { 'RoleArn': 'string', 'KmsArn': 'string', 'ConnectionName': 'string', 'EventBusArn': 'string' } } **Response Structure** * *(dict) --* * **ResourceArn** *(string) --* The connection ARN of the source, or the database ARN of the target. * **SourceProcessingProperties** *(dict) --* The resource properties associated with the integration source. * **RoleArn** *(string) --* The IAM role to access the Glue connection. * **TargetProcessingProperties** *(dict) --* The resource properties associated with the integration target. * **RoleArn** *(string) --* The IAM role to access the Glue database. * **KmsArn** *(string) --* The ARN of the KMS key used for encryption. * **ConnectionName** *(string) --* The Glue network connection to configure the Glue job running in the customer VPC. * **EventBusArn** *(string) --* The ARN of an Eventbridge event bus to receive the integration status notification. **Exceptions** * "Glue.Client.exceptions.ValidationException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.InternalServerException" * "Glue.Client.exceptions.ResourceNotFoundException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.InvalidInputException" Glue / Client / batch_create_partition batch_create_partition ********************** Glue.Client.batch_create_partition(**kwargs) Creates one or more partitions in a batch operation. See also: AWS API Documentation **Request Syntax** response = client.batch_create_partition( CatalogId='string', DatabaseName='string', TableName='string', PartitionInputList=[ { 'Values': [ 'string', ], 'LastAccessTime': datetime(2015, 1, 1), 'StorageDescriptor': { 'Columns': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'Location': 'string', 'AdditionalLocations': [ 'string', ], 'InputFormat': 'string', 'OutputFormat': 'string', 'Compressed': True|False, 'NumberOfBuckets': 123, 'SerdeInfo': { 'Name': 'string', 'SerializationLibrary': 'string', 'Parameters': { 'string': 'string' } }, 'BucketColumns': [ 'string', ], 'SortColumns': [ { 'Column': 'string', 'SortOrder': 123 }, ], 'Parameters': { 'string': 'string' }, 'SkewedInfo': { 'SkewedColumnNames': [ 'string', ], 'SkewedColumnValues': [ 'string', ], 'SkewedColumnValueLocationMaps': { 'string': 'string' } }, 'StoredAsSubDirectories': True|False, 'SchemaReference': { 'SchemaId': { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionNumber': 123 } }, 'Parameters': { 'string': 'string' }, 'LastAnalyzedTime': datetime(2015, 1, 1) }, ] ) Parameters: * **CatalogId** (*string*) -- The ID of the catalog in which the partition is to be created. Currently, this should be the Amazon Web Services account ID. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the metadata database in which the partition is to be created. * **TableName** (*string*) -- **[REQUIRED]** The name of the metadata table in which the partition is to be created. * **PartitionInputList** (*list*) -- **[REQUIRED]** A list of "PartitionInput" structures that define the partitions to be created. * *(dict) --* The structure used to create and update a partition. * **Values** *(list) --* The values of the partition. Although this parameter is not required by the SDK, you must specify this parameter for a valid input. The values for the keys for the new partition must be passed as an array of String objects that must be ordered in the same order as the partition keys appearing in the Amazon S3 prefix. Otherwise Glue will add the values to the wrong keys. * *(string) --* * **LastAccessTime** *(datetime) --* The last time at which the partition was accessed. * **StorageDescriptor** *(dict) --* Provides information about the physical location where the partition is stored. * **Columns** *(list) --* A list of the "Columns" in the table. * *(dict) --* A column in a "Table". * **Name** *(string) --* **[REQUIRED]** The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **Location** *(string) --* The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * **AdditionalLocations** *(list) --* A list of locations that point to the path where a Delta table is located. * *(string) --* * **InputFormat** *(string) --* The input format: "SequenceFileInputFormat" (binary), or "TextInputFormat", or a custom format. * **OutputFormat** *(string) --* The output format: "SequenceFileOutputFormat" (binary), or "IgnoreKeyTextOutputFormat", or a custom format. * **Compressed** *(boolean) --* "True" if the data in the table is compressed, or "False" if not. * **NumberOfBuckets** *(integer) --* Must be specified if the table contains any dimension columns. * **SerdeInfo** *(dict) --* The serialization/deserialization (SerDe) information. * **Name** *(string) --* Name of the SerDe. * **SerializationLibrary** *(string) --* Usually the class that implements the SerDe. An example is "org.apache.hadoop.hive.serde2.columnar.Co lumnarSerDe". * **Parameters** *(dict) --* These key-value pairs define initialization parameters for the SerDe. * *(string) --* * *(string) --* * **BucketColumns** *(list) --* A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * *(string) --* * **SortColumns** *(list) --* A list specifying the sort order of each bucket in the table. * *(dict) --* Specifies the sort order of a sorted column. * **Column** *(string) --* **[REQUIRED]** The name of the column. * **SortOrder** *(integer) --* **[REQUIRED]** Indicates that the column is sorted in ascending order ( "== 1"), or in descending order ( "==0"). * **Parameters** *(dict) --* The user-supplied properties in key-value form. * *(string) --* * *(string) --* * **SkewedInfo** *(dict) --* The information about values that appear frequently in a column (skewed values). * **SkewedColumnNames** *(list) --* A list of names of columns that contain skewed values. * *(string) --* * **SkewedColumnValues** *(list) --* A list of values that appear so frequently as to be considered skewed. * *(string) --* * **SkewedColumnValueLocationMaps** *(dict) --* A mapping of skewed values to the columns that contain them. * *(string) --* * *(string) --* * **StoredAsSubDirectories** *(boolean) --* "True" if the table data is stored in subdirectories, or "False" if not. * **SchemaReference** *(dict) --* An object that references a schema stored in the Glue Schema Registry. When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference. * **SchemaId** *(dict) --* A structure that contains schema identity fields. Either this or the "SchemaVersionId" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionId** *(string) --* The unique ID assigned to a version of the schema. Either this or the "SchemaId" has to be provided. * **SchemaVersionNumber** *(integer) --* The version number of the schema. * **Parameters** *(dict) --* These key-value pairs define partition parameters. * *(string) --* * *(string) --* * **LastAnalyzedTime** *(datetime) --* The last time at which column statistics were computed for this partition. Return type: dict Returns: **Response Syntax** { 'Errors': [ { 'PartitionValues': [ 'string', ], 'ErrorDetail': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } **Response Structure** * *(dict) --* * **Errors** *(list) --* The errors encountered when trying to create the requested partitions. * *(dict) --* Contains information about a partition error. * **PartitionValues** *(list) --* The values that define the partition. * *(string) --* * **ErrorDetail** *(dict) --* The details about the partition error. * **ErrorCode** *(string) --* The code associated with this error. * **ErrorMessage** *(string) --* A message describing the error. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AlreadyExistsException" * "Glue.Client.exceptions.ResourceNumberLimitExceededException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / get_partition_indexes get_partition_indexes ********************* Glue.Client.get_partition_indexes(**kwargs) Retrieves the partition indexes associated with a table. See also: AWS API Documentation **Request Syntax** response = client.get_partition_indexes( CatalogId='string', DatabaseName='string', TableName='string', NextToken='string' ) Parameters: * **CatalogId** (*string*) -- The catalog ID where the table resides. * **DatabaseName** (*string*) -- **[REQUIRED]** Specifies the name of a database from which you want to retrieve partition indexes. * **TableName** (*string*) -- **[REQUIRED]** Specifies the name of a table for which you want to retrieve the partition indexes. * **NextToken** (*string*) -- A continuation token, included if this is a continuation call. Return type: dict Returns: **Response Syntax** { 'PartitionIndexDescriptorList': [ { 'IndexName': 'string', 'Keys': [ { 'Name': 'string', 'Type': 'string' }, ], 'IndexStatus': 'CREATING'|'ACTIVE'|'DELETING'|'FAILED', 'BackfillErrors': [ { 'Code': 'ENCRYPTED_PARTITION_ERROR'|'INTERNAL_ERROR'|'INVALID_PARTITION_TYPE_DATA_ERROR'|'MISSING_PARTITION_VALUE_ERROR'|'UNSUPPORTED_PARTITION_CHARACTER_ERROR', 'Partitions': [ { 'Values': [ 'string', ] }, ] }, ] }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **PartitionIndexDescriptorList** *(list) --* A list of index descriptors. * *(dict) --* A descriptor for a partition index in a table. * **IndexName** *(string) --* The name of the partition index. * **Keys** *(list) --* A list of one or more keys, as "KeySchemaElement" structures, for the partition index. * *(dict) --* A partition key pair consisting of a name and a type. * **Name** *(string) --* The name of a partition key. * **Type** *(string) --* The type of a partition key. * **IndexStatus** *(string) --* The status of the partition index. The possible statuses are: * CREATING: The index is being created. When an index is in a CREATING state, the index or its table cannot be deleted. * ACTIVE: The index creation succeeds. * FAILED: The index creation fails. * DELETING: The index is deleted from the list of indexes. * **BackfillErrors** *(list) --* A list of errors that can occur when registering partition indexes for an existing table. * *(dict) --* A list of errors that can occur when registering partition indexes for an existing table. These errors give the details about why an index registration failed and provide a limited number of partitions in the response, so that you can fix the partitions at fault and try registering the index again. The most common set of errors that can occur are categorized as follows: * EncryptedPartitionError: The partitions are encrypted. * InvalidPartitionTypeDataError: The partition value doesn't match the data type for that partition column. * MissingPartitionValueError: The partitions are encrypted. * UnsupportedPartitionCharacterError: Characters inside the partition value are not supported. For example: U+0000 , U+0001, U+0002. * InternalError: Any error which does not belong to other error codes. * **Code** *(string) --* The error code for an error that occurred when registering partition indexes for an existing table. * **Partitions** *(list) --* A list of a limited number of partitions in the response. * *(dict) --* Contains a list of values defining partitions. * **Values** *(list) --* The list of values. * *(string) --* * **NextToken** *(string) --* A continuation token, present if the current list segment is not the last. **Exceptions** * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.ConflictException" Glue / Client / get_unfiltered_table_metadata get_unfiltered_table_metadata ***************************** Glue.Client.get_unfiltered_table_metadata(**kwargs) Allows a third-party analytical engine to retrieve unfiltered table metadata from the Data Catalog. For IAM authorization, the public IAM action associated with this API is "glue:GetTable". See also: AWS API Documentation **Request Syntax** response = client.get_unfiltered_table_metadata( Region='string', CatalogId='string', DatabaseName='string', Name='string', AuditContext={ 'AdditionalAuditContext': 'string', 'RequestedColumns': [ 'string', ], 'AllColumnsRequested': True|False }, SupportedPermissionTypes=[ 'COLUMN_PERMISSION'|'CELL_FILTER_PERMISSION'|'NESTED_PERMISSION'|'NESTED_CELL_PERMISSION', ], ParentResourceArn='string', RootResourceArn='string', SupportedDialect={ 'Dialect': 'REDSHIFT'|'ATHENA'|'SPARK', 'DialectVersion': 'string' }, Permissions=[ 'ALL'|'SELECT'|'ALTER'|'DROP'|'DELETE'|'INSERT'|'CREATE_DATABASE'|'CREATE_TABLE'|'DATA_LOCATION_ACCESS', ], QuerySessionContext={ 'QueryId': 'string', 'QueryStartTime': datetime(2015, 1, 1), 'ClusterId': 'string', 'QueryAuthorizationId': 'string', 'AdditionalContext': { 'string': 'string' } } ) Parameters: * **Region** (*string*) -- Specified only if the base tables belong to a different Amazon Web Services Region. * **CatalogId** (*string*) -- **[REQUIRED]** The catalog ID where the table resides. * **DatabaseName** (*string*) -- **[REQUIRED]** (Required) Specifies the name of a database that contains the table. * **Name** (*string*) -- **[REQUIRED]** (Required) Specifies the name of a table for which you are requesting metadata. * **AuditContext** (*dict*) -- A structure containing Lake Formation audit context information. * **AdditionalAuditContext** *(string) --* A string containing the additional audit context information. * **RequestedColumns** *(list) --* The requested columns for audit. * *(string) --* * **AllColumnsRequested** *(boolean) --* All columns request for audit. * **SupportedPermissionTypes** (*list*) -- **[REQUIRED]** Indicates the level of filtering a third-party analytical engine is capable of enforcing when calling the "GetUnfilteredTableMetadata" API operation. Accepted values are: * "COLUMN_PERMISSION" - Column permissions ensure that users can access only specific columns in the table. If there are particular columns contain sensitive data, data lake administrators can define column filters that exclude access to specific columns. * "CELL_FILTER_PERMISSION" - Cell-level filtering combines column filtering (include or exclude columns) and row filter expressions to restrict access to individual elements in the table. * "NESTED_PERMISSION" - Nested permissions combines cell-level filtering and nested column filtering to restrict access to columns and/or nested columns in specific rows based on row filter expressions. * "NESTED_CELL_PERMISSION" - Nested cell permissions combines nested permission with nested cell-level filtering. This allows different subsets of nested columns to be restricted based on an array of row filter expressions. Note: Each of these permission types follows a hierarchical order where each subsequent permission type includes all permission of the previous type. Important: If you provide a supported permission type that doesn't match the user's level of permissions on the table, then Lake Formation raises an exception. For example, if the third-party engine calling the "GetUnfilteredTableMetadata" operation can enforce only column-level filtering, and the user has nested cell filtering applied on the table, Lake Formation throws an exception, and will not return unfiltered table metadata and data access credentials. * *(string) --* * **ParentResourceArn** (*string*) -- The resource ARN of the view. * **RootResourceArn** (*string*) -- The resource ARN of the root view in a chain of nested views. * **SupportedDialect** (*dict*) -- A structure specifying the dialect and dialect version used by the query engine. * **Dialect** *(string) --* The dialect of the query engine. * **DialectVersion** *(string) --* The version of the dialect of the query engine. For example, 3.0.0. * **Permissions** (*list*) -- The Lake Formation data permissions of the caller on the table. Used to authorize the call when no view context is found. * *(string) --* * **QuerySessionContext** (*dict*) -- A structure used as a protocol between query engines and Lake Formation or Glue. Contains both a Lake Formation generated authorization identifier and information from the request's authorization context. * **QueryId** *(string) --* A unique identifier generated by the query engine for the query. * **QueryStartTime** *(datetime) --* A timestamp provided by the query engine for when the query started. * **ClusterId** *(string) --* An identifier string for the consumer cluster. * **QueryAuthorizationId** *(string) --* A cryptographically generated query identifier generated by Glue or Lake Formation. * **AdditionalContext** *(dict) --* An opaque string-string map passed by the query engine. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'Table': { 'Name': 'string', 'DatabaseName': 'string', 'Description': 'string', 'Owner': 'string', 'CreateTime': datetime(2015, 1, 1), 'UpdateTime': datetime(2015, 1, 1), 'LastAccessTime': datetime(2015, 1, 1), 'LastAnalyzedTime': datetime(2015, 1, 1), 'Retention': 123, 'StorageDescriptor': { 'Columns': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'Location': 'string', 'AdditionalLocations': [ 'string', ], 'InputFormat': 'string', 'OutputFormat': 'string', 'Compressed': True|False, 'NumberOfBuckets': 123, 'SerdeInfo': { 'Name': 'string', 'SerializationLibrary': 'string', 'Parameters': { 'string': 'string' } }, 'BucketColumns': [ 'string', ], 'SortColumns': [ { 'Column': 'string', 'SortOrder': 123 }, ], 'Parameters': { 'string': 'string' }, 'SkewedInfo': { 'SkewedColumnNames': [ 'string', ], 'SkewedColumnValues': [ 'string', ], 'SkewedColumnValueLocationMaps': { 'string': 'string' } }, 'StoredAsSubDirectories': True|False, 'SchemaReference': { 'SchemaId': { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionNumber': 123 } }, 'PartitionKeys': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'ViewOriginalText': 'string', 'ViewExpandedText': 'string', 'TableType': 'string', 'Parameters': { 'string': 'string' }, 'CreatedBy': 'string', 'IsRegisteredWithLakeFormation': True|False, 'TargetTable': { 'CatalogId': 'string', 'DatabaseName': 'string', 'Name': 'string', 'Region': 'string' }, 'CatalogId': 'string', 'VersionId': 'string', 'FederatedTable': { 'Identifier': 'string', 'DatabaseIdentifier': 'string', 'ConnectionName': 'string', 'ConnectionType': 'string' }, 'ViewDefinition': { 'IsProtected': True|False, 'Definer': 'string', 'SubObjects': [ 'string', ], 'Representations': [ { 'Dialect': 'REDSHIFT'|'ATHENA'|'SPARK', 'DialectVersion': 'string', 'ViewOriginalText': 'string', 'ViewExpandedText': 'string', 'ValidationConnection': 'string', 'IsStale': True|False }, ] }, 'IsMultiDialectView': True|False, 'Status': { 'RequestedBy': 'string', 'UpdatedBy': 'string', 'RequestTime': datetime(2015, 1, 1), 'UpdateTime': datetime(2015, 1, 1), 'Action': 'UPDATE'|'CREATE', 'State': 'QUEUED'|'IN_PROGRESS'|'SUCCESS'|'STOPPED'|'FAILED', 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' }, 'Details': { 'RequestedChange': {'... recursive ...'}, 'ViewValidations': [ { 'Dialect': 'REDSHIFT'|'ATHENA'|'SPARK', 'DialectVersion': 'string', 'ViewValidationText': 'string', 'UpdateTime': datetime(2015, 1, 1), 'State': 'QUEUED'|'IN_PROGRESS'|'SUCCESS'|'STOPPED'|'FAILED', 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } } }, 'AuthorizedColumns': [ 'string', ], 'IsRegisteredWithLakeFormation': True|False, 'CellFilters': [ { 'ColumnName': 'string', 'RowFilterExpression': 'string' }, ], 'QueryAuthorizationId': 'string', 'IsMultiDialectView': True|False, 'ResourceArn': 'string', 'IsProtected': True|False, 'Permissions': [ 'ALL'|'SELECT'|'ALTER'|'DROP'|'DELETE'|'INSERT'|'CREATE_DATABASE'|'CREATE_TABLE'|'DATA_LOCATION_ACCESS', ], 'RowFilter': 'string' } **Response Structure** * *(dict) --* * **Table** *(dict) --* A Table object containing the table metadata. * **Name** *(string) --* The table name. For Hive compatibility, this must be entirely lowercase. * **DatabaseName** *(string) --* The name of the database where the table metadata resides. For Hive compatibility, this must be all lowercase. * **Description** *(string) --* A description of the table. * **Owner** *(string) --* The owner of the table. * **CreateTime** *(datetime) --* The time when the table definition was created in the Data Catalog. * **UpdateTime** *(datetime) --* The last time that the table was updated. * **LastAccessTime** *(datetime) --* The last time that the table was accessed. This is usually taken from HDFS, and might not be reliable. * **LastAnalyzedTime** *(datetime) --* The last time that column statistics were computed for this table. * **Retention** *(integer) --* The retention time for this table. * **StorageDescriptor** *(dict) --* A storage descriptor containing information about the physical storage of this table. * **Columns** *(list) --* A list of the "Columns" in the table. * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **Location** *(string) --* The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * **AdditionalLocations** *(list) --* A list of locations that point to the path where a Delta table is located. * *(string) --* * **InputFormat** *(string) --* The input format: "SequenceFileInputFormat" (binary), or "TextInputFormat", or a custom format. * **OutputFormat** *(string) --* The output format: "SequenceFileOutputFormat" (binary), or "IgnoreKeyTextOutputFormat", or a custom format. * **Compressed** *(boolean) --* "True" if the data in the table is compressed, or "False" if not. * **NumberOfBuckets** *(integer) --* Must be specified if the table contains any dimension columns. * **SerdeInfo** *(dict) --* The serialization/deserialization (SerDe) information. * **Name** *(string) --* Name of the SerDe. * **SerializationLibrary** *(string) --* Usually the class that implements the SerDe. An example is "org.apache.hadoop.hive.serde2.columnar.Co lumnarSerDe". * **Parameters** *(dict) --* These key-value pairs define initialization parameters for the SerDe. * *(string) --* * *(string) --* * **BucketColumns** *(list) --* A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * *(string) --* * **SortColumns** *(list) --* A list specifying the sort order of each bucket in the table. * *(dict) --* Specifies the sort order of a sorted column. * **Column** *(string) --* The name of the column. * **SortOrder** *(integer) --* Indicates that the column is sorted in ascending order ( "== 1"), or in descending order ( "==0"). * **Parameters** *(dict) --* The user-supplied properties in key-value form. * *(string) --* * *(string) --* * **SkewedInfo** *(dict) --* The information about values that appear frequently in a column (skewed values). * **SkewedColumnNames** *(list) --* A list of names of columns that contain skewed values. * *(string) --* * **SkewedColumnValues** *(list) --* A list of values that appear so frequently as to be considered skewed. * *(string) --* * **SkewedColumnValueLocationMaps** *(dict) --* A mapping of skewed values to the columns that contain them. * *(string) --* * *(string) --* * **StoredAsSubDirectories** *(boolean) --* "True" if the table data is stored in subdirectories, or "False" if not. * **SchemaReference** *(dict) --* An object that references a schema stored in the Glue Schema Registry. When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference. * **SchemaId** *(dict) --* A structure that contains schema identity fields. Either this or the "SchemaVersionId" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionId** *(string) --* The unique ID assigned to a version of the schema. Either this or the "SchemaId" has to be provided. * **SchemaVersionNumber** *(integer) --* The version number of the schema. * **PartitionKeys** *(list) --* A list of columns by which the table is partitioned. Only primitive types are supported as partition keys. When you create a table used by Amazon Athena, and you do not specify any "partitionKeys", you must at least set the value of "partitionKeys" to an empty list. For example: ""PartitionKeys": []" * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **ViewOriginalText** *(string) --* Included for Apache Hive compatibility. Not used in the normal course of Glue operations. If the table is a "VIRTUAL_VIEW", certain Athena configuration encoded in base64. * **ViewExpandedText** *(string) --* Included for Apache Hive compatibility. Not used in the normal course of Glue operations. * **TableType** *(string) --* The type of this table. Glue will create tables with the "EXTERNAL_TABLE" type. Other services, such as Athena, may create tables with additional table types. Glue related table types: EXTERNAL_TABLE Hive compatible attribute - indicates a non-Hive managed table. GOVERNED Used by Lake Formation. The Glue Data Catalog understands "GOVERNED". * **Parameters** *(dict) --* These key-value pairs define properties associated with the table. * *(string) --* * *(string) --* * **CreatedBy** *(string) --* The person or entity who created the table. * **IsRegisteredWithLakeFormation** *(boolean) --* Indicates whether the table has been registered with Lake Formation. * **TargetTable** *(dict) --* A "TableIdentifier" structure that describes a target table for resource linking. * **CatalogId** *(string) --* The ID of the Data Catalog in which the table resides. * **DatabaseName** *(string) --* The name of the catalog database that contains the target table. * **Name** *(string) --* The name of the target table. * **Region** *(string) --* Region of the target table. * **CatalogId** *(string) --* The ID of the Data Catalog in which the table resides. * **VersionId** *(string) --* The ID of the table version. * **FederatedTable** *(dict) --* A "FederatedTable" structure that references an entity outside the Glue Data Catalog. * **Identifier** *(string) --* A unique identifier for the federated table. * **DatabaseIdentifier** *(string) --* A unique identifier for the federated database. * **ConnectionName** *(string) --* The name of the connection to the external metastore. * **ConnectionType** *(string) --* The type of connection used to access the federated table, specifying the protocol or method for connecting to the external data source. * **ViewDefinition** *(dict) --* A structure that contains all the information that defines the view, including the dialect or dialects for the view, and the query. * **IsProtected** *(boolean) --* You can set this flag as true to instruct the engine not to push user-provided operations into the logical plan of the view during query planning. However, setting this flag does not guarantee that the engine will comply. Refer to the engine's documentation to understand the guarantees provided, if any. * **Definer** *(string) --* The definer of a view in SQL. * **SubObjects** *(list) --* A list of table Amazon Resource Names (ARNs). * *(string) --* * **Representations** *(list) --* A list of representations. * *(dict) --* A structure that contains the dialect of the view, and the query that defines the view. * **Dialect** *(string) --* The dialect of the query engine. * **DialectVersion** *(string) --* The version of the dialect of the query engine. For example, 3.0.0. * **ViewOriginalText** *(string) --* The "SELECT" query provided by the customer during "CREATE VIEW DDL". This SQL is not used during a query on a view ( "ViewExpandedText" is used instead). "ViewOriginalText" is used for cases like "SHOW CREATE VIEW" where users want to see the original DDL command that created the view. * **ViewExpandedText** *(string) --* The expanded SQL for the view. This SQL is used by engines while processing a query on a view. Engines may perform operations during view creation to transform "ViewOriginalText" to "ViewExpandedText". For example: * Fully qualified identifiers: "SELECT * from table1 -> SELECT * from db1.table1" * **ValidationConnection** *(string) --* The name of the connection to be used to validate the specific representation of the view. * **IsStale** *(boolean) --* Dialects marked as stale are no longer valid and must be updated before they can be queried in their respective query engines. * **IsMultiDialectView** *(boolean) --* Specifies whether the view supports the SQL dialects of one or more different query engines and can therefore be read by those engines. * **Status** *(dict) --* A structure containing information about the state of an asynchronous change to a table. * **RequestedBy** *(string) --* The ARN of the user who requested the asynchronous change. * **UpdatedBy** *(string) --* The ARN of the user to last manually alter the asynchronous change (requesting cancellation, etc). * **RequestTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the change was initiated. * **UpdateTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the state was last updated. * **Action** *(string) --* Indicates which action was called on the table, currently only "CREATE" or "UPDATE". * **State** *(string) --* A generic status for the change in progress, such as QUEUED, IN_PROGRESS, SUCCESS, or FAILED. * **Error** *(dict) --* An error that will only appear when the state is "FAILED". This is a parent level exception message, there may be different >>``</". * **RepositoryOwner** (*string*) -- The owner of the remote repository that contains the job artifacts. * **BranchName** (*string*) -- An optional branch in the remote repository. * **Folder** (*string*) -- An optional folder in the remote repository. * **CommitId** (*string*) -- A commit ID for a commit in the remote repository. * **AuthStrategy** (*string*) -- The type of authentication, which can be an authentication token stored in Amazon Web Services Secrets Manager, or a personal access token. * **AuthToken** (*string*) -- The value of the authorization token. Return type: dict Returns: **Response Syntax** { 'JobName': 'string' } **Response Structure** * *(dict) --* * **JobName** *(string) --* The name of the Glue job. **Exceptions** * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.AlreadyExistsException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.ValidationException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / update_crawler_schedule update_crawler_schedule *********************** Glue.Client.update_crawler_schedule(**kwargs) Updates the schedule of a crawler using a "cron" expression. See also: AWS API Documentation **Request Syntax** response = client.update_crawler_schedule( CrawlerName='string', Schedule='string' ) Parameters: * **CrawlerName** (*string*) -- **[REQUIRED]** The name of the crawler whose schedule to update. * **Schedule** (*string*) -- The updated "cron" expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: "cron(15 12 * * ? *)". Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.VersionMismatchException" * "Glue.Client.exceptions.SchedulerTransitioningException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / describe_entity describe_entity *************** Glue.Client.describe_entity(**kwargs) Provides details regarding the entity used with the connection type, with a description of the data model for each field in the selected entity. The response includes all the fields which make up the entity. See also: AWS API Documentation **Request Syntax** response = client.describe_entity( ConnectionName='string', CatalogId='string', EntityName='string', NextToken='string', DataStoreApiVersion='string' ) Parameters: * **ConnectionName** (*string*) -- **[REQUIRED]** The name of the connection that contains the connection type credentials. * **CatalogId** (*string*) -- The catalog ID of the catalog that contains the connection. This can be null, By default, the Amazon Web Services Account ID is the catalog ID. * **EntityName** (*string*) -- **[REQUIRED]** The name of the entity that you want to describe from the connection type. * **NextToken** (*string*) -- A continuation token, included if this is a continuation call. * **DataStoreApiVersion** (*string*) -- The version of the API used for the data store. Return type: dict Returns: **Response Syntax** { 'Fields': [ { 'FieldName': 'string', 'Label': 'string', 'Description': 'string', 'FieldType': 'INT'|'SMALLINT'|'BIGINT'|'FLOAT'|'LONG'|'DATE'|'BOOLEAN'|'MAP'|'ARRAY'|'STRING'|'TIMESTAMP'|'DECIMAL'|'BYTE'|'SHORT'|'DOUBLE'|'STRUCT', 'IsPrimaryKey': True|False, 'IsNullable': True|False, 'IsRetrievable': True|False, 'IsFilterable': True|False, 'IsPartitionable': True|False, 'IsCreateable': True|False, 'IsUpdateable': True|False, 'IsUpsertable': True|False, 'IsDefaultOnCreate': True|False, 'SupportedValues': [ 'string', ], 'SupportedFilterOperators': [ 'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'EQUAL_TO'|'NOT_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'LESS_THAN_OR_EQUAL_TO'|'CONTAINS'|'ORDER_BY', ], 'ParentField': 'string', 'NativeDataType': 'string', 'CustomProperties': { 'string': 'string' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Fields** *(list) --* Describes the fields for that connector entity. This is the list of "Field" objects. "Field" is very similar to column in a database. The "Field" object has information about different properties associated with fields in the connector. * *(dict) --* The "Field" object has information about the different properties associated with a field in the connector. * **FieldName** *(string) --* A unique identifier for the field. * **Label** *(string) --* A readable label used for the field. * **Description** *(string) --* A description of the field. * **FieldType** *(string) --* The type of data in the field. * **IsPrimaryKey** *(boolean) --* Indicates whether this field can used as a primary key for the given entity. * **IsNullable** *(boolean) --* Indicates whether this field can be nullable or not. * **IsRetrievable** *(boolean) --* Indicates whether this field can be added in Select clause of SQL query or whether it is retrievable or not. * **IsFilterable** *(boolean) --* Indicates whether this field can used in a filter clause ( "WHERE" clause) of a SQL statement when querying data. * **IsPartitionable** *(boolean) --* Indicates whether a given field can be used in partitioning the query made to SaaS. * **IsCreateable** *(boolean) --* Indicates whether this field can be created as part of a destination write. * **IsUpdateable** *(boolean) --* Indicates whether this field can be updated as part of a destination write. * **IsUpsertable** *(boolean) --* Indicates whether this field can be upserted as part of a destination write. * **IsDefaultOnCreate** *(boolean) --* Indicates whether this field is populated automatically when the object is created, such as a created at timestamp. * **SupportedValues** *(list) --* A list of supported values for the field. * *(string) --* * **SupportedFilterOperators** *(list) --* Indicates the support filter operators for this field. * *(string) --* * **ParentField** *(string) --* A parent field name for a nested field. * **NativeDataType** *(string) --* The data type returned by the SaaS API, such as “picklist” or “textarea” from Salesforce. * **CustomProperties** *(dict) --* Optional map of keys which may be returned. * *(string) --* * *(string) --* * **NextToken** *(string) --* A continuation token, present if the current segment is not the last. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.GlueEncryptionException" * "Glue.Client.exceptions.ValidationException" * "Glue.Client.exceptions.FederationSourceException" * "Glue.Client.exceptions.AccessDeniedException" Glue / Client / delete_resource_policy delete_resource_policy ********************** Glue.Client.delete_resource_policy(**kwargs) Deletes a specified policy. See also: AWS API Documentation **Request Syntax** response = client.delete_resource_policy( PolicyHashCondition='string', ResourceArn='string' ) Parameters: * **PolicyHashCondition** (*string*) -- The hash value returned when this policy was set. * **ResourceArn** (*string*) -- The ARN of the Glue resource for the resource policy to be deleted. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.ConditionCheckFailureException" Glue / Client / get_classifiers get_classifiers *************** Glue.Client.get_classifiers(**kwargs) Lists all classifier objects in the Data Catalog. See also: AWS API Documentation **Request Syntax** response = client.get_classifiers( MaxResults=123, NextToken='string' ) Parameters: * **MaxResults** (*integer*) -- The size of the list to return (optional). * **NextToken** (*string*) -- An optional continuation token. Return type: dict Returns: **Response Syntax** { 'Classifiers': [ { 'GrokClassifier': { 'Name': 'string', 'Classification': 'string', 'CreationTime': datetime(2015, 1, 1), 'LastUpdated': datetime(2015, 1, 1), 'Version': 123, 'GrokPattern': 'string', 'CustomPatterns': 'string' }, 'XMLClassifier': { 'Name': 'string', 'Classification': 'string', 'CreationTime': datetime(2015, 1, 1), 'LastUpdated': datetime(2015, 1, 1), 'Version': 123, 'RowTag': 'string' }, 'JsonClassifier': { 'Name': 'string', 'CreationTime': datetime(2015, 1, 1), 'LastUpdated': datetime(2015, 1, 1), 'Version': 123, 'JsonPath': 'string' }, 'CsvClassifier': { 'Name': 'string', 'CreationTime': datetime(2015, 1, 1), 'LastUpdated': datetime(2015, 1, 1), 'Version': 123, 'Delimiter': 'string', 'QuoteSymbol': 'string', 'ContainsHeader': 'UNKNOWN'|'PRESENT'|'ABSENT', 'Header': [ 'string', ], 'DisableValueTrimming': True|False, 'AllowSingleColumn': True|False, 'CustomDatatypeConfigured': True|False, 'CustomDatatypes': [ 'string', ], 'Serde': 'OpenCSVSerDe'|'LazySimpleSerDe'|'None' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **Classifiers** *(list) --* The requested list of classifier objects. * *(dict) --* Classifiers are triggered during a crawl task. A classifier checks whether a given file is in a format it can handle. If it is, the classifier creates a schema in the form of a "StructType" object that matches that data format. You can use the standard classifiers that Glue provides, or you can write your own classifiers to best categorize your data sources and specify the appropriate schemas to use for them. A classifier can be a "grok" classifier, an "XML" classifier, a "JSON" classifier, or a custom "CSV" classifier, as specified in one of the fields in the "Classifier" object. * **GrokClassifier** *(dict) --* A classifier that uses "grok". * **Name** *(string) --* The name of the classifier. * **Classification** *(string) --* An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and so on. * **CreationTime** *(datetime) --* The time that this classifier was registered. * **LastUpdated** *(datetime) --* The time that this classifier was last updated. * **Version** *(integer) --* The version of this classifier. * **GrokPattern** *(string) --* The grok pattern applied to a data store by this classifier. For more information, see built-in patterns in Writing Custom Classifiers. * **CustomPatterns** *(string) --* Optional custom grok patterns defined by this classifier. For more information, see custom patterns in Writing Custom Classifiers. * **XMLClassifier** *(dict) --* A classifier for XML content. * **Name** *(string) --* The name of the classifier. * **Classification** *(string) --* An identifier of the data format that the classifier matches. * **CreationTime** *(datetime) --* The time that this classifier was registered. * **LastUpdated** *(datetime) --* The time that this classifier was last updated. * **Version** *(integer) --* The version of this classifier. * **RowTag** *(string) --* The XML tag designating the element that contains each record in an XML document being parsed. This can't identify a self-closing element (closed by "/>"). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, "" is okay, but "" is not). * **JsonClassifier** *(dict) --* A classifier for JSON content. * **Name** *(string) --* The name of the classifier. * **CreationTime** *(datetime) --* The time that this classifier was registered. * **LastUpdated** *(datetime) --* The time that this classifier was last updated. * **Version** *(integer) --* The version of this classifier. * **JsonPath** *(string) --* A "JsonPath" string defining the JSON data for the classifier to classify. Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers. * **CsvClassifier** *(dict) --* A classifier for comma-separated values (CSV). * **Name** *(string) --* The name of the classifier. * **CreationTime** *(datetime) --* The time that this classifier was registered. * **LastUpdated** *(datetime) --* The time that this classifier was last updated. * **Version** *(integer) --* The version of this classifier. * **Delimiter** *(string) --* A custom symbol to denote what separates each column entry in the row. * **QuoteSymbol** *(string) --* A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. * **ContainsHeader** *(string) --* Indicates whether the CSV file contains a header. * **Header** *(list) --* A list of strings representing column names. * *(string) --* * **DisableValueTrimming** *(boolean) --* Specifies not to trim values before identifying the type of column values. The default value is "true". * **AllowSingleColumn** *(boolean) --* Enables the processing of files that contain only one column. * **CustomDatatypeConfigured** *(boolean) --* Enables the custom datatype to be configured. * **CustomDatatypes** *(list) --* A list of custom datatypes including "BINARY", "BOOLEAN", "DATE", "DECIMAL", "DOUBLE", "FLOAT", "INT", "LONG", "SHORT", "STRING", "TIMESTAMP". * *(string) --* * **Serde** *(string) --* Sets the SerDe for processing CSV in the classifier, which will be applied in the Data Catalog. Valid values are "OpenCSVSerDe", "LazySimpleSerDe", and "None". You can specify the "None" value when you want the crawler to do the detection. * **NextToken** *(string) --* A continuation token. **Exceptions** * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / list_table_optimizer_runs list_table_optimizer_runs ************************* Glue.Client.list_table_optimizer_runs(**kwargs) Lists the history of previous optimizer runs for a specific table. See also: AWS API Documentation **Request Syntax** response = client.list_table_optimizer_runs( CatalogId='string', DatabaseName='string', TableName='string', Type='compaction'|'retention'|'orphan_file_deletion', MaxResults=123, NextToken='string' ) Parameters: * **CatalogId** (*string*) -- **[REQUIRED]** The Catalog ID of the table. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the database in the catalog in which the table resides. * **TableName** (*string*) -- **[REQUIRED]** The name of the table. * **Type** (*string*) -- **[REQUIRED]** The type of table optimizer. * **MaxResults** (*integer*) -- The maximum number of optimizer runs to return on each call. * **NextToken** (*string*) -- A continuation token, if this is a continuation call. Return type: dict Returns: **Response Syntax** { 'CatalogId': 'string', 'DatabaseName': 'string', 'TableName': 'string', 'NextToken': 'string', 'TableOptimizerRuns': [ { 'eventType': 'starting'|'completed'|'failed'|'in_progress', 'startTimestamp': datetime(2015, 1, 1), 'endTimestamp': datetime(2015, 1, 1), 'metrics': { 'NumberOfBytesCompacted': 'string', 'NumberOfFilesCompacted': 'string', 'NumberOfDpus': 'string', 'JobDurationInHour': 'string' }, 'error': 'string', 'compactionMetrics': { 'IcebergMetrics': { 'NumberOfBytesCompacted': 123, 'NumberOfFilesCompacted': 123, 'DpuHours': 123.0, 'NumberOfDpus': 123, 'JobDurationInHour': 123.0 } }, 'compactionStrategy': 'binpack'|'sort'|'z-order', 'retentionMetrics': { 'IcebergMetrics': { 'NumberOfDataFilesDeleted': 123, 'NumberOfManifestFilesDeleted': 123, 'NumberOfManifestListsDeleted': 123, 'DpuHours': 123.0, 'NumberOfDpus': 123, 'JobDurationInHour': 123.0 } }, 'orphanFileDeletionMetrics': { 'IcebergMetrics': { 'NumberOfOrphanFilesDeleted': 123, 'DpuHours': 123.0, 'NumberOfDpus': 123, 'JobDurationInHour': 123.0 } } }, ] } **Response Structure** * *(dict) --* * **CatalogId** *(string) --* The Catalog ID of the table. * **DatabaseName** *(string) --* The name of the database in the catalog in which the table resides. * **TableName** *(string) --* The name of the table. * **NextToken** *(string) --* A continuation token for paginating the returned list of optimizer runs, returned if the current segment of the list is not the last. * **TableOptimizerRuns** *(list) --* A list of the optimizer runs associated with a table. * *(dict) --* Contains details for a table optimizer run. * **eventType** *(string) --* An event type representing the status of the table optimizer run. * **startTimestamp** *(datetime) --* Represents the epoch timestamp at which the compaction job was started within Lake Formation. * **endTimestamp** *(datetime) --* Represents the epoch timestamp at which the compaction job ended. * **metrics** *(dict) --* A "RunMetrics" object containing metrics for the optimizer run. This member is deprecated. See the individual metric members for compaction, retention, and orphan file deletion. * **NumberOfBytesCompacted** *(string) --* The number of bytes removed by the compaction job run. * **NumberOfFilesCompacted** *(string) --* The number of files removed by the compaction job run. * **NumberOfDpus** *(string) --* The number of DPUs consumed by the job, rounded up to the nearest whole number. * **JobDurationInHour** *(string) --* The duration of the job in hours. * **error** *(string) --* An error that occured during the optimizer run. * **compactionMetrics** *(dict) --* A "CompactionMetrics" object containing metrics for the optimizer run. * **IcebergMetrics** *(dict) --* A structure containing the Iceberg compaction metrics for the optimizer run. * **NumberOfBytesCompacted** *(integer) --* The number of bytes removed by the compaction job run. * **NumberOfFilesCompacted** *(integer) --* The number of files removed by the compaction job run. * **DpuHours** *(float) --* The number of DPU hours consumed by the job. * **NumberOfDpus** *(integer) --* The number of DPUs consumed by the job, rounded up to the nearest whole number. * **JobDurationInHour** *(float) --* The duration of the job in hours. * **compactionStrategy** *(string) --* The strategy used for the compaction run. Indicates which algorithm was applied to determine how files were selected and combined during the compaction process. Valid values are: * "binpack": Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. This is the recommended compaction strategy for most use cases. * "sort": Organizes data based on specified columns which are sorted hierarchically during compaction, improving query performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, you must first define a sort order in your Iceberg table properties using the "sort_order" table property. * "z-order": Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the "sort_order" table property. * **retentionMetrics** *(dict) --* A "RetentionMetrics" object containing metrics for the optimizer run. * **IcebergMetrics** *(dict) --* A structure containing the Iceberg retention metrics for the optimizer run. * **NumberOfDataFilesDeleted** *(integer) --* The number of data files deleted by the retention job run. * **NumberOfManifestFilesDeleted** *(integer) --* The number of manifest files deleted by the retention job run. * **NumberOfManifestListsDeleted** *(integer) --* The number of manifest lists deleted by the retention job run. * **DpuHours** *(float) --* The number of DPU hours consumed by the job. * **NumberOfDpus** *(integer) --* The number of DPUs consumed by the job, rounded up to the nearest whole number. * **JobDurationInHour** *(float) --* The duration of the job in hours. * **orphanFileDeletionMetrics** *(dict) --* An "OrphanFileDeletionMetrics" object containing metrics for the optimizer run. * **IcebergMetrics** *(dict) --* A structure containing the Iceberg orphan file deletion metrics for the optimizer run. * **NumberOfOrphanFilesDeleted** *(integer) --* The number of orphan files deleted by the orphan file deletion job run. * **DpuHours** *(float) --* The number of DPU hours consumed by the job. * **NumberOfDpus** *(integer) --* The number of DPUs consumed by the job, rounded up to the nearest whole number. * **JobDurationInHour** *(float) --* The duration of the job in hours. **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.ValidationException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.ThrottlingException" Glue / Client / delete_column_statistics_for_table delete_column_statistics_for_table ********************************** Glue.Client.delete_column_statistics_for_table(**kwargs) Retrieves table statistics of columns. The Identity and Access Management (IAM) permission required for this operation is "DeleteTable". See also: AWS API Documentation **Request Syntax** response = client.delete_column_statistics_for_table( CatalogId='string', DatabaseName='string', TableName='string', ColumnName='string' ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the partitions in question reside. If none is supplied, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The name of the catalog database where the partitions reside. * **TableName** (*string*) -- **[REQUIRED]** The name of the partitions' table. * **ColumnName** (*string*) -- **[REQUIRED]** The name of the column. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.InternalServiceException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / get_crawler_metrics get_crawler_metrics ******************* Glue.Client.get_crawler_metrics(**kwargs) Retrieves metrics about specified crawlers. See also: AWS API Documentation **Request Syntax** response = client.get_crawler_metrics( CrawlerNameList=[ 'string', ], MaxResults=123, NextToken='string' ) Parameters: * **CrawlerNameList** (*list*) -- A list of the names of crawlers about which to retrieve metrics. * *(string) --* * **MaxResults** (*integer*) -- The maximum size of a list to return. * **NextToken** (*string*) -- A continuation token, if this is a continuation call. Return type: dict Returns: **Response Syntax** { 'CrawlerMetricsList': [ { 'CrawlerName': 'string', 'TimeLeftSeconds': 123.0, 'StillEstimating': True|False, 'LastRuntimeSeconds': 123.0, 'MedianRuntimeSeconds': 123.0, 'TablesCreated': 123, 'TablesUpdated': 123, 'TablesDeleted': 123 }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **CrawlerMetricsList** *(list) --* A list of metrics for the specified crawler. * *(dict) --* Metrics for a specified crawler. * **CrawlerName** *(string) --* The name of the crawler. * **TimeLeftSeconds** *(float) --* The estimated time left to complete a running crawl. * **StillEstimating** *(boolean) --* True if the crawler is still estimating how long it will take to complete this run. * **LastRuntimeSeconds** *(float) --* The duration of the crawler's most recent run, in seconds. * **MedianRuntimeSeconds** *(float) --* The median duration of this crawler's runs, in seconds. * **TablesCreated** *(integer) --* The number of tables created by this crawler. * **TablesUpdated** *(integer) --* The number of tables updated by this crawler. * **TablesDeleted** *(integer) --* The number of tables deleted by this crawler. * **NextToken** *(string) --* A continuation token, if the returned list does not contain the last metric available. **Exceptions** * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / create_classifier create_classifier ***************** Glue.Client.create_classifier(**kwargs) Creates a classifier in the user's account. This can be a "GrokClassifier", an "XMLClassifier", a "JsonClassifier", or a "CsvClassifier", depending on which field of the request is present. See also: AWS API Documentation **Request Syntax** response = client.create_classifier( GrokClassifier={ 'Classification': 'string', 'Name': 'string', 'GrokPattern': 'string', 'CustomPatterns': 'string' }, XMLClassifier={ 'Classification': 'string', 'Name': 'string', 'RowTag': 'string' }, JsonClassifier={ 'Name': 'string', 'JsonPath': 'string' }, CsvClassifier={ 'Name': 'string', 'Delimiter': 'string', 'QuoteSymbol': 'string', 'ContainsHeader': 'UNKNOWN'|'PRESENT'|'ABSENT', 'Header': [ 'string', ], 'DisableValueTrimming': True|False, 'AllowSingleColumn': True|False, 'CustomDatatypeConfigured': True|False, 'CustomDatatypes': [ 'string', ], 'Serde': 'OpenCSVSerDe'|'LazySimpleSerDe'|'None' } ) Parameters: * **GrokClassifier** (*dict*) -- A "GrokClassifier" object specifying the classifier to create. * **Classification** *(string) --* **[REQUIRED]** An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on. * **Name** *(string) --* **[REQUIRED]** The name of the new classifier. * **GrokPattern** *(string) --* **[REQUIRED]** The grok pattern used by this classifier. * **CustomPatterns** *(string) --* Optional custom grok patterns used by this classifier. * **XMLClassifier** (*dict*) -- An "XMLClassifier" object specifying the classifier to create. * **Classification** *(string) --* **[REQUIRED]** An identifier of the data format that the classifier matches. * **Name** *(string) --* **[REQUIRED]** The name of the classifier. * **RowTag** *(string) --* The XML tag designating the element that contains each record in an XML document being parsed. This can't identify a self-closing element (closed by "/>"). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, "" is okay, but "" is not). * **JsonClassifier** (*dict*) -- A "JsonClassifier" object specifying the classifier to create. * **Name** *(string) --* **[REQUIRED]** The name of the classifier. * **JsonPath** *(string) --* **[REQUIRED]** A "JsonPath" string defining the JSON data for the classifier to classify. Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers. * **CsvClassifier** (*dict*) -- A "CsvClassifier" object specifying the classifier to create. * **Name** *(string) --* **[REQUIRED]** The name of the classifier. * **Delimiter** *(string) --* A custom symbol to denote what separates each column entry in the row. * **QuoteSymbol** *(string) --* A custom symbol to denote what combines content into a single column value. Must be different from the column delimiter. * **ContainsHeader** *(string) --* Indicates whether the CSV file contains a header. * **Header** *(list) --* A list of strings representing column names. * *(string) --* * **DisableValueTrimming** *(boolean) --* Specifies not to trim values before identifying the type of column values. The default value is true. * **AllowSingleColumn** *(boolean) --* Enables the processing of files that contain only one column. * **CustomDatatypeConfigured** *(boolean) --* Enables the configuration of custom datatypes. * **CustomDatatypes** *(list) --* Creates a list of supported custom datatypes. * *(string) --* * **Serde** *(string) --* Sets the SerDe for processing CSV in the classifier, which will be applied in the Data Catalog. Valid values are "OpenCSVSerDe", "LazySimpleSerDe", and "None". You can specify the "None" value when you want the crawler to do the detection. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.AlreadyExistsException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.OperationTimeoutException" Glue / Client / update_connection update_connection ***************** Glue.Client.update_connection(**kwargs) Updates a connection definition in the Data Catalog. See also: AWS API Documentation **Request Syntax** response = client.update_connection( CatalogId='string', Name='string', ConnectionInput={ 'Name': 'string', 'Description': 'string', 'ConnectionType': 'JDBC'|'SFTP'|'MONGODB'|'KAFKA'|'NETWORK'|'MARKETPLACE'|'CUSTOM'|'SALESFORCE'|'VIEW_VALIDATION_REDSHIFT'|'VIEW_VALIDATION_ATHENA'|'GOOGLEADS'|'GOOGLESHEETS'|'GOOGLEANALYTICS4'|'SERVICENOW'|'MARKETO'|'SAPODATA'|'ZENDESK'|'JIRACLOUD'|'NETSUITEERP'|'HUBSPOT'|'FACEBOOKADS'|'INSTAGRAMADS'|'ZOHOCRM'|'SALESFORCEPARDOT'|'SALESFORCEMARKETINGCLOUD'|'SLACK'|'STRIPE'|'INTERCOM'|'SNAPCHATADS', 'MatchCriteria': [ 'string', ], 'ConnectionProperties': { 'string': 'string' }, 'SparkProperties': { 'string': 'string' }, 'AthenaProperties': { 'string': 'string' }, 'PythonProperties': { 'string': 'string' }, 'PhysicalConnectionRequirements': { 'SubnetId': 'string', 'SecurityGroupIdList': [ 'string', ], 'AvailabilityZone': 'string' }, 'AuthenticationConfiguration': { 'AuthenticationType': 'BASIC'|'OAUTH2'|'CUSTOM'|'IAM', 'OAuth2Properties': { 'OAuth2GrantType': 'AUTHORIZATION_CODE'|'CLIENT_CREDENTIALS'|'JWT_BEARER', 'OAuth2ClientApplication': { 'UserManagedClientApplicationClientId': 'string', 'AWSManagedClientApplicationReference': 'string' }, 'TokenUrl': 'string', 'TokenUrlParametersMap': { 'string': 'string' }, 'AuthorizationCodeProperties': { 'AuthorizationCode': 'string', 'RedirectUri': 'string' }, 'OAuth2Credentials': { 'UserManagedClientApplicationClientSecret': 'string', 'AccessToken': 'string', 'RefreshToken': 'string', 'JwtToken': 'string' } }, 'SecretArn': 'string', 'KmsKeyArn': 'string', 'BasicAuthenticationCredentials': { 'Username': 'string', 'Password': 'string' }, 'CustomAuthenticationCredentials': { 'string': 'string' } }, 'ValidateCredentials': True|False, 'ValidateForComputeEnvironments': [ 'SPARK'|'ATHENA'|'PYTHON', ] } ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog in which the connection resides. If none is provided, the Amazon Web Services account ID is used by default. * **Name** (*string*) -- **[REQUIRED]** The name of the connection definition to update. * **ConnectionInput** (*dict*) -- **[REQUIRED]** A "ConnectionInput" object that redefines the connection in question. * **Name** *(string) --* **[REQUIRED]** The name of the connection. * **Description** *(string) --* The description of the connection. * **ConnectionType** *(string) --* **[REQUIRED]** The type of the connection. Currently, these types are supported: * "JDBC" - Designates a connection to a database through Java Database Connectivity (JDBC). "JDBC" Connections use the following ConnectionParameters. * Required: All of ( "HOST", "PORT", "JDBC_ENGINE") or "JDBC_CONNECTION_URL". * Required: All of ( "USERNAME", "PASSWORD") or "SECRET_ID". * Optional: "JDBC_ENFORCE_SSL", "CUSTOM_JDBC_CERT", "CUSTOM_JDBC_CERT_STRING", "SKIP_CUSTOM_JDBC_CERT_VALIDATION". These parameters are used to configure SSL with JDBC. * "KAFKA" - Designates a connection to an Apache Kafka streaming platform. "KAFKA" Connections use the following ConnectionParameters. * Required: "KAFKA_BOOTSTRAP_SERVERS". * Optional: "KAFKA_SSL_ENABLED", "KAFKA_CUSTOM_CERT", "KAFKA_SKIP_CUSTOM_CERT_VALIDATION". These parameters are used to configure SSL with "KAFKA". * Optional: "KAFKA_CLIENT_KEYSTORE", "KAFKA_CLIENT_KEYSTORE_PASSWORD", "KAFKA_CLIENT_KEY_PASSWORD", "ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD", "ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD". These parameters are used to configure TLS client configuration with SSL in "KAFKA". * Optional: "KAFKA_SASL_MECHANISM". Can be specified as "SCRAM-SHA-512", "GSSAPI", or "AWS_MSK_IAM". * Optional: "KAFKA_SASL_SCRAM_USERNAME", "KAFKA_SASL_SCRAM_PASSWORD", "ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD". These parameters are used to configure SASL/SCRAM-SHA-512 authentication with "KAFKA". * Optional: "KAFKA_SASL_GSSAPI_KEYTAB", "KAFKA_SASL_GSSAPI_KRB5_CONF", "KAFKA_SASL_GSSAPI_SERVICE", "KAFKA_SASL_GSSAPI_PRINCIPAL". These parameters are used to configure SASL/GSSAPI authentication with "KAFKA". * "MONGODB" - Designates a connection to a MongoDB document database. "MONGODB" Connections use the following ConnectionParameters. * Required: "CONNECTION_URL". * Required: All of ( "USERNAME", "PASSWORD") or "SECRET_ID". * "VIEW_VALIDATION_REDSHIFT" - Designates a connection used for view validation by Amazon Redshift. * "VIEW_VALIDATION_ATHENA" - Designates a connection used for view validation by Amazon Athena. * "NETWORK" - Designates a network connection to a data source within an Amazon Virtual Private Cloud environment (Amazon VPC). "NETWORK" Connections do not require ConnectionParameters. Instead, provide a PhysicalConnectionRequirements. * "MARKETPLACE" - Uses configuration settings contained in a connector purchased from Amazon Web Services Marketplace to read from and write to data stores that are not natively supported by Glue. "MARKETPLACE" Connections use the following ConnectionParameters. * Required: "CONNECTOR_TYPE", "CONNECTOR_URL", "CONNECTOR_CLASS_NAME", "CONNECTION_URL". * Required for "JDBC" "CONNECTOR_TYPE" connections: All of ( "USERNAME", "PASSWORD") or "SECRET_ID". * "CUSTOM" - Uses configuration settings contained in a custom connector to read from and write to data stores that are not natively supported by Glue. Additionally, a "ConnectionType" for the following SaaS connectors is supported: * "FACEBOOKADS" - Designates a connection to Facebook Ads. * "GOOGLEADS" - Designates a connection to Google Ads. * "GOOGLESHEETS" - Designates a connection to Google Sheets. * "GOOGLEANALYTICS4" - Designates a connection to Google Analytics 4. * "HUBSPOT" - Designates a connection to HubSpot. * "INSTAGRAMADS" - Designates a connection to Instagram Ads. * "INTERCOM" - Designates a connection to Intercom. * "JIRACLOUD" - Designates a connection to Jira Cloud. * "MARKETO" - Designates a connection to Adobe Marketo Engage. * "NETSUITEERP" - Designates a connection to Oracle NetSuite. * "SALESFORCE" - Designates a connection to Salesforce using OAuth authentication. * "SALESFORCEMARKETINGCLOUD" - Designates a connection to Salesforce Marketing Cloud. * "SALESFORCEPARDOT" - Designates a connection to Salesforce Marketing Cloud Account Engagement (MCAE). * "SAPODATA" - Designates a connection to SAP OData. * "SERVICENOW" - Designates a connection to ServiceNow. * "SLACK" - Designates a connection to Slack. * "SNAPCHATADS" - Designates a connection to Snapchat Ads. * "STRIPE" - Designates a connection to Stripe. * "ZENDESK" - Designates a connection to Zendesk. * "ZOHOCRM" - Designates a connection to Zoho CRM. For more information on the connection parameters needed for a particular connector, see the documentation for the connector in >>`<`__in the Glue User Guide. "SFTP" is not supported. For more information about how optional ConnectionProperties are used to configure features in Glue, consult Glue connection properties. For more information about how optional ConnectionProperties are used to configure features in Glue Studio, consult Using connectors and connections. * **MatchCriteria** *(list) --* A list of criteria that can be used in selecting this connection. * *(string) --* * **ConnectionProperties** *(dict) --* **[REQUIRED]** These key-value pairs define parameters for the connection. * *(string) --* * *(string) --* * **SparkProperties** *(dict) --* Connection properties specific to the Spark compute environment. * *(string) --* * *(string) --* * **AthenaProperties** *(dict) --* Connection properties specific to the Athena compute environment. * *(string) --* * *(string) --* * **PythonProperties** *(dict) --* Connection properties specific to the Python compute environment. * *(string) --* * *(string) --* * **PhysicalConnectionRequirements** *(dict) --* The physical connection requirements, such as virtual private cloud (VPC) and "SecurityGroup", that are needed to successfully make this connection. * **SubnetId** *(string) --* The subnet ID used by the connection. * **SecurityGroupIdList** *(list) --* The security group ID list used by the connection. * *(string) --* * **AvailabilityZone** *(string) --* The connection's Availability Zone. * **AuthenticationConfiguration** *(dict) --* The authentication properties of the connection. * **AuthenticationType** *(string) --* A structure containing the authentication configuration in the CreateConnection request. * **OAuth2Properties** *(dict) --* The properties for OAuth2 authentication in the CreateConnection request. * **OAuth2GrantType** *(string) --* The OAuth2 grant type in the CreateConnection request. For example, "AUTHORIZATION_CODE", "JWT_BEARER", or "CLIENT_CREDENTIALS". * **OAuth2ClientApplication** *(dict) --* The client application type in the CreateConnection request. For example, "AWS_MANAGED" or "USER_MANAGED". * **UserManagedClientApplicationClientId** *(string) --* The client application clientID if the ClientAppType is "USER_MANAGED". * **AWSManagedClientApplicationReference** *(string) --* The reference to the SaaS-side client app that is Amazon Web Services managed. * **TokenUrl** *(string) --* The URL of the provider's authentication server, to exchange an authorization code for an access token. * **TokenUrlParametersMap** *(dict) --* A map of parameters that are added to the token "GET" request. * *(string) --* * *(string) --* * **AuthorizationCodeProperties** *(dict) --* The set of properties required for the the OAuth2 "AUTHORIZATION_CODE" grant type. * **AuthorizationCode** *(string) --* An authorization code to be used in the third leg of the "AUTHORIZATION_CODE" grant workflow. This is a single-use code which becomes invalid once exchanged for an access token, thus it is acceptable to have this value as a request parameter. * **RedirectUri** *(string) --* The redirect URI where the user gets redirected to by authorization server when issuing an authorization code. The URI is subsequently used when the authorization code is exchanged for an access token. * **OAuth2Credentials** *(dict) --* The credentials used when the authentication type is OAuth2 authentication. * **UserManagedClientApplicationClientSecret** *(string) --* The client application client secret if the client application is user managed. * **AccessToken** *(string) --* The access token used when the authentication type is OAuth2. * **RefreshToken** *(string) --* The refresh token used when the authentication type is OAuth2. * **JwtToken** *(string) --* The JSON Web Token (JWT) used when the authentication type is OAuth2. * **SecretArn** *(string) --* The secret manager ARN to store credentials in the CreateConnection request. * **KmsKeyArn** *(string) --* The ARN of the KMS key used to encrypt the connection. Only taken an as input in the request and stored in the Secret Manager. * **BasicAuthenticationCredentials** *(dict) --* The credentials used when the authentication type is basic authentication. * **Username** *(string) --* The username to connect to the data source. * **Password** *(string) --* The password to connect to the data source. * **CustomAuthenticationCredentials** *(dict) --* The credentials used when the authentication type is custom authentication. * *(string) --* * *(string) --* * **ValidateCredentials** *(boolean) --* A flag to validate the credentials during create connection. Default is true. * **ValidateForComputeEnvironments** *(list) --* The compute environments that the specified connection properties are validated against. * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.OperationTimeoutException" * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.GlueEncryptionException" Glue / Client / remove_schema_version_metadata remove_schema_version_metadata ****************************** Glue.Client.remove_schema_version_metadata(**kwargs) Removes a key value pair from the schema version metadata for the specified schema version ID. See also: AWS API Documentation **Request Syntax** response = client.remove_schema_version_metadata( SchemaId={ 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, SchemaVersionNumber={ 'LatestVersion': True|False, 'VersionNumber': 123 }, SchemaVersionId='string', MetadataKeyValue={ 'MetadataKey': 'string', 'MetadataValue': 'string' } ) Parameters: * **SchemaId** (*dict*) -- A wrapper structure that may contain the schema name and Amazon Resource Name (ARN). * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionNumber** (*dict*) -- The version number of the schema. * **LatestVersion** *(boolean) --* The latest version available for the schema. * **VersionNumber** *(integer) --* The version number of the schema. * **SchemaVersionId** (*string*) -- The unique version ID of the schema version. * **MetadataKeyValue** (*dict*) -- **[REQUIRED]** The value of the metadata key. * **MetadataKey** *(string) --* A metadata key. * **MetadataValue** *(string) --* A metadata key’s corresponding value. Return type: dict Returns: **Response Syntax** { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string', 'LatestVersion': True|False, 'VersionNumber': 123, 'SchemaVersionId': 'string', 'MetadataKey': 'string', 'MetadataValue': 'string' } **Response Structure** * *(dict) --* * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. * **SchemaName** *(string) --* The name of the schema. * **RegistryName** *(string) --* The name of the registry. * **LatestVersion** *(boolean) --* The latest version of the schema. * **VersionNumber** *(integer) --* The version number of the schema. * **SchemaVersionId** *(string) --* The version ID for the schema version. * **MetadataKey** *(string) --* The metadata key. * **MetadataValue** *(string) --* The value of the metadata key. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" Glue / Client / get_registry get_registry ************ Glue.Client.get_registry(**kwargs) Describes the specified registry in detail. See also: AWS API Documentation **Request Syntax** response = client.get_registry( RegistryId={ 'RegistryName': 'string', 'RegistryArn': 'string' } ) Parameters: **RegistryId** (*dict*) -- **[REQUIRED]** This is a wrapper structure that may contain the registry name and Amazon Resource Name (ARN). * **RegistryName** *(string) --* Name of the registry. Used only for lookup. One of "RegistryArn" or "RegistryName" has to be provided. * **RegistryArn** *(string) --* Arn of the registry to be updated. One of "RegistryArn" or "RegistryName" has to be provided. Return type: dict Returns: **Response Syntax** { 'RegistryName': 'string', 'RegistryArn': 'string', 'Description': 'string', 'Status': 'AVAILABLE'|'DELETING', 'CreatedTime': 'string', 'UpdatedTime': 'string' } **Response Structure** * *(dict) --* * **RegistryName** *(string) --* The name of the registry. * **RegistryArn** *(string) --* The Amazon Resource Name (ARN) of the registry. * **Description** *(string) --* A description of the registry. * **Status** *(string) --* The status of the registry. * **CreatedTime** *(string) --* The date and time the registry was created. * **UpdatedTime** *(string) --* The date and time the registry was updated. **Exceptions** * "Glue.Client.exceptions.InvalidInputException" * "Glue.Client.exceptions.AccessDeniedException" * "Glue.Client.exceptions.EntityNotFoundException" * "Glue.Client.exceptions.InternalServiceException" Glue / Client / get_table_version get_table_version ***************** Glue.Client.get_table_version(**kwargs) Retrieves a specified version of a table. See also: AWS API Documentation **Request Syntax** response = client.get_table_version( CatalogId='string', DatabaseName='string', TableName='string', VersionId='string' ) Parameters: * **CatalogId** (*string*) -- The ID of the Data Catalog where the tables reside. If none is provided, the Amazon Web Services account ID is used by default. * **DatabaseName** (*string*) -- **[REQUIRED]** The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase. * **TableName** (*string*) -- **[REQUIRED]** The name of the table. For Hive compatibility, this name is entirely lowercase. * **VersionId** (*string*) -- The ID value of the table version to be retrieved. A "VersionID" is a string representation of an integer. Each version is incremented by 1. Return type: dict Returns: **Response Syntax** { 'TableVersion': { 'Table': { 'Name': 'string', 'DatabaseName': 'string', 'Description': 'string', 'Owner': 'string', 'CreateTime': datetime(2015, 1, 1), 'UpdateTime': datetime(2015, 1, 1), 'LastAccessTime': datetime(2015, 1, 1), 'LastAnalyzedTime': datetime(2015, 1, 1), 'Retention': 123, 'StorageDescriptor': { 'Columns': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'Location': 'string', 'AdditionalLocations': [ 'string', ], 'InputFormat': 'string', 'OutputFormat': 'string', 'Compressed': True|False, 'NumberOfBuckets': 123, 'SerdeInfo': { 'Name': 'string', 'SerializationLibrary': 'string', 'Parameters': { 'string': 'string' } }, 'BucketColumns': [ 'string', ], 'SortColumns': [ { 'Column': 'string', 'SortOrder': 123 }, ], 'Parameters': { 'string': 'string' }, 'SkewedInfo': { 'SkewedColumnNames': [ 'string', ], 'SkewedColumnValues': [ 'string', ], 'SkewedColumnValueLocationMaps': { 'string': 'string' } }, 'StoredAsSubDirectories': True|False, 'SchemaReference': { 'SchemaId': { 'SchemaArn': 'string', 'SchemaName': 'string', 'RegistryName': 'string' }, 'SchemaVersionId': 'string', 'SchemaVersionNumber': 123 } }, 'PartitionKeys': [ { 'Name': 'string', 'Type': 'string', 'Comment': 'string', 'Parameters': { 'string': 'string' } }, ], 'ViewOriginalText': 'string', 'ViewExpandedText': 'string', 'TableType': 'string', 'Parameters': { 'string': 'string' }, 'CreatedBy': 'string', 'IsRegisteredWithLakeFormation': True|False, 'TargetTable': { 'CatalogId': 'string', 'DatabaseName': 'string', 'Name': 'string', 'Region': 'string' }, 'CatalogId': 'string', 'VersionId': 'string', 'FederatedTable': { 'Identifier': 'string', 'DatabaseIdentifier': 'string', 'ConnectionName': 'string', 'ConnectionType': 'string' }, 'ViewDefinition': { 'IsProtected': True|False, 'Definer': 'string', 'SubObjects': [ 'string', ], 'Representations': [ { 'Dialect': 'REDSHIFT'|'ATHENA'|'SPARK', 'DialectVersion': 'string', 'ViewOriginalText': 'string', 'ViewExpandedText': 'string', 'ValidationConnection': 'string', 'IsStale': True|False }, ] }, 'IsMultiDialectView': True|False, 'Status': { 'RequestedBy': 'string', 'UpdatedBy': 'string', 'RequestTime': datetime(2015, 1, 1), 'UpdateTime': datetime(2015, 1, 1), 'Action': 'UPDATE'|'CREATE', 'State': 'QUEUED'|'IN_PROGRESS'|'SUCCESS'|'STOPPED'|'FAILED', 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' }, 'Details': { 'RequestedChange': {'... recursive ...'}, 'ViewValidations': [ { 'Dialect': 'REDSHIFT'|'ATHENA'|'SPARK', 'DialectVersion': 'string', 'ViewValidationText': 'string', 'UpdateTime': datetime(2015, 1, 1), 'State': 'QUEUED'|'IN_PROGRESS'|'SUCCESS'|'STOPPED'|'FAILED', 'Error': { 'ErrorCode': 'string', 'ErrorMessage': 'string' } }, ] } } }, 'VersionId': 'string' } } **Response Structure** * *(dict) --* * **TableVersion** *(dict) --* The requested table version. * **Table** *(dict) --* The table in question. * **Name** *(string) --* The table name. For Hive compatibility, this must be entirely lowercase. * **DatabaseName** *(string) --* The name of the database where the table metadata resides. For Hive compatibility, this must be all lowercase. * **Description** *(string) --* A description of the table. * **Owner** *(string) --* The owner of the table. * **CreateTime** *(datetime) --* The time when the table definition was created in the Data Catalog. * **UpdateTime** *(datetime) --* The last time that the table was updated. * **LastAccessTime** *(datetime) --* The last time that the table was accessed. This is usually taken from HDFS, and might not be reliable. * **LastAnalyzedTime** *(datetime) --* The last time that column statistics were computed for this table. * **Retention** *(integer) --* The retention time for this table. * **StorageDescriptor** *(dict) --* A storage descriptor containing information about the physical storage of this table. * **Columns** *(list) --* A list of the "Columns" in the table. * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **Location** *(string) --* The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. * **AdditionalLocations** *(list) --* A list of locations that point to the path where a Delta table is located. * *(string) --* * **InputFormat** *(string) --* The input format: "SequenceFileInputFormat" (binary), or "TextInputFormat", or a custom format. * **OutputFormat** *(string) --* The output format: "SequenceFileOutputFormat" (binary), or "IgnoreKeyTextOutputFormat", or a custom format. * **Compressed** *(boolean) --* "True" if the data in the table is compressed, or "False" if not. * **NumberOfBuckets** *(integer) --* Must be specified if the table contains any dimension columns. * **SerdeInfo** *(dict) --* The serialization/deserialization (SerDe) information. * **Name** *(string) --* Name of the SerDe. * **SerializationLibrary** *(string) --* Usually the class that implements the SerDe. An example is "org.apache.hadoop.hive.serde2.columnar. ColumnarSerDe". * **Parameters** *(dict) --* These key-value pairs define initialization parameters for the SerDe. * *(string) --* * *(string) --* * **BucketColumns** *(list) --* A list of reducer grouping columns, clustering columns, and bucketing columns in the table. * *(string) --* * **SortColumns** *(list) --* A list specifying the sort order of each bucket in the table. * *(dict) --* Specifies the sort order of a sorted column. * **Column** *(string) --* The name of the column. * **SortOrder** *(integer) --* Indicates that the column is sorted in ascending order ( "== 1"), or in descending order ( "==0"). * **Parameters** *(dict) --* The user-supplied properties in key-value form. * *(string) --* * *(string) --* * **SkewedInfo** *(dict) --* The information about values that appear frequently in a column (skewed values). * **SkewedColumnNames** *(list) --* A list of names of columns that contain skewed values. * *(string) --* * **SkewedColumnValues** *(list) --* A list of values that appear so frequently as to be considered skewed. * *(string) --* * **SkewedColumnValueLocationMaps** *(dict) --* A mapping of skewed values to the columns that contain them. * *(string) --* * *(string) --* * **StoredAsSubDirectories** *(boolean) --* "True" if the table data is stored in subdirectories, or "False" if not. * **SchemaReference** *(dict) --* An object that references a schema stored in the Glue Schema Registry. When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference. * **SchemaId** *(dict) --* A structure that contains schema identity fields. Either this or the "SchemaVersionId" has to be provided. * **SchemaArn** *(string) --* The Amazon Resource Name (ARN) of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **SchemaName** *(string) --* The name of the schema. One of "SchemaArn" or "SchemaName" has to be provided. * **RegistryName** *(string) --* The name of the schema registry that contains the schema. * **SchemaVersionId** *(string) --* The unique ID assigned to a version of the schema. Either this or the "SchemaId" has to be provided. * **SchemaVersionNumber** *(integer) --* The version number of the schema. * **PartitionKeys** *(list) --* A list of columns by which the table is partitioned. Only primitive types are supported as partition keys. When you create a table used by Amazon Athena, and you do not specify any "partitionKeys", you must at least set the value of "partitionKeys" to an empty list. For example: ""PartitionKeys": []" * *(dict) --* A column in a "Table". * **Name** *(string) --* The name of the "Column". * **Type** *(string) --* The data type of the "Column". * **Comment** *(string) --* A free-form text comment. * **Parameters** *(dict) --* These key-value pairs define properties associated with the column. * *(string) --* * *(string) --* * **ViewOriginalText** *(string) --* Included for Apache Hive compatibility. Not used in the normal course of Glue operations. If the table is a "VIRTUAL_VIEW", certain Athena configuration encoded in base64. * **ViewExpandedText** *(string) --* Included for Apache Hive compatibility. Not used in the normal course of Glue operations. * **TableType** *(string) --* The type of this table. Glue will create tables with the "EXTERNAL_TABLE" type. Other services, such as Athena, may create tables with additional table types. Glue related table types: EXTERNAL_TABLE Hive compatible attribute - indicates a non-Hive managed table. GOVERNED Used by Lake Formation. The Glue Data Catalog understands "GOVERNED". * **Parameters** *(dict) --* These key-value pairs define properties associated with the table. * *(string) --* * *(string) --* * **CreatedBy** *(string) --* The person or entity who created the table. * **IsRegisteredWithLakeFormation** *(boolean) --* Indicates whether the table has been registered with Lake Formation. * **TargetTable** *(dict) --* A "TableIdentifier" structure that describes a target table for resource linking. * **CatalogId** *(string) --* The ID of the Data Catalog in which the table resides. * **DatabaseName** *(string) --* The name of the catalog database that contains the target table. * **Name** *(string) --* The name of the target table. * **Region** *(string) --* Region of the target table. * **CatalogId** *(string) --* The ID of the Data Catalog in which the table resides. * **VersionId** *(string) --* The ID of the table version. * **FederatedTable** *(dict) --* A "FederatedTable" structure that references an entity outside the Glue Data Catalog. * **Identifier** *(string) --* A unique identifier for the federated table. * **DatabaseIdentifier** *(string) --* A unique identifier for the federated database. * **ConnectionName** *(string) --* The name of the connection to the external metastore. * **ConnectionType** *(string) --* The type of connection used to access the federated table, specifying the protocol or method for connecting to the external data source. * **ViewDefinition** *(dict) --* A structure that contains all the information that defines the view, including the dialect or dialects for the view, and the query. * **IsProtected** *(boolean) --* You can set this flag as true to instruct the engine not to push user-provided operations into the logical plan of the view during query planning. However, setting this flag does not guarantee that the engine will comply. Refer to the engine's documentation to understand the guarantees provided, if any. * **Definer** *(string) --* The definer of a view in SQL. * **SubObjects** *(list) --* A list of table Amazon Resource Names (ARNs). * *(string) --* * **Representations** *(list) --* A list of representations. * *(dict) --* A structure that contains the dialect of the view, and the query that defines the view. * **Dialect** *(string) --* The dialect of the query engine. * **DialectVersion** *(string) --* The version of the dialect of the query engine. For example, 3.0.0. * **ViewOriginalText** *(string) --* The "SELECT" query provided by the customer during "CREATE VIEW DDL". This SQL is not used during a query on a view ( "ViewExpandedText" is used instead). "ViewOriginalText" is used for cases like "SHOW CREATE VIEW" where users want to see the original DDL command that created the view. * **ViewExpandedText** *(string) --* The expanded SQL for the view. This SQL is used by engines while processing a query on a view. Engines may perform operations during view creation to transform "ViewOriginalText" to "ViewExpandedText". For example: * Fully qualified identifiers: "SELECT * from table1 -> SELECT * from db1.table1" * **ValidationConnection** *(string) --* The name of the connection to be used to validate the specific representation of the view. * **IsStale** *(boolean) --* Dialects marked as stale are no longer valid and must be updated before they can be queried in their respective query engines. * **IsMultiDialectView** *(boolean) --* Specifies whether the view supports the SQL dialects of one or more different query engines and can therefore be read by those engines. * **Status** *(dict) --* A structure containing information about the state of an asynchronous change to a table. * **RequestedBy** *(string) --* The ARN of the user who requested the asynchronous change. * **UpdatedBy** *(string) --* The ARN of the user to last manually alter the asynchronous change (requesting cancellation, etc). * **RequestTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the change was initiated. * **UpdateTime** *(datetime) --* An ISO 8601 formatted date string indicating the time that the state was last updated. * **Action** *(string) --* Indicates which action was called on the table, currently only "CREATE" or "UPDATE". * **State** *(string) --* A generic status for the change in progress, such as QUEUED, IN_PROGRESS, SUCCESS, or FAILED. * **Error** *(dict) --* An error that will only appear when the state is "FAILED". This is a parent level exception message, there may be different >>``<