Skip To Content

Cache-Status für Kartenserver verwalten

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_server (input_service, manage_mode, {scales}, {num_of_caching_service_instances}, {report_folder}, {area_of_interest}, {report_extent})
ParameterErklärungDatentyp
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
  • DELETE_CACHE_STATUSLöscht die vom Server verwendeten Statusinformationen.
  • REBUILD_CACHE_STATUSLöscht die vom Server verwendeten Statusinformationen und erstellt sie anschließend neu.
  • REPORT_BUNDLE_STATUSErstellt Statusinformationen in einer neuen File-Geodatabase mit dem Namen Status.gdb in einem Ordner, den Sie im Parameter Ausgabeordner angegeben haben. Diese Option wird verwendet, wenn Sie einen benutzerdefinierten Statusbericht für einen bestimmten Interessenbereich oder einen Satz von Maßstäben erstellen möchten.
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

NameErklärungDatentyp
output_folder

Die Ausgabeservice-URL.

Zeichenfolge

Codebeispiel

ManageMapServerCacheStatus – Beispiel (eigenständiges Skript)

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

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen