Konfigurieren der Quellspezifikation für Selbstbedienungsquellen (Batch-SDK)
Quellenspezifikationen enthalten quellenspezifische Informationen, darunter Attribute, die sich auf die Kategorie einer Quelle, den Beta-Status und das Katalogsymbol beziehen. Sie enthalten auch hilfreiche Informationen wie URL-Parameter, Inhalte, Kopfzeile und Zeitplan. Quellenspezifikationen beschreiben außerdem das Schema der Parameter, die zum Erstellen einer Quellverbindung aus einer Basisverbindung erforderlich sind. Das Schema ist erforderlich, um eine Quellverbindung zu erstellen.
Ein Beispiel für eine vollständig angegebene Quellspezifikation finden Sie im Anhang.
"sourceSpec": {
"attributes": {
"uiAttributes": {
"isSource": true,
"isPreview": true,
"isBeta": true,
"category": {
"key": "protocols"
},
"icon": {
"key": "genericRestIcon"
},
"description": {
"key": "genericRestDescription"
},
"label": {
"key": "genericRestLabel"
}
},
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"description": "Defines static and user input parameters to fetch resource values.",
"properties": {
"urlParams": {
"type": "object",
"properties": {
"host": {
"type": "string",
"description": "Enter resource url host path.",
"example": "https://{domain}.api.mailchimp.com"
},
"path": {
"type": "string",
"description": "Enter resource path",
"example": "/3.0/reports/campaignId/email-activity"
},
"method": {
"type": "string",
"description": "HTTP method type.",
"enum": [
"GET",
"POST"
]
},
"queryParams": {
"type": "object",
"description": "The query parameters in json format",
}
},
"required": [
"host",
"path",
"method"
]
},
"headerParams": {
"type": "object",
"description": "The header parameters in json format",
},
"contentPath": {
"type": "object",
"description": "The parameters required for main collection content.",
"properties": {
"path": {
"description": "The path to the main content.",
"type": "string",
"example": "$.emails"
},
"skipAttributes": {
"type": "array",
"description": "The list of attributes that needs to be skipped while fattening the array.",
"example": "[total_items]",
"items": {
"type": "string"
}
},
"keepAttributes": {
"type": "array",
"description": "The list of attributes that needs to be kept while fattening the array.",
"example": "[total_items]",
"items": {
"type": "string"
}
},
"overrideWrapperAttribute": {
"type": "string",
"description": "The new name to be used for the root content path node.",
"example": "email"
}
},
"required": [
"path"
]
},
"explodeEntityPath": {
"type": "object",
"description": "The parameters required for the sub-array content.",
"properties": {
"path": {
"description": "The path to the sub-array content.",
"type": "string",
"example": "$.email.activity"
},
"skipAttributes": {
"type": "array",
"description": "The list of attributes that needs to be skipped while fattening sub-array.",
"example": "[total_items]",
"items": {
"type": "string"
}
},
"keepAttributes": {
"type": "array",
"description": "The list of attributes that needs to be kept while fattening the sub-array.",
"example": "[total_items]",
"items": {
"type": "string"
}
},
"overrideWrapperAttribute": {
"type": "string",
"description": "The new name to be used for the root content path node.",
"example": "activity"
}
},
"required": [
"path"
]
},
"paginationParams": {
"type": "object",
"description": "The parameters required to fetch data using pagination.",
"properties": {
"type": {
"description": "The pagination fetch type.",
"type": "string",
"enum": [
"OFFSET",
"POINTER"
]
},
"limitName": {
"type": "string",
"description": "The limit property name",
"example": "limit or count"
},
"limitValue": {
"type": "integer",
"description": "The number of records to fetch per page.",
"example": "limit=10 or count=10"
},
"offsetName": {
"type": "string",
"description": "The offset property name",
"example": "offset"
},
"pointerPath": {
"type": "string",
"description": "The path to pointer property",
"example": "$.paging.next"
}
},
"required": [
"type",
"limitName",
"limitValue"
]
},
"scheduleParams": {
"type": "object",
"description": "The parameters required to fetch data for batch schedule.",
"properties": {
"scheduleStartParamName": {
"type": "string",
"description": "The order property name to get the order by date."
},
"scheduleEndParamName": {
"type": "string",
"description": "The order property name to get the order by date."
},
"scheduleStartParamFormat": {
"type": "string",
"description": "The order property name to get the order by date.",
"example": "yyyy-MM-ddTHH:mm:ssZ"
},
"scheduleEndParamFormat": {
"type": "string",
"description": "The order property name to get the order by date.",
"example": "yyyy-MM-ddTHH:mm:ssZ"
}
},
"required": [
"scheduleStartParamName",
"scheduleEndParamName"
]
}
},
"required": [
"urlParams",
"contentPath",
"paginationParams",
"scheduleParams"
]
}
},
}
sourceSpec.attributessourceSpec.attributes.uiAttributessourceSpec.attributes.uiAttributes.isPreviewtruefalse
sourceSpec.attributes.uiAttributes.isBetatruefalse
sourceSpec.attributes.uiAttributes.categoryadvertisingcrmcustomer successdatabaseecommercemarketing automationpaymentsprotocols
sourceSpec.attributes.uiAttributes.iconmailchimp-icon.svgsourceSpec.attributes.uiAttributes.descriptionsourceSpec.attributes.uiAttributes.labelsourceSpec.attributes.spec.properties.urlParamssourceSpec.attributes.spec.properties.urlParams.properties.path/3.0/reports/${campaignId}/email-activitysourceSpec.attributes.spec.properties.urlParams.properties.methodGET, POSTsourceSpec.attributes.spec.properties.urlParams.properties.queryParams${USER_PARAMETER}."queryParams" : {"key" : "value", "key1" : "value1"} wird wie folgt an die Quell-URL angehängt: /?key=value&key1=value1sourceSpec.attributes.spec.properties.spec.properties.headerParams"headerParams" : {"Content-Type" : "application/json", "x-api-key" : "key"}sourceSpec.attributes.spec.properties.bodyParamssourceSpec.attributes.spec.properties.contentPathsourceSpec.attributes.spec.properties.contentPath.path$.emailssourceSpec.attributes.spec.properties.contentPath.skipAttributes[total_items]sourceSpec.attributes.spec.properties.contentPath.keepAttributes[total_items]sourceSpec.attributes.spec.properties.contentPath.overrideWrapperAttributecontentPath angegeben haben, zu überschreiben.emailsourceSpec.attributes.spec.properties.explodeEntityPathsourceSpec.attributes.spec.properties.explodeEntityPath.path$.email.activitysourceSpec.attributes.spec.properties.explodeEntityPath.skipAttributes[total_items]sourceSpec.attributes.spec.properties.explodeEntityPath.keepAttributes[total_items]sourceSpec.attributes.spec.properties.explodeEntityPath.overrideWrapperAttributeexplodeEntityPath angegebenen Wert des Attributnamens zu überschreiben.activitysourceSpec.attributes.spec.properties.paginationParamssourceSpec.attributes.spec.properties.paginationParams.typeOFFSET: Dieser Paginierungstyp ermöglicht es, die Ergebnisse zu analysieren, indem Sie einen Index, von dem aus das resultierende Array gestartet werden soll, und eine Begrenzung dafür angeben, wie viele Ergebnisse zurückgegeben werden.POINTER: Dieser Paginierungstyp ermöglicht es, mit einerpointer-Variablen auf ein bestimmtes Element zu verweisen, das mit einer Anfrage gesendet werden muss. Die Paginierung des Zeigertyps erfordert einen Pfad in der Payload, der auf die nächste Seite verweist.CONTINUATION_TOKEN: Dieser Paginierungstyp ermöglicht es Ihnen, Ihre Abfrage- oder Kopfzeilenparameter mit einem Fortsetzungs-Token anzuhängen, um verbleibende Rückgabedaten aus Ihrer Quelle abzurufen, die aufgrund eines vorab festgelegten Maximums zunächst nicht zurückgegeben wurden.PAGE: Dieser Paginierungstyp ermöglicht es, Ihren Abfrageparameter mit einem Paging-Parameter anzuhängen, um die Rückgabedaten nach Seiten zu durchlaufen, beginnend bei Seite null.NONE: Dieser Paginierungstyp kann für Quellen verwendet werden, die keinen der verfügbaren Paginierungstypen unterstützen. PaginierungstypNONEgibt die gesamten Antwortdaten nach einer Anfrage zurück.
sourceSpec.attributes.spec.properties.paginationParams.limitNamelimit oder countsourceSpec.attributes.spec.properties.paginationParams.limitValuelimit=10 oder count=10sourceSpec.attributes.spec.properties.paginationParams.offSetNameoffset festgesetzt ist.offsetsourceSpec.attributes.spec.properties.paginationParams.pointerPathpointer eingestellt ist.pointersourceSpec.attributes.spec.properties.scheduleParamsstartTime und endTime, mit denen Sie bestimmte Zeitintervalle für Batch-Ausführungen festlegen können. Dadurch wird sichergestellt, dass in einer vorherigen Batch-Ausführung abgerufene Einträge nicht erneut abgerufen werden.sourceSpec.attributes.spec.properties.scheduleParams.scheduleStartParamNamesince_last_changedsourceSpec.attributes.spec.properties.scheduleParams.scheduleEndParamNamebefore_last_changedsourceSpec.attributes.spec.properties.scheduleParams.scheduleStartParamFormatscheduleStartParamName.yyyy-MM-ddTHH:mm:ssZsourceSpec.attributes.spec.properties.scheduleParams.scheduleEndParamFormatscheduleEndParamName.yyyy-MM-ddTHH:mm:ssZsourceSpec.spec.propertiesspec.properties.Weitere Ressourcen appendix
In den folgenden Abschnitten finden Sie Informationen zu zusätzlichen Konfigurationen, die Sie an Ihren sourceSpec vornehmen können, einschließlich erweiterter Zeitpläne und benutzerdefinierter Schemata.
Beispiel für Inhaltspfad content-path
Das Folgende ist ein Beispiel für den Inhalt der contentPath-Eigenschaft in einer MailChimp Members-Verbindungsspezifikation.
"contentPath": {
"path": "$.members",
"skipAttributes": [
"_links",
"total_items",
"list_id"
],
"overrideWrapperAttribute": "member"
}
spec.properties-Beispiel für Benutzereingabe user-input
Das Folgende ist ein Beispiel für ein vom Benutzer bereitgestelltes spec.properties unter Verwendung einer MailChimp Members-Verbindungsspezifikation.
In diesem Beispiel wird listId als Teil von urlParams.path bereitgestellt. Wenn Sie listId von einem Kunden abrufen müssen, müssen Sie es auch als Teil von spec.properties definieren.
"urlParams": {
"path": "/3.0/lists/${listId}/members",
"method": "GET"
}
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"description": "Define user input parameters to fetch resource values.",
"properties": {
"listId": {
"type": "string",
"description": "listId for which members need to fetch."
}
}
}
Beispiel für Quellspezifikation source-spec
Im Folgenden finden Sie eine abgeschlossene Quellspezifikation mit MailChimp Members:
"sourceSpec": {
"attributes": {
"uiAttributes": {
"isSource": true,
"isPreview": true,
"isBeta": true,
"category": {
"key": "marketingAutomation"
},
"icon": {
"key": "mailchimpMembersIcon"
},
"description": {
"key": "mailchimpMembersDescription"
},
"label": {
"key": "mailchimpMembersLabel"
}
},
"urlParams": {
"host": "https://{domain}.api.mailchimp.com",
"path": "/3.0/lists/${listId}/members",
"method": "GET"
},
"contentPath": {
"path": "$.members",
"skipAttributes": [
"_links",
"total_items",
"list_id"
],
"overrideWrapperAttribute": "member"
},
"paginationParams": {
"type": "OFFSET",
"limitName": "count",
"limitValue": "100",
"offSetName": "offset"
},
"scheduleParams": {
"scheduleStartParamName": "since_last_changed",
"scheduleEndParamName": "before_last_changed",
"scheduleStartParamFormat": "yyyy-MM-ddTHH:mm:ss:fffffffK",
"scheduleEndParamFormat": "yyyy-MM-ddTHH:mm:ss:fffffffK"
}
},
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"description": "Define user input parameters to fetch resource values.",
"properties": {
"listId": {
"type": "string",
"description": "listId for which members need to fetch."
}
}
}
}
Konfigurieren verschiedener Paginierungstypen für Ihre Quelle pagination
Im Folgenden finden Sie Beispiele für andere Paginierungstypen, die von Selbstbedienungsquellen (Batch-SDK) unterstützt werden:
Dieser Paginierungstyp ermöglicht es, die Ergebnisse zu analysieren, indem Sie einen Index, von dem aus das resultierende Array gestartet werden soll, und eine Begrenzung dafür angeben, wie viele Ergebnisse zurückgegeben werden. Beispiel:
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 | |
|---|---|
| Eigenschaft | Beschreibung |
type |
Die Art der Paginierung, die zur Rückgabe von Daten verwendet wird. |
limitName |
Name des Limits, mit dem die API die Anzahl der Einträge angeben kann, die auf einer Seite abgerufen werden sollen. |
limitValue |
Anzahl der Einträge, die auf einer Seite abgerufen werden sollen. |
offSetName |
Name des Offset-Attributs. Ist erforderlich, wenn der Paginierungstyp auf offset festgesetzt ist. |
endConditionName |
Ein benutzerdefinierter Wert, der die Bedingung angibt, die die Paginierungsschleife in der nächsten HTTP-Anfrage beendet. Sie müssen den Attributnamen angeben, auf den Sie die Endbedingung setzen möchten. |
endConditionValue |
Der Attributwert, auf den die Bedingung gesetzt werden soll. |
Mit diesem Paginierungstyp können Sie eine pointer-Variable verwenden, um auf ein bestimmtes Element zu verweisen, das mit einer Anfrage gesendet werden muss. Die Paginierung des Zeigertyps erfordert einen Pfad in der Payload, der auf die nächste Seite verweist. Beispiel:
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 | |
|---|---|
| Eigenschaft | Beschreibung |
type |
Die Art der Paginierung, die zur Rückgabe von Daten verwendet wird. |
limitName |
Name des Limits, mit dem die API die Anzahl der Einträge angeben kann, die auf einer Seite abgerufen werden sollen. |
limitValue |
Anzahl der Einträge, die auf einer Seite abgerufen werden sollen. |
pointerPath |
Der Zeiger-Attributname. Dies erfordert den JSON-Pfad zum Attribut , das auf die nächste Seite verweist. |
Ein Fortsetzungs-Token-Typ der Paginierung gibt ein Zeichenfolgen-Token zurück, das angibt, dass es mehr Elemente gibt, die aufgrund einer vordefinierten maximalen Anzahl von Elementen, die in einer einzelnen Antwort zurückgegeben werden können, nicht zurückgegeben werden konnten.
Eine Quelle, die die Paginierung vom Typ Fortsetzungs-Token unterstützt, kann einen Paginierungsparameter ähnlich dem folgenden aufweisen:
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 | |
|---|---|
| Eigenschaft | Beschreibung |
type |
Die Art der Paginierung, die zur Rückgabe von Daten verwendet wird. |
continuationTokenPath |
Der Wert, der an die Abfrageparameter angehängt werden muss, um zur nächsten Seite der zurückgegebenen Ergebnisse zu wechseln. |
parameterType |
Die parameterType-Eigenschaft definiert, wo die parameterName hinzugefügt werden muss. Mit dem QUERYPARAM können Sie Ihre Abfrage an die parameterName anhängen. Mit dem HEADERPARAM können Sie Ihre parameterName zu Ihrer Header-Anfrage hinzufügen. |
parameterName |
Der Name des Parameters, der zum Einbinden des Fortsetzungstokens verwendet wird. Das Format lautet wie folgt: {PARAMETER_NAME}={CONTINUATION_TOKEN}. |
delayRequestMillis |
Mit der Eigenschaft delayRequestMillis in Paginierung können Sie die Rate der an Ihre Quelle gesendeten Anfragen steuern. Bei einigen Quellen kann die Anzahl der Anfragen, die pro Minute gestellt werden können, begrenzt sein. Beispielsweise ist Zendesk auf 100 Anfragen pro Minute beschränkt. Wenn Sie delayRequestMillis auf 850 definieren, können Sie die Quelle so konfigurieren, dass Aufrufe mit nur etwa 80 Anfragen pro Minute durchgeführt werden, was deutlich unter dem Schwellenwert von 100 Anfragen pro Minute liegt. |
Im Folgenden finden Sie ein Beispiel für eine Antwort, die mithilfe des Fortsetzungs-Token-Typs der Paginierung zurückgegeben wird:
| code language-json |
|---|
|
Mit dem PAGE Paginierungstyp können Sie die Rückgabedaten nach der Anzahl der Seiten durchlaufen, die bei null beginnen. Bei Verwendung PAGE Paginierung vom Typ müssen Sie die Anzahl der auf einer einzelnen Seite angegebenen Datensätze angeben.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 layout-auto | |
|---|---|
| Eigenschaft | Beschreibung |
type |
Die Art der Paginierung, die zur Rückgabe von Daten verwendet wird. |
limitName |
Name des Limits, mit dem die API die Anzahl der Einträge angeben kann, die auf einer Seite abgerufen werden sollen. |
limitValue |
Anzahl der Einträge, die auf einer Seite abgerufen werden sollen. |
initialPageIndex |
(Optional) Der anfängliche Seitenindex definiert die Seitenzahl, mit der die Paginierung beginnt. Dieses Feld kann für Quellen verwendet werden, bei denen die Paginierung nicht bei 0 beginnt. Wenn kein Wert angegeben wird, wird für den anfänglichen Seitenindex standardmäßig „0“ festgelegt. Dieses Feld erwartet eine Ganzzahl. |
endPageIndex |
(Optional) Mit dem Endseitenindex können Sie eine Endbedingung festlegen und die Paginierung stoppen. Dieses Feld kann verwendet werden, wenn keine standardmäßigen Endbedingungen zum Anhalten der Paginierung verfügbar sind. Dieses Feld kann auch verwendet werden, wenn die Anzahl der aufzunehmenden Seiten oder die letzte Seitenzahl über den Antwort-Header angegeben wird, was bei der Verwendung der Paginierung vom Typ PAGE üblich ist. Der Wert für den Index der Endseite kann entweder die letzte Seitenzahl oder ein Ausdruckswert vom Typ Zeichenfolge aus der Antwortkopfzeile sein. Beispielsweise können Sie headers.x-pagecount verwenden, um den Endseitenindex dem x-pagecount Wert in den Antwortkopfzeilen zuzuweisen. Hinweis: x-pagecount ist für einige Quellen ein obligatorischer Antwort-Header und enthält den Wert und die Anzahl der aufzunehmenden Seiten. |
pageParamName |
Der Name des Parameters, den Sie an Abfrageparameter anhängen müssen, um verschiedene Seiten der zurückgegebenen Daten zu durchlaufen. Beispielsweise würde https://abc.com?pageIndex=1 die zweite Seite der zurückgegebenen Payload einer API zurückgeben. |
maximumRequest |
Die maximale Anzahl von Anfragen, die eine Quelle für eine bestimmte inkrementelle Ausführung ausführen kann. Die aktuelle Standardbegrenzung ist 10000. |
Der NONE Paginierungstyp kann für Quellen verwendet werden, die keinen der verfügbaren Paginierungstypen unterstützen. Quellen, die den Paginierungstyp von NONE verwenden, geben einfach alle abrufbaren Datensätze zurück, wenn eine GET-Anfrage erfolgt.
| code language-json |
|---|
|
Erweiterte Planung für Selbstbedienungsquellen (Batch-SDK)
Konfigurieren Sie den inkrementellen und Aufstockungs-Zeitplan Ihrer Quelle mithilfe der erweiterten Planung. Mit der Eigenschaft incremental können Sie einen Zeitplan konfigurieren, in dem Ihre Quelle nur neue oder geänderte Datensätze aufnimmt, während Sie mit der Eigenschaft backfill einen Zeitplan erstellen können, um historische Daten aufzunehmen.
Mit der erweiterten Planung können Sie für Ihre Quelle spezifische Ausdrücke und Funktionen verwenden, um inkrementelle und Aufstockungspläne zu konfigurieren. Im folgenden Beispiel erfordert die Zendesk, dass der inkrementelle Zeitplan als type:user updated > {START_TIME} updated < {END_TIME} formatiert ist und type:user updated < {END_TIME} aufgestockt wird.
"scheduleParams": {
"type": "ADVANCE",
"paramFormat": "yyyy-MM-ddTHH:mm:ssK",
"incremental": "type:user updated > {START_TIME} updated < {END_TIME}",
"backfill": "type:user updated < {END_TIME}"
}
scheduleParams.typeADVANCE fest, um den erweiterten Planungstyp zu verwenden.scheduleParams.paramFormatscheduleStartParamFormat- und scheduleEndParamFormat Ihrer Quelle identisch sein.scheduleParams.incrementalscheduleParams.backfillNachdem Sie Ihre erweiterte Planung konfiguriert haben, müssen Sie sich dann im Abschnitt URL-, Text- oder Kopfzeilenparameter auf Ihre scheduleParams beziehen, je nachdem, was Ihre bestimmte Quelle unterstützt. Im folgenden Beispiel ist {SCHEDULE_QUERY} ein Platzhalter, mit dem angegeben wird, wo die inkrementellen und Aufstockungs-Planungsausdrücke verwendet werden sollen. Im Fall einer Zendesk wird query in der queryParams verwendet, um eine erweiterte Planung anzugeben.
"urlParams": {
"path": "/api/v2/search/export@{if(empty(coalesce(pipeline()?.parameters?.ingestionStart,'')),'?query=type:user&filter[type]=user&','')}",
"method": "GET",
"queryParams": {
"query": "{SCHEDULE_QUERY}",
"filter[type]": "user"
}
}
Hinzufügen eines benutzerdefinierten Schemas zur Definition der dynamischen Attribute Ihrer Quelle
Sie können Ihrer sourceSpec ein benutzerdefiniertes Schema hinzufügen, um alle für Ihre Quelle erforderlichen Attribute zu definieren, einschließlich aller benötigten dynamischen Attribute. Sie können die entsprechende Verbindungsspezifikation Ihrer Quelle aktualisieren, indem Sie eine PUT-Anfrage an den /connectionSpecs-Endpunkt der Flow Service-API stellen und dabei Ihr benutzerdefiniertes Schema im sourceSpec Abschnitt Ihrer Verbindungsspezifikation angeben.
Im Folgenden finden Sie ein Beispiel für ein benutzerdefiniertes Schema, das Sie der Verbindungsspezifikation Ihrer Quelle hinzufügen können:
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"organization_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
}
"active": {
"type": "boolean"
},
"created_at": {
"type": "string"
},
"email": {
"type": "string"
},
"iana_time_zone": {
"type": "string"
},
"id": {
"type": "integer"
},
"locale": {
"type": "string"
},
"locale_id": {
"type": "integer"
},
"moderator": {
"type": "boolean"
},
"name": {
"type": "string"
},
"only_private_comments": {
"type": "boolean"
},
"report_csv": {
"type": "boolean"
},
"restricted_agent": {
"type": "boolean"
},
"result_type": {
"type": "string"
},
"role": {
"type": "integer"
},
"shared": {
"type": "boolean"
},
"shared_agent": {
"type": "boolean"
},
"suspended": {
"type": "boolean"
},
"ticket_restriction": {
"type": "string"
},
"time_zone": {
"type": "string"
},
"two_factor_auth_enabled": {
"type": "boolean"
},
"updated_at": {
"type": "string"
},
"url": {
"type": "string"
},
"verified": {
"type": "boolean"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
Nächste Schritte
Wenn Ihre Quellspezifikationen ausgefüllt sind, können Sie mit der Konfiguration der Erkundungsspezifikationen für die Quelle fortfahren, die Sie in Experience Platform integrieren möchten. Weitere Informationen finden Sie im Dokument Konfigurieren von Erkundungsspezifikationen .