Skip to content

start_metadata_model_export_as_script

start_metadata_model_export_as_script(
    migration_project_identifier: MigrationProjectIdentifier,
    selection_rules: String,
    origin: OriginTypeValue,
    *,
    config_overrides: Optional[DatabaseMigrationServiceClientConfig] = None,
    file_name: Optional[String] = None,
) -> StartMetadataModelExportAsScriptResponse

Queues an export of metadata models (database objects such as tables, views, and procedures) as a data definition language (DDL) script. The script is stored as a ZIP archive in the Amazon S3 bucket associated with the migration project. If other requests created by Start* operations are already in the migration project's queue, the export begins after they complete.

When exporting from the target metadata tree, the export applies only to metadata models created by conversion. Metadata models imported from the database are skipped.

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

Required permissions: dms:StartMetadataModelExportAsScripts. 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 as a SQL script. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

    Usage:

    • Accepts source or target selection rules depending on the Origin parameter. The server-name in the object locator must match the corresponding data provider.

    • Supports explicit, include, and exclude rule actions.

  • origin (OriginTypeValue) –

    Specifies the metadata tree to export from.

  • file_name (Optional[String], default: None ) –

    The name for the exported file. When you omit this parameter, the service generates a name from the data provider engine name and an export timestamp.

Raises:

Examples:

Export converted metadata models as DDL scripts The following example queues an export of converted metadata models for all objects in the ExampleSchema schema as data definition language (DDL) scripts to the S3 bucket associated with the migration project.

>>> client.start_metadata_model_export_as_script(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"}]}', origin='TARGET', file_name='ExampleScript')
Source code in docs_src/capo_database_migration_service/_services/database_migration_service.py
def start_metadata_model_export_as_script(
    self,
    migration_project_identifier: "capo_database_migration_service.types.migration_project_identifier.MigrationProjectIdentifier",
    selection_rules: "capo_database_migration_service.types.string.String",
    origin: "capo_database_migration_service.types.origin_type_value.OriginTypeValue",
    *,
    config_overrides: Optional[DatabaseMigrationServiceClientConfig] = None,
    file_name: Optional[
        "capo_database_migration_service.types.string.String"
    ] = None,
) -> "capo_database_migration_service.types.start_metadata_model_export_as_script_response.StartMetadataModelExportAsScriptResponse":
    """<p>Queues an export of metadata models (database objects such as tables, views, and procedures) as a data definition language (DDL) script. The script is stored as a ZIP archive in the Amazon S3 bucket associated with the migration project. 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>When exporting from the target metadata tree, the export applies only to metadata models created by conversion. Metadata models imported from the database are skipped.</p> <p>To check the status of the export request, call <a href="https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeMetadataModelExportsAsScript.html">DescribeMetadataModelExportsAsScript</a> using the returned <code>RequestIdentifier</code> as a filter.</p> <p> <b>Required permissions:</b> <code>dms:StartMetadataModelExportAsScripts</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 as a SQL script. 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 source or target selection rules depending on the <code>Origin</code> parameter. The <code>server-name</code> in the object locator must match the corresponding data provider.</p> </li> <li> <p>Supports <code>explicit</code>, <code>include</code>, and <code>exclude</code> rule actions.</p> </li> </ul>
        origin: <p>Specifies the metadata tree to export from.</p>
        file_name: <p>The name for the exported file. When you omit this parameter, the service generates a name from the data provider engine name and an export timestamp.</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 as DDL scripts
        The following example queues an export of converted metadata models for all objects in the ExampleSchema schema as data definition language (DDL) scripts to the S3 bucket associated with the migration project.

        >>> client.start_metadata_model_export_as_script(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"}]}', origin='TARGET', file_name='ExampleScript')
    """

    def _handler(
        req: "OperationRequest[capo_database_migration_service.types.start_metadata_model_export_as_script_message.StartMetadataModelExportAsScriptMessage]",
    ) -> OperationResponse[
        "capo_database_migration_service.types.start_metadata_model_export_as_script_response.StartMetadataModelExportAsScriptResponse"
    ]:
        import capo_database_migration_service._operations.amazon_dm_sv20160101.start_metadata_model_export_as_script

        output, http_response = (
            capo_database_migration_service._operations.amazon_dm_sv20160101.start_metadata_model_export_as_script.start_metadata_model_export_as_script(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartMetadataModelExportAsScript")
    )
    input_: capo_database_migration_service.types.start_metadata_model_export_as_script_message.StartMetadataModelExportAsScriptMessage = {
        "migration_project_identifier": migration_project_identifier,
        "selection_rules": selection_rules,
        "origin": origin,
    }
    if file_name is not None:
        input_["file_name"] = file_name

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output