Erweiterte Service-Eigenschaften
Bei einigen Workflows müssen Administratoren möglicherweise die Eigenschaften veröffentlichter Geoverarbeitungsservices anpassen. Diese Anpassungen gelten sowohl für eigenständige Server als auch für Verbundserver. Hier einige Beispiele:
Räumliche Analysen mit großen Raster-Datasets, die viel Speicher benötigen.
Hochladen großer Eingabedateien für ein Web-Werkzeug oder einen Geoverarbeitungsservice.
Performance-Optimierung.
Benutzerdefinierte Anforderungen für die Protokollierung.
Abrufen zusätzlicher Diagnoseausgaben beim Fehlschlagen eines Geoverarbeitungsservice.
Steuern der Sichtbarkeit einzelner Tasks innerhalb eines Geoverarbeitungsservice.
Zu den häufigen Szenarien, in denen diese Eigenschaften angepasst werden müssen, gehören u. a. die Performance-Optimierung, benutzerdefinierte Anforderungen für die Protokollierung, das Abrufen zusätzlicher Diagnoseausgaben beim Fehlschlagen eines Geoverarbeitungsservice sowie das Steuern der Sichtbarkeit einzelner Tasks innerhalb eines Geoverarbeitungsservice.
Die meisten der unten beschriebenen Eigenschaften können nur mithilfe der Administrator-REST-API konfiguriert werden. Sobald Sie oder Ihr Administrator Zugriff auf die Administrator-REST-API haben, müssen Sie die Service-Eigenschaften für jeden Geoverarbeitungsservice bearbeiten, den Sie ändern möchten.
Ändern der Heap-Größe
Mit der Eigenschaft für die Heap-Größe wird die maximale Dateigröße gesteuert, die vom Client bereitgestellt werden kann, wenn er über ArcGIS Pro auf das Web-Werkzeug oder den Geoverarbeitungsservice zugreift, sowie der maximale Speicher, den ein Geoverarbeitungsservice verwenden kann. Die Heap-Größe kann auf Server-Ebene für alle Geoverarbeitungsservices oder einen einzelnen Service festgelegt werden.
Das Ändern der Heap-Größe für einen einzelnen Service bietet eine bessere Performance als das Ändern der Heap-Größe für alle Services auf dem gesamten Server. Die standardmäßige Heap-Größe für jeden Service beträgt 64 MB. Wenn Sie eine Eingabedatei oder Feature-Class haben, die die Standardgröße überschreitet, ändern Sie die Heap-Größe für den Service wie folgt:
Rufen Sie den Endpunkt Service-Eigenschaften bearbeiten für den Geoverarbeitungsservice auf, den Sie ändern möchten. Typischerweise ist dies
https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit.Untersuchen Sie die vorhandene Eigenschaft
frameworkProperties, die Sie üblicherweise im unteren Bereich der Liste aller Service-Eigenschaften finden.
Wenn
javaHeapSizeunterframeworkPropertiesnicht aufgeführt ist, fügen Sie das Beispiel{"javaHeapSize":"128"}hinzu. IstjavaHeapSizevorhanden, erhöhen Sie den Wert entsprechend.Klicken Sie auf Save Edits, um die Bearbeitung abzuschließen.
Um die Heap-Größe für alle Geoverarbeitungsservices auf dem gesamten Server zu ändern, führen Sie die folgenden Schritte aus. Standardmäßig ist die maximale Größe des Heapspeichers der Serverobjektkomponente (Server Object Component, SOC) auf 64 MB festgelegt. Erhöhen Sie sie auf einen angemessenen Wert.
Rufen Sie den Endpunkt Computer bearbeiten auf. Üblicherweise befindet sich dieser unter
https://organization.example.com/serverwebadaptor/admin/machines/machinename/editErhöhen Sie den Wert für die SOC maximum heap size (in MB).
Klicken Sie auf Save Edits, um die Bearbeitung abzuschließen.
Festlegen der Upload-Größe
Die Einstellung für die Größe des Uploads steuert die Dateigröße, die von Clients, die über einen REST-Endpunkt eine Verbindung mit dem Service herstellen, hochgeladen werden kann. Diese Clients sind in der Regel Web-Clients, die den Service über eine benutzerdefinierte Web-App verwenden. Standardmäßig ist die Größe auf 2 GB festgelegt. Verwenden Sie diese Einstellung, um einen geeigneten Standardwert anzugeben und übermäßig große Uploads für den Service zu verhindern.
Um die Upload-Größe festzulegen, rufen Sie den Endpunkt Service-Eigenschaften bearbeiten für den Geoverarbeitungsservice auf, den Sie ändern möchten. Typischerweise ist dies https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit. Aktualisieren Sie den Wert der Eigenschaft maxUploadFileSize. Ein Beispiel für einen Eintrag, mit dem die maximale Upload-Größe für Dateien auf 100 MB beschränkt wird, ist "maxUploadFileSize": 100,.
Hinweis:
Stellen Sie beim Veröffentlichen eines Web-Werkzeugs sicher, dass das Kontrollkästchen Uploads im Bereich Konfiguration von Als Web-Werkzeug freigeben aktiviert ist. Diese Einstellung kann auch für einen vorhandenen Service über ArcGIS Server Manager auf der Einstellungsseite Funktionen des Service aktiviert werden.
Festlegen des Upload-Typs
Es können nur bestimmte Dateien in ein Web-Werkzeug hochgeladen werden. Diese Dateien sind durch ihren Erweiterungstyp beschränkt, der auf Service-Ebene festgelegt wird.
Um den Upload-Typ festzulegen, rufen Sie den Endpunkt Service-Eigenschaften bearbeiten für den Geoverarbeitungsservice auf, den Sie ändern möchten. Typischerweise ist dies https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit. Aktualisieren Sie die Eigenschaft allowedUploadFileTypes, indem Sie die Dateierweiterungen hinzufügen, die Sie zulassen möchten. Ein Beispiel für eine Eigenschaft, die .kml- und .gpx-Dateien zulässt, ist "allowedUploadFileTypes": ".kml,.gpx".
Hinweis:
Stellen Sie beim Veröffentlichen eines Web-Werkzeugs sicher, dass das Kontrollkästchen Uploads im Bereich Konfiguration von Als Web-Werkzeug freigeben aktiviert ist. Diese Einstellung kann auch für einen vorhandenen Service über ArcGIS Server Manager auf der Einstellungsseite Funktionen des Service aktiviert werden.
Ändern der maximalen Domänenanzahl
Mit der Einstellung maxDomainCodeCount wird festgelegt, wie viele Domänen bei einer Service-Antwort zurückgegeben werden. Die Domänenbeschreibungen werden mit einem Code abgeglichen, der in der Feature-Antwort zurückgegeben wurde. Der Standardwert dieser Einstellung lautet 1000. Sind am Ausgabe-Feature mehr als 1000 Domänen beteiligt, werden keine Domäneninformationen zurückgegeben. Informationen zu Domänen können den Umfang der zurückgegebenen Antwort vergrößern. Falls keine Domänen erforderlich sind, stellen Sie für diesen Wert "0" bzw. eine Zahl ein, die kleiner als die Anzahl der an einem Service beteiligten Domänen ist.
Um die maximale Domänenanzahl zu ändern, rufen Sie den Endpunkt Service-Eigenschaften bearbeiten für den Geoverarbeitungsservice auf, den Sie ändern möchten. Typischerweise ist dies https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit. Aktualisieren Sie die Eigenschaft maxDomainCodeCount, und legen Sie den maximalen Grenzwert fest. Ein Beispiel für das Beschränken der maximalen Domänenanzahl auf 50 ist "maxDomainCodeCount": 50,.
Lokaler Temp-Ordner
Der lokale Temp-Ordner ist ein Verzeichnis, in das ArcGIS Server Zwischenausgaben schreibt, wenn der Server an einem Cluster mit mehr als einem Computer teilnimmt oder die Verzeichnisse mithilfe eines UNC-Pfades referenziert werden. Dadurch kann die Performance verbessert werden, da das Schreiben von Zwischendaten in eine Scratch-Geodatabase oder einen Scratch-Ordner mit einem UNC-Pfad vermieden wird. Abschließend werden die Ergebnisse aus dem lokalen Temp-Ordner in das Auftragsverzeichnis, das ein UNC-Pfad sein kann, kopiert. Ein typischer lokaler Temp-Ordner für ArcGIS Server unter Windows kann c:/Users/arcgisuser/AppData/Local/Temp/system/servicename_gpserver/jobID/scratch sein. Derzeit kann der Speicherort des Temp-Ordners nach der Server-Bereitstellung nicht geändert werden.
Erneutes Verwenden des Auftragsverzeichnisses für synchrone Services
Wenn Ihr Web-Werkzeug auf einem synchronen Geoverarbeitungsservice basiert, können Sie das Auftragsverzeichnis erneut verwenden, um durch die Anwendung von "reusejobdir": "true" eine bessere Performance zu erzielen. Normalerweise wird ein Auftragsverzeichnis im Ordner arcgisjobs auf Ihrem Server-Computer erstellt, sobald Sie einen synchronen Geoverarbeitungsservice ausführen. Nach Auftragsabschluss wird dieses Auftragsverzeichnis von ArcGIS Server gelöscht. Wenn Sie die Eigenschaft reusejobdir auf true festlegen, bleibt das Auftragsverzeichnis erhalten, auch wenn die Ausführung eines Auftrags abgeschlossen ist. So können Sie bei der Erstellung einer Scratch-GDB und eines Scratch-Ordners bei der nächsten Ausführung Zeit sparen und Performance-Vorteile nutzen. Wenn Sie diese Einstellung wieder auf "false" festlegen oder diese Eigenschaft entfernen, wenden Sie sich an Ihren Administrator, um bestehende Auftragsverzeichnisse für diesen Service zu löschen.
Rufen Sie den Endpunkt Service-Eigenschaften bearbeiten für den Geoverarbeitungsservice auf, den Sie ändern möchten. Typischerweise ist dies https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit.
Nachfolgend wird eine vereinfachte JSON mit der Eigenschaft reusejobdir dargestellt. Andere Eigenschaften wurden ausgeblendet, um die relevante Änderung für diese Eigenschaft hervorzuheben.
{
"serviceName": "sample",
"type": "GPServer",
"other_properties": "other_values",
"properties": {
"other_properties": "other_values",
"reusejobdir": true,
"executionType": "Synchronous"
},
"portalProperties": {},
"extensions": []
}
Schreiben von Meldungen in das ArcGIS Server-Protokoll
Wenn ein Web-Werkzeug in ArcGIS Server 11.3 oder höher veröffentlicht wurde, können Sie eine Kopie der Meldungen aus dem Web-Werkzeug in das ArcGIS Server-Protokoll aufnehmen. Die Meldungsebene des ArcGIS Server-Protokolls stimmt mit der Meldungsebene des Web-Werkzeugs überein. Für eine Web-Werkzeug-Meldung gibt es drei Ebenen: Fehler, Warnung und Information. Diese Ebenen entsprechen schwerwiegenden Meldungen, Warnungen und Informationsmeldungen in ArcGIS Server. Verwenden Sie Skript-Werkzeug-Meldungen, um Web-Werkzeug-Meldungen manuell einzurichten. Viele Geoverarbeitungswerkzeuge enthalten auch voreingestellte Meldungen. Stellen Sie sicher, dass die Meldungen in ArcGIS Server korrekt protokolliert werden, indem Sie die entsprechenden Serverprotokollierungseinstellungen angeben.
Rufen Sie den Endpunkt Service-Eigenschaften bearbeiten für den Geoverarbeitungsservice auf, den Sie ändern möchten. Typischerweise ist dies https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit.
Eine vereinfachte JSON mit der Eigenschaft logGPMessages. Andere Eigenschaften wurden ausgeblendet, um die relevante Änderung für diese Eigenschaft hervorzuheben.
{
"serviceName": "sample",
"type": "GPServer",
"other_properties": "other_values",
"properties": {
"other_properties": "other_values",
"logGPMessages": true,
"executionType": "Asynchronous"
},
"portalProperties": {},
"extensions": []
}
Zurückgeben von Ergebnissen bei Sonderfällen
Wenn die Ausführung eines asynchronen Geoverarbeitungsservice oder eines auf einem asynchronen Geoverarbeitungsservice basierenden Web-Werkzeugs fehlschlägt oder abgebrochen wird, sind keine Ergebnisse verfügbar. Wenn ein Web-Werkzeug oder Geoverarbeitungsservice dieser Art in ArcGIS Server 11.5 oder später veröffentlicht wird, können Sie ArcGIS Server immer noch so konfigurieren, dass Sie auf die Ergebnisse zugreifen können, wenn Sie über die Ressourcen results oder result in der ArcGIS REST API darauf zugreifen. Diese Funktion ist nicht verfügbar, wenn Sie einen synchronen Geoverarbeitungsservice oder ein auf einem synchronen Geoverarbeitungsservice basierendes Web-Werkzeug verwenden. Sie können auch nicht über ArcGIS Pro auf die Ergebnisse zugreifen, wenn die Aufträge fehlgeschlagen sind oder abgebrochen wurden.
Um die Eigenschaft saveRESTResultsOnFailOrCancel festzulegen, rufen Sie den Endpunkt Service-Eigenschaften bearbeiten für den Geoverarbeitungsservice auf, den Sie ändern möchten. Typischerweise ist dies https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit.
Eine vereinfachte JSON mit der Eigenschaft saveRESTResultsOnFailOrCancel. Andere Eigenschaften wurden ausgeblendet, um die relevante Änderung für diese Eigenschaft hervorzuheben.
{
"serviceName": "sample",
"type": "GPServer",
"other_properties": "other_values",
"properties": {
"other_properties": "other_values",
"saveRESTResultsOnFailOrCancel": true,
"executionType": "Asynchronous"
},
"portalProperties": {},
"extensions": []
}
Blockieren bestimmter Werkzeuge
Bei der Veröffentlichung von Web-Werkzeugen oder Geoverarbeitungsservices kann es erforderlich sein, den Zugriff auf bestimmte Tasks zu deaktivieren oder zu sperren. Ab ArcGIS Server 11.5 wird die Eigenschaft blockedTools oder allowedTools zu den Service-Eigenschaften hinzugefügt, um bestimmte Werkzeuge zu blockieren.
Verwenden Sie die Eigenschaft blockedTools, um bestimmte Werkzeuge als nicht verfügbar festzulegen. Verwenden Sie die Eigenschaft allowedTools, um nur bestimmte Werkzeuge als verfügbar festzulegen; alle übrigen Werkzeuge sind dann nicht verfügbar. Nutzen Sie die Eigenschaft, die Ihre Anforderungen am besten erfüllt. Um einen Task anzugeben, verwenden Sie entweder den Namen oder den Anzeigenamen für den Task. Wenn ein Task einen Namen hat, der mit dem Anzeigenamen eines anderen Task übereinstimmt, werden beide Tasks erkannt und zusammen blockiert oder zugelassen.
Rufen Sie den Endpunkt Service-Eigenschaften bearbeiten für den Geoverarbeitungsservice auf, den Sie ändern möchten. Typischerweise ist dies https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit.
Eine vereinfachte JSON, die die Eigenschaft blockedTools mit mehreren zu blockierenden Tasknamen anzeigt. Mehrere Namen werden durch Semikolons getrennt.
{
"serviceName": "sample",
"type": "GPServer",
"other_properties": "other_values",
"properties": {
"other_properties": "other_values",
"blockedTools": "extractData;bufferInputs",
"executionType": "Synchronous"
},
"portalProperties": {},
"extensions": []
}