Skip to content

start_materialized_view_refresh_task_run async

start_materialized_view_refresh_task_run(
    catalog_id: CatalogIdString,
    database_name: NameString,
    table_name: NameString,
    *,
    config_overrides: Optional[AsyncGlueClientConfig] = None,
    full_refresh: Optional[NullableBoolean] = None,
) -> StartMaterializedViewRefreshTaskRunResponse

Starts a materialized view refresh task run for a specified materialized view.

Parameters:

  • catalog_id (CatalogIdString) –

    The ID of the Data Catalog where the table reside. If none is supplied, the account ID is used by default.

  • database_name (NameString) –

    The name of the database where the table resides.

  • table_name (NameString) –

    The name of the materialized view to run the refresh task for.

  • full_refresh (Optional[NullableBoolean], default: None ) –

    Specifies whether this is a full refresh of the task run.

Raises:

Source code in docs_src/capo_glue/_services/async_glue.py
async def start_materialized_view_refresh_task_run(
    self,
    catalog_id: "capo_glue.types.catalog_id_string.CatalogIdString",
    database_name: "capo_glue.types.name_string.NameString",
    table_name: "capo_glue.types.name_string.NameString",
    *,
    config_overrides: Optional[AsyncGlueClientConfig] = None,
    full_refresh: Optional[
        "capo_glue.types.nullable_boolean.NullableBoolean"
    ] = None,
) -> "capo_glue.types.start_materialized_view_refresh_task_run_response.StartMaterializedViewRefreshTaskRunResponse":
    """<p>Starts a materialized view refresh task run for a specified materialized view.</p>

    Args:
        catalog_id: <p>The ID of the Data Catalog where the table reside. If none is supplied, the account ID is used by default.</p>
        database_name: <p>The name of the database where the table resides.</p>
        table_name: <p>The name of the materialized view to run the refresh task for.</p>
        full_refresh: <p>Specifies whether this is a full refresh of the task run.</p>

    Raises:
        capo_glue.errors.access_denied_exception.AccessDeniedException: <p>Access to a resource was denied.</p>
        capo_glue.errors.entity_not_found_exception.EntityNotFoundException: <p>A specified entity does not exist</p>
        capo_glue.errors.invalid_input_exception.InvalidInputException: <p>The input provided was not valid.</p>
        capo_glue.errors.materialized_view_refresh_task_running_exception.MaterializedViewRefreshTaskRunningException: <p>Exception thrown when a task is already in running state.</p>
        capo_glue.errors.operation_timeout_exception.OperationTimeoutException: <p>The operation timed out.</p>
        capo_glue.errors.resource_number_limit_exceeded_exception.ResourceNumberLimitExceededException: <p>A resource numerical limit was exceeded.</p>
        capo_glue.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_glue.types.start_materialized_view_refresh_task_run_request.StartMaterializedViewRefreshTaskRunRequest]",
    ) -> AsyncOperationResponse[
        "capo_glue.types.start_materialized_view_refresh_task_run_response.StartMaterializedViewRefreshTaskRunResponse"
    ]:
        import capo_glue._operations.aws_glue.start_materialized_view_refresh_task_run

        (
            output,
            http_response,
        ) = await capo_glue._operations.aws_glue.start_materialized_view_refresh_task_run.async_start_materialized_view_refresh_task_run(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartMaterializedViewRefreshTaskRun")
    )
    input_: capo_glue.types.start_materialized_view_refresh_task_run_request.StartMaterializedViewRefreshTaskRunRequest = {
        "catalog_id": catalog_id,
        "database_name": database_name,
        "table_name": table_name,
    }
    if full_refresh is not None:
        input_["full_refresh"] = full_refresh

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output