Skip to content

start_metadata_model_export_to_target async

start_metadata_model_export_to_target(
    migration_project_identifier: MigrationProjectIdentifier,
    selection_rules: String,
    *,
    config_overrides: Optional[AsyncDatabaseMigrationServiceClientConfig] = None,
    overwrite_extension_pack: Optional[BooleanOptional] = None,
) -> StartMetadataModelExportToTargetResponse

Queues an export of the selected converted metadata models (database objects such as tables, views, and procedures) to your target database. If other requests created by Start* operations are already in the migration project's queue, the export begins after they complete.

This operation requires a non-virtual target data provider.

The export applies only metadata models created by conversion. Metadata models imported from the database are skipped.

If objects with the same name already exist on the target database, the export overwrites them.

The operation installs the extension pack on the target database. For more information, see Using extension packs in DMS Schema Conversion.

To check the status of the export request, call DescribeMetadataModelExportsToTarget using the returned RequestIdentifier as a filter.

Required permissions: dms:StartMetadataModelExportToTarget. For more information, see Actions, resources, and condition keys for Database Migration Service.

Parameters:

  • migration_project_identifier (MigrationProjectIdentifier) –

    The migration project name or Amazon Resource Name (ARN).

  • selection_rules (String) –

    A JSON string that identifies the metadata models to export to the target database. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

    Usage:

    • Accepts only target selection rules, where server-name in the object locator matches the target data provider.

    • Supports explicit, include, and exclude rule actions.

  • overwrite_extension_pack (Optional[BooleanOptional], default: None ) –

    Specifies whether to overwrite the extension pack if one already exists on the target database. The default value is true.

Raises:

Examples:

Export converted metadata models to the target database The following example queues an export of converted metadata models for all objects in the ExampleSchema schema to the target database.

>>> await client.start_metadata_model_export_to_target(migration_project_identifier='arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS', selection_rules='{"rules": [{"rule-type": "selection","rule-id": "1","rule-name": "1","object-locator": {"server-name": "example-target-server.us-east-1.rds.amazonaws.com", "schema-name": "ExampleSchema"},"rule-action": "explicit"}]}', overwrite_extension_pack=True)
Source code in docs_src/capo_database_migration_service/_services/async_database_migration_service.py
async def start_metadata_model_export_to_target(
    self,
    migration_project_identifier: "capo_database_migration_service.types.migration_project_identifier.MigrationProjectIdentifier",
    selection_rules: "capo_database_migration_service.types.string.String",
    *,
    config_overrides: Optional[AsyncDatabaseMigrationServiceClientConfig] = None,
    overwrite_extension_pack: Optional[
        "capo_database_migration_service.types.boolean_optional.BooleanOptional"
    ] = None,
) -> "capo_database_migration_service.types.start_metadata_model_export_to_target_response.StartMetadataModelExportToTargetResponse":
    """<p>Queues an export of the selected converted metadata models (database objects such as tables, views, and procedures) to your target database. If other requests created by <code>Start*</code> operations are already in the migration project's queue, the export begins after they complete.</p> <p>This operation requires a non-virtual target data provider.</p> <p>The export applies only metadata models created by conversion. Metadata models imported from the database are skipped.</p> <note> <p>If objects with the same name already exist on the target database, the export overwrites them.</p> </note> <p>The operation installs the extension pack on the target database. For more information, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/extension-pack.html">Using extension packs in DMS Schema Conversion</a>.</p> <p>To check the status of the export request, call <a href="https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeMetadataModelExportsToTarget.html">DescribeMetadataModelExportsToTarget</a> using the returned <code>RequestIdentifier</code> as a filter.</p> <p> <b>Required permissions:</b> <code>dms:StartMetadataModelExportToTarget</code>. For more information, see <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdatabasemigrationservice.html">Actions, resources, and condition keys for Database Migration Service</a>.</p>

    Args:
        migration_project_identifier: <p>The migration project name or Amazon Resource Name (ARN).</p>
        selection_rules: <p>A JSON string that identifies the metadata models to export to the target database. For the selection rule format and examples, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/sc-selection-rules.html">Selection rules in DMS Schema Conversion</a>.</p> <p>Usage:</p> <ul> <li> <p>Accepts only target selection rules, where <code>server-name</code> in the object locator matches the target data provider.</p> </li> <li> <p>Supports <code>explicit</code>, <code>include</code>, and <code>exclude</code> rule actions.</p> </li> </ul>
        overwrite_extension_pack: <p>Specifies whether to overwrite the extension pack if one already exists on the target database. The default value is <code>true</code>.</p>

    Raises:
        capo_database_migration_service.errors.access_denied_fault.AccessDeniedFault: <p>DMS was denied access to the endpoint. Check that the role is correctly configured.</p>
        capo_database_migration_service.errors.invalid_resource_state_fault.InvalidResourceStateFault: <p>The resource is in a state that prevents it from being used for database migration.</p>
        capo_database_migration_service.errors.kms_key_not_accessible_fault.KMSKeyNotAccessibleFault: <p>DMS cannot access the KMS key.</p>
        capo_database_migration_service.errors.resource_already_exists_fault.ResourceAlreadyExistsFault: <p>The resource you are attempting to create already exists.</p>
        capo_database_migration_service.errors.resource_not_found_fault.ResourceNotFoundFault: <p>The resource could not be found.</p>
        capo_database_migration_service.errors.resource_quota_exceeded_fault.ResourceQuotaExceededFault: <p>The quota for this resource quota has been exceeded.</p>
        capo_database_migration_service.errors.s3_access_denied_fault.S3AccessDeniedFault: <p>Insufficient privileges are preventing access to an Amazon S3 object.</p>
        capo_database_migration_service.errors.s3_resource_not_found_fault.S3ResourceNotFoundFault: <p>A specified Amazon S3 bucket, bucket folder, or other object can't be found.</p>
        capo_database_migration_service.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        Export converted metadata models to the target database
        The following example queues an export of converted metadata models for all objects in the ExampleSchema schema to the target database.

        >>> await client.start_metadata_model_export_to_target(migration_project_identifier='arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS', selection_rules='{"rules": [{"rule-type": "selection","rule-id": "1","rule-name": "1","object-locator": {"server-name": "example-target-server.us-east-1.rds.amazonaws.com", "schema-name": "ExampleSchema"},"rule-action": "explicit"}]}', overwrite_extension_pack=True)
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_database_migration_service.types.start_metadata_model_export_to_target_message.StartMetadataModelExportToTargetMessage]",
    ) -> AsyncOperationResponse[
        "capo_database_migration_service.types.start_metadata_model_export_to_target_response.StartMetadataModelExportToTargetResponse"
    ]:
        import capo_database_migration_service._operations.amazon_dm_sv20160101.start_metadata_model_export_to_target

        (
            output,
            http_response,
        ) = await capo_database_migration_service._operations.amazon_dm_sv20160101.start_metadata_model_export_to_target.async_start_metadata_model_export_to_target(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartMetadataModelExportToTarget")
    )
    input_: capo_database_migration_service.types.start_metadata_model_export_to_target_message.StartMetadataModelExportToTargetMessage = {
        "migration_project_identifier": migration_project_identifier,
        "selection_rules": selection_rules,
    }
    if overwrite_extension_pack is not None:
        input_["overwrite_extension_pack"] = overwrite_extension_pack

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