flexrep:target-create( $cfg as element(flexrep:configuration), $name as xs:string, $urls as xs:string*, $retry-seconds-min as xs:unsignedInt?, $retry-seconds-max as xs:unsignedInt?, $documents-per-batch as xs:unsignedInt?, $enabled as xs:boolean?, $http-options as element(flexrep:http-options)?, $replicate-cpf as xs:boolean?, $filter-module as xs:string?, $filter-options as element(flexrep:filter-options)?, [$user-id as xs:unsignedLong?], [$immediate-push as xs:boolean] ) as element(flexrep:configuration)
This function creates a new target and add it to the specified
configuration. A random ID is chosen for the target. You must subsequently use
flexrep:configuration-insert
to write the modified configuration
into the database.
Parameters | |
---|---|
cfg | The configuration to which to add the target. |
name | The name of the target. |
urls | The URLs to be used to push replicated content to, with the load spread across them if there is more than one. If none are specified, the target is expected to do a pull. |
retry-seconds-min | The minimum time to wait before scheduling a push retry. |
retry-seconds-max | The maximum time to wait before scheduling a push retry. |
documents-per-batch | The number of documents to attempt to replicate from a single invocation of the scheduled replication task. |
enabled | Specifies whether or not this target is enabled. |
http-options |
HTTP options to use when connecting to the target. Specify the
options as an XML element named http-options in the
"flexrep" namespace. The options element can contain any of the
options from the xdmp:http-get
function. When including an option from another function, use
use the namespace appropriate to that function in the option
child element. For more details, see the Examples.
|
replicate-cpf |
Determines whether to replicate CPF. Set to true to replicate CPF. Otherwise
set to false . In most circumstances, you will not want to replicate CPF.
|
filter-module | A main module to filter replication attempts. |
filter-options |
Options to apply when invoking an outbound filter module.
Specify the options as an XML element named filter-options
in the "flexrep" namespace. The options element can contain any of the
options from
xdmp:invoke. The option
child elements from xdmp:invoke must be in the "xdmp:eval" namespace.
|
user-id | The user ID if this is a query-based target. |
immediate-push |
Specifies whether to push to the query-based target immediately. The
default is true .
|
xquery version "1.0-ml"; import module namespace flexrep = "http://marklogic.com/xdmp/flexible-replication" at "/MarkLogic/flexrep.xqy"; (: Obtain the ID of the replicated CPF domain from the Triggers database. :) let $domain:= xdmp:eval( 'xquery version "1.0-ml"; import module namespace dom = "http://marklogic.com/cpf/domains" at "/MarkLogic/cpf/domains.xqy"; fn:data(dom:get( "Replicated Content" )//dom:domain-id)', (), <options xmlns="xdmp:eval"> <database>{xdmp:database("MyTriggers")}</database> </options>) (: Obtain the replication configuration. :) let $cfg := flexrep:configuration-get($domain, fn:true()) (: Specify the HTTP options for the replication target. :) let $http-options := <flexrep:http-options xmlns:flexrep="http://marklogic.com/xdmp/flexible-replication"> <http:authentication xmlns:http="xdmp:http"> <http:username>admin</http:username> <http:password>admin</http:password> </http:authentication> <http:client-cert xmlns:http="xdmp:http"/> <http:client-key xmlns:http="xdmp:http"/> <http:pass-phrase xmlns:http="xdmp:http"/> </flexrep:http-options> (: Create the replication target. :) let $cfg := flexrep:target-create( $cfg, "Replica", "http://localhost:8011/", 60, 300, 10, fn:true(), $http-options, fn:false(), (), () ) (: Insert the changes to the replication configuration. :) return flexrep:configuration-insert($cfg) (: Creates a replication target, named "Replica." :)