Zusammenfassung
Verwaltet interne, auf dem Server gespeicherte Daten zu den erstellten Kacheln in einem Karten- oder Image-Service-Cache.
Verwendung
Dieses Werkzeug ist nützlich für das Neuerstellen des Cache-Status, nachdem Sie die Kacheln manuell in das Cache-Verzeichnis kopiert oder Kacheln nach Bedarf erstellt haben.
Dieses Werkzeug ist die einzige Möglichkeit, einen Status für einen Cache zu erstellen, der in einer vorherigen Version von ArcGIS Server oder Portal for ArcGIS erstellt wurde.
Anstatt einen Status für den gesamten Cache zu erstellen, können Sie dieses Werkzeug auch zum Erstellen von Statusberichten für benutzerdefinierte Interessenbereiche oder Maßstabsebenen verwenden. Legen Sie dazu den Parameter Verwaltungsmodus (manage_mode in Python) auf REPORT_BUNDLE_STATUS fest. Der Bericht wird in einer neuen File-Geodabase mit dem Namen Status.gdb gespeichert, speziell in einer Feature-Class mit dem Namen TaskStatus.
Beachten Sie, dass das Cache-Verzeichnis auch eine Status.gdb enthält, die sich auf den gesamten Cache bezieht und aktualisiert wird, wenn Sie die anderen Verwaltungsmodusoptionen für dieses Werkzeug verwenden. An diesem Speicherort kann keine benutzerdefinierte Status.gdb ersetzt werden.
Syntax
ManageMapServerCacheStatus(input_service, manage_mode, {scales}, {num_of_caching_service_instances}, {report_folder}, {area_of_interest}, {report_extent})
Parameter | Erklärung | Datentyp |
input_service | Der Kartenbild-Layer, für den der Cache-Status geändert wird. Sie können ihn auswählen, indem Sie in "Portal" zu dem gewünschten Service navigieren. Sie haben auch die Möglichkeit, einen Web-Kachel-Layer per Drag & Drop aus dem Bereich Katalog der Registerkarte Portal zu verschieben, um diesen Parameter einzugeben. | Image Service; MapServer |
manage_mode |
| String |
scales [scales,...] (optional) | Die Maßstabsebenen, für die der Status geändert wird. Dieser Parameter ist nur anwendbar, wenn ein benutzerdefinierter Status mit der Option REPORT_BUNDLE_STATUS für den Parameter manage_mode erstellt wird. | Double |
num_of_caching_service_instances (optional) | Definiert die Anzahl der Instanzen, die zum Aktualisieren/Erstellen der Kacheln verwendet werden. Der Wert für diesen Parameter ist auf unbegrenzt (-1) festgelegt und kann nicht geändert werden. | Long |
report_folder (optional) | Ausgabeordner für die Status.gdb. Dieser Parameter ist nur anwendbar, wenn ein benutzerdefinierter Status mit der Option REPORT_BUNDLE_STATUS erstellt wird. | Folder |
area_of_interest (optional) | Ein Interessenbereich (Polygon), der bestimmt, welche Geographie der Statusbericht abdeckt. Dieser Parameter ist nur anwendbar, wenn ein benutzerdefinierter Status mit der Option REPORT_BUNDLE_STATUS erstellt wird. | Feature Set |
report_extent (optional) | Eine Rechtecksausdehnung, die den Bereich definiert, für den der Status erstellt wird. Dieser Parameter ist nur anwendbar, wenn ein benutzerdefinierter Status mit der Option REPORT_BUNDLE_STATUS erstellt wird. Übrigens können Sie mit dem Parameter area_of_interest einen Interessenbereich angeben, der keine Rechteckform aufweist. | Extent |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
output_folder | Die Ausgabeservice-URL. | Zeichenfolge |
Codebeispiel
Löscht die Statusinformationen für einen Cache.
# Name: ManageMapServerCacheStatus.py
# Description: The following stand-alone script demonstrates how to delete
# Status of cache using ManageMapServerCachStatus tool
# Requirements: os, sys, time and traceback modules
# Any line that begins with a pound sign is a comment and will not be executed
# Empty quotes take the default value.
# To accept arguments from the command line replace values of variables to
# "sys.argv[]"
# Import system modules
import arcpy
from arcpy import env
import os, sys, time, datetime, traceback, string
# Set environment settings
env.workspace = "C:/data"
# List of input variables for map service properties
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapService"
inputService = connectionFile + "\\" + server + "\\" + serviceName
scales = ""
manageMode = "DELETE_CACHE_STATUS"
numOfCachingServiceInstances = "2"
outputFolder = ""
areaOfInterest = ""
reportExtents = ""
currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = 'C:/data/report_%s.txt' % arg1
# print results of the script to a report
report = open(file,'w')
# use "scales[0]","scales[-1]","scales[0:3]"
try:
starttime = time.clock()
result = arcpy.ManageMapServerCacheStatus_server(inputService,
manageMode, scales,
numOfCachingServiceInstances,
outputFolder,
areaOfInterest,
reportExtents)
finishtime = time.clock()
elapsedtime = finishtime - starttime
#print messages to a file
while result.status < 4:
time.sleep(0.2)
resultValue = result.getMessages()
report.write ("completed " + str(resultValue))
print("Reported the Bundle status for scale =" + str(scales[-1]) + "of " + \
serviceName + "at " + outputFolder + "\n using specified feature class " + \
areaOfInterest + " in " + str(elapsedtime) + " sec \n on " + arg2)
except Exception as e:
# If an error occurred, print line number and error message
tb = sys.exc_info()[2]
report.write("Failed at step 3 \n" "Line %i" % tb.tb_lineno)
report.write(str(e))
report.close()
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja