describeEntity method

Future<DescribeEntityResponse> describeEntity({
  1. required String connectionName,
  2. required String entityName,
  3. String? catalogId,
  4. String? dataStoreApiVersion,
  5. String? nextToken,
})

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.

May throw AccessDeniedException. May throw EntityNotFoundException. May throw FederationSourceException. May throw GlueEncryptionException. May throw InvalidInputException. May throw OperationTimeoutException. May throw ValidationException.

Parameter connectionName : The name of the connection that contains the connection type credentials.

Parameter entityName : The name of the entity that you want to describe from the connection type.

Parameter catalogId : 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.

Parameter dataStoreApiVersion : The version of the API used for the data store.

Parameter nextToken : A continuation token, included if this is a continuation call.

Implementation

Future<DescribeEntityResponse> describeEntity({
  required String connectionName,
  required String entityName,
  String? catalogId,
  String? dataStoreApiVersion,
  String? nextToken,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSGlue.DescribeEntity'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ConnectionName': connectionName,
      'EntityName': entityName,
      if (catalogId != null) 'CatalogId': catalogId,
      if (dataStoreApiVersion != null)
        'DataStoreApiVersion': dataStoreApiVersion,
      if (nextToken != null) 'NextToken': nextToken,
    },
  );

  return DescribeEntityResponse.fromJson(jsonResponse.body);
}