Summary
Creates a replica to a geodatabase from a specified list of feature classes, layers, datasets, and tables in an enterprise geodatabase.
Usage
All datasets must be from the same enterprise geodatabase.
The data that will be replicated must be registered as traditional versioned but not with the option to move edits to base.
The connected database user must also have write permissions to the data.
For two-way and both types of one-way replicas, all datasets must have a GlobalID column.
For check-out and one-way replicas, the child replica geodatabase can be an enterprise or file geodatabase.
For two-way and one-way child-to-parent replicas, the child geodatabase must be an enterprise geodatabase.
To use archiving for one-way replicas, the parent workspace must be connected to the default version. For one-way child-to-parent replicas, the child workspace must be connected to the default version.
You can replicate all of the data in the datasets or replicate subsets of the data. There are three ways to specify the subsets of data to be replicated:
- Use definition queries on the data.
- Specify an extent using the geoprocessing Extent environment setting.
- Use the Geometry Features parameter.
For tables, the default filter is Schema Only; only the schema for the table will be replicated. To apply a filter to a table, first create a table view with the desired filters. Then use this as input to the Create Replica tool. See Make Table View for more information. For more information about filters and replication, see Prepare data for replication.
The Replica Geometry Features parameter can be used to define the replica geometry. You can also use the Extent environment setting to define the replica geometry.
- If the Replica Geometry Features parameter is set, it will be used as the replica geometry.
The replica geometry features can be points, lines, or polygons.
A feature layer used for the replica geometry features can contain one or more features. If there is more than one, the geometries are merged, and only data that intersects the merged geometries will be replicated.
If filters (such as selection or definition query) have been defined on the replica geometry features, only features that satisfy these filters will be used to define the replica geometry. See Prepare data for replication for more information.
The Re-use Schema parameter options are only available for checkout replicas.
Syntax
arcpy.management.CreateReplica(in_data, in_type, out_geodatabase, out_name, {access_type}, {initial_data_sender}, {expand_feature_classes_and_tables}, {reuse_schema}, {get_related_data}, {geometry_features}, {archiving}, {register_existing_data})
Parameter | Explanation | Data Type |
in_data [in_data,...] | The data to be replicated. This list consists of layers and tables referencing versioned, editable data from an enterprise geodatabase. | Table View; Dataset |
in_type | Specifies the type of replica to create.
| String |
out_geodatabase | The local geodatabase that will host the child replica. Geodata services are used to represent remote geodatabases. The geodatabase can be an enterprise or file geodatabase. For two-way replicas, the child geodatabase must be an enterprise geodatabase. For one-way and check-out replicas, the geodatabase can be a file or enterprise geodatabase. File geodatabases must already exist before running this tool. | Workspace; GeoDataServer |
out_name | The name that identifies the replica. | String |
access_type (Optional) | Specifies the type of replica access.
| String |
initial_data_sender (Optional) | Specifies which replica can send changes when in disconnected mode. If you are working in a connected mode, this parameter is inconsequential. This ensures that the relative replica doesn't send updates until the changes are first received from the initial data sender.
| String |
expand_feature_classes_and_tables (Optional) | Specifies whether expanded feature classes and tables—such as those in networks, topologies, or relationship classes—will be added.
| String |
reuse_schema (Optional) | Specifies whether a geodatabase that contains the schema of the data to be replicated will be reused. This reduces the amount of time required to replicate the data. This option is only available for check-out replicas.
| String |
get_related_data (Optional) | Specifies whether rows related to rows already in the replica will be replicated. For example, consider a feature (f1) inside the replication filter and a related feature (f2) from another class outside the filter. Feature f2 is included in the replica if you choose to get related data.
| String |
geometry_features (Optional) | The features used to define the area to replicate. | Feature Layer |
archiving (Optional) | Specifies whether the archive class will be used to track changes instead of the versioning delta tables. This is only available for one-way replicas.
| Boolean |
register_existing_data (Optional) | Specifies whether the data already existing in the child geodatabase will be used to define the replica datasets. The datasets in the child geodatabase must have the same names as the datasets in the parent geodatabase.
| Boolean |
Derived Output
Name | Explanation | Data Type |
out_child_geodatabase | The output child geodatabase. | Workspace |
output_replica_name | The name of the output replica. | String |
Code sample
The following Python Window script demonstrates how to use the CreateReplica function in the Python window.
import arcpy
arcpy.env.workspace = "C:/Data/MyData.sde"
arcpy.CreateReplica_management("roads", "ONE_WAY_REPLICA",
"C:\Data\MyTargetGDB.gdb", "MyReplica", "FULL",
"PARENT_DATA_SENDER", "USE_DEFAULTS",
"DO_NOT_REUSE", "TRUE")
The following Python script demonstrates how to use the CreateReplica function in a stand-alone Python script.
# Name: CreateReplica_Example2.py
# Description: Create a one-way replica of a Feature Dataset to a file geodatabase.
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "C:/Data/MyData.sde"
# Set local variables
in_data = "Parks" # a feature dataset
replica_type = "ONE_WAY_REPLICA"
output_workspace = "C:\Data\MyTargetGDB.gdb"
replica_name = "MyReplica"
access_type = "FULL"
initial_sender = "PARENT_DATA_SENDER"
expand = "USE_DEFAULTS"
reuse_schema = "DO_NOT_REUSE"
get_related = "GET_RELATED"
replica_geometry = "LA_County"
archiving = "DO_NOT_USE_ARCHIVING"
# Execute CreateReplica
arcpy.CreateReplica_management(in_data, replica_type, output_workspace,
replica_name, access_type, initial_sender,
expand, reuse_schema, get_related,
replica_geometry, archiving)
Environments
Licensing information
- Basic: No
- Standard: Yes
- Advanced: Yes