populateIntermediateTable method

Future<PopulateIntermediateTableOutput> populateIntermediateTable({
  1. required String intermediateTableIdentifier,
  2. required String membershipIdentifier,
  3. String? analysisPayerAccountId,
  4. IntermediateTableComputeConfiguration? computeConfiguration,
  5. Map<String, String>? parameters,
})

Executes the stored query of an intermediate table to materialize data into managed storage. With this operation, you can perform initial population and subsequent refreshes. Each call creates a new version. The returned analysis ID can be tracked using GetProtectedQuery. Only the intermediate table owner can call this operation.

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

Parameter intermediateTableIdentifier : The unique identifier of the intermediate table to populate.

Parameter membershipIdentifier : The unique identifier of the membership that contains the intermediate table.

Parameter analysisPayerAccountId : The account ID of the member that pays for the analysis compute costs.

Parameter computeConfiguration : The compute configuration for the population query execution.

Parameter parameters : The runtime parameter values that override the defaults in the stored query.

Implementation

Future<PopulateIntermediateTableOutput> populateIntermediateTable({
  required String intermediateTableIdentifier,
  required String membershipIdentifier,
  String? analysisPayerAccountId,
  IntermediateTableComputeConfiguration? computeConfiguration,
  Map<String, String>? parameters,
}) async {
  final $payload = <String, dynamic>{
    if (analysisPayerAccountId != null)
      'analysisPayerAccountId': analysisPayerAccountId,
    if (computeConfiguration != null)
      'computeConfiguration': computeConfiguration,
    if (parameters != null) 'parameters': parameters,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri:
        '/memberships/${Uri.encodeComponent(membershipIdentifier)}/intermediateTables/${Uri.encodeComponent(intermediateTableIdentifier)}/populate',
    exceptionFnMap: _exceptionFns,
  );
  return PopulateIntermediateTableOutput.fromJson(response);
}