populateIntermediateTable method
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);
}