createConfiguredTable method

Future<CreateConfiguredTableOutput> createConfiguredTable({
  1. required List<String> allowedColumns,
  2. required AnalysisMethod analysisMethod,
  3. required String name,
  4. required TableReference tableReference,
  5. String? description,
  6. List<SelectedAnalysisMethod>? selectedAnalysisMethods,
  7. Map<String, String>? tags,
})

Creates a new configured table resource.

May throw AccessDeniedException. May throw ConflictException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw ValidationException.

Parameter allowedColumns : The columns of the underlying table that can be used by collaborations or analysis rules.

Parameter analysisMethod : The analysis method allowed for the configured tables.

DIRECT_QUERY allows SQL queries to be run directly on this table.

DIRECT_JOB allows PySpark jobs to be run directly on this table.

MULTIPLE allows both SQL queries and PySpark jobs to be run directly on this table.

Parameter name : The name of the configured table.

Parameter tableReference : A reference to the table being configured.

Parameter description : A description for the configured table.

Parameter selectedAnalysisMethods : The analysis methods to enable for the configured table. When configured, you must specify at least two analysis methods.

Parameter tags : An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

Implementation

Future<CreateConfiguredTableOutput> createConfiguredTable({
  required List<String> allowedColumns,
  required AnalysisMethod analysisMethod,
  required String name,
  required TableReference tableReference,
  String? description,
  List<SelectedAnalysisMethod>? selectedAnalysisMethods,
  Map<String, String>? tags,
}) async {
  final $payload = <String, dynamic>{
    'allowedColumns': allowedColumns,
    'analysisMethod': analysisMethod.value,
    'name': name,
    'tableReference': tableReference,
    if (description != null) 'description': description,
    if (selectedAnalysisMethods != null)
      'selectedAnalysisMethods':
          selectedAnalysisMethods.map((e) => e.value).toList(),
    if (tags != null) 'tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/configuredTables',
    exceptionFnMap: _exceptionFns,
  );
  return CreateConfiguredTableOutput.fromJson(response);
}