เป็นไปได้ไหมที่จะหยุดและเริ่มให้บริการแผนที่ ArcGIS Server โดยใช้ Python โดยทางโปรแกรมหรือไม่
.ags
ไฟล์เป็นโทเค็น คุณอาจลองเชื่อมต่อกับใบรับรอง (ไฟล์ PEM) ได้แม้ว่าจะต้องใช้มากกว่าวานิลลา HTTP ธรรมดา
เป็นไปได้ไหมที่จะหยุดและเริ่มให้บริการแผนที่ ArcGIS Server โดยใช้ Python โดยทางโปรแกรมหรือไม่
.ags
ไฟล์เป็นโทเค็น คุณอาจลองเชื่อมต่อกับใบรับรอง (ไฟล์ PEM) ได้แม้ว่าจะต้องใช้มากกว่าวานิลลา HTTP ธรรมดา
คำตอบ:
ที่ ArcGIS 10.0 สำหรับบริการส่วนบุคคลเช่นคุณสามารถใช้บรรทัดคำสั่งเพื่อดูแล ArcIMS มีเครื่องมือบรรทัดคำสั่งที่คุณสามารถดาวน์โหลดได้จาก Code Gallery ( AGSSOM ) ที่ให้คุณเป็นแกนหลักของพื้นที่สำคัญ ๆ แต่ไม่มีบริการเฉพาะที่ละเอียด 'การควบคุมระดับที่คุณสามารถใช้ในขณะนี้เพื่อเริ่ม / หยุด / รีเฟรช / เพิ่ม / ลบบริการ AGS
มีอยู่ที่ideas.arcgis.comหลายแห่งพร้อมคำขอเพื่อปรับปรุงการควบคุมการบริการจากสถานที่ที่เป็นอัตโนมัติมากขึ้น
สำหรับผู้ที่ใช้ ArcGIS 10.0 และสนใจที่จะใช้ AGSSOM ตามคำแนะนำของ DE Wright ฉันได้รวบรวมรหัสต่อไปนี้ การดำเนินการนี้จะหยุดบริการทั้งหมดที่อนุญาตให้คุณดำเนินการกับฐานข้อมูลภูมิศาสตร์ที่จำเป็นจากนั้นเริ่มบริการที่เรียกใช้ก่อนหน้านี้ใหม่
import os, subprocess
#Get list of currently running map services
stream = os.popen('D:\GIS\Admin\AGSSOMv10.0\AGSSOM.exe -list')
mapservices = stream.readlines()
lstStarted = []
for item in mapservices:
itemSplit = item.split(',')
if len(itemSplit) > 1:
if itemSplit[1].find("Started.") > -1:
lstStarted.append(itemSplit[0])
#Shutdown all map services
subprocess.call(['D:\GIS\Admin\AGSSOMv10.0\AGSSOM.exe', '-x', '*all*'])
##...Perfom geodatabase tasks here
#Restart previously running map services
for mapservice in lstStarted:
subprocess.call(['D:\GIS\Admin\AGSSOMv10.0\AGSSOM.exe', '-s', mapservice])
ตั้งแต่ ArcGIS Server 10.3 โปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่ใช้ Python หลายตัวมาพร้อมกับเซิร์ฟเวอร์ ArcGIS
เอกสารของ esriต่อพวกเขามักติดตั้งที่นี่:
C:\Program Files\ArcGIS\Server\tools\admin
ยูทิลิตี้การจัดการบริการนั้นยอดเยี่ยมสำหรับการเริ่มหยุดหรือลบบริการ:
python manageservice.py -u admin -p admin -s http://gisserver.domain.com:6080 -n Beirut/Parcels -o start
ในหลอดเลือดดำเดียวกับสิ่งที่ Jeff Berry โพสต์ในคำตอบของเขาฉันได้เขียนฟังก์ชั่นเล็ก ๆ ที่จะจัดการบริการแผนที่ ArcGIS Server 10.0 โดยใช้เครื่องมือ AGSSOM
ในกรณีของฉันฉันเรียกบริการเป็นรายบุคคลโดยการหยุดและเริ่มทีละครั้ง
import subprocess
def manageMapServices(command, svc, svcType):
PathToAGSSOM = r"C:\Windows\AGSSOMUtils\AGSSOM"
server = "AGSSOM"
p = subprocess.Popen(PathToAGSSOM + " " + server + " " + command + " " + svc + " " + svcType)
p.wait()
จากนั้นคุณสามารถเรียกใช้บริการตามชื่อโดยใช้ -x เพื่อหยุดและ -s เพื่อเริ่มต้น:
manageMapServices("-s", "Folder/Service", "MapServer")
สำหรับ ArcGIS 10.7 และเวอร์ชันก่อนหน้าบางชุดสคริปต์ python แบบสมบูรณ์เพื่อหยุดเริ่มต้นลบและอื่น ๆ สามารถพบได้ที่นี่: http://www.arcgis.com/home/item.html?id= 12dde73e0e784e47818162b4d41ee340 (นอกจากนี้ยังมี. exe ภายในตัวนี้หากคุณจำเป็นต้องใช้ไฟล์เต็มรูปแบบ)
หรือดำดิ่งลงไปในความช่วยเหลือและอ่านเกี่ยวกับตัวเลือกมากมาย (นอกบรรทัดคำสั่ง box, python api, ตัวอย่างโค้ด) ที่นี่: https://enterprise.arcgis.com/en/server/latest/administer/linux/scripting-arcgis -Server-administration.htm
อย่างไรก็ตามคะแนนทั้งหมดเหล่านี้รวมอยู่ในคำตอบอื่น ๆ ในคำถามที่คุณอ้างอิง AGSSOM เป็นยูทิลิตี้. net ที่เขียนขึ้นสำหรับเซิร์ฟเวอร์ 10.0 และเก่ากว่า มีเวอร์ชัน 10.1 และเวอร์ชันที่ใหม่กว่า แต่ไม่เคยได้รับความนิยมเนื่องจากคุณไม่ต้องการรหัส c # / vb จำนวนมากเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ เซิร์ฟเวอร์ 10.1+ ได้รับการเผยแพร่ด้วย REST API ที่มีโครงสร้างที่ดีช่วยให้ภาษาระดับสูงเช่น Python ทำให้ผู้ชมในวงกว้างสามารถสคริปต์และจัดการได้โดยไม่ต้องใช้ยูทิลิตี้ agssom.exe หนัก
ที่ ArcGIS for Server 10.1+ คุณสามารถใช้ArcGIS Server Administration Toolkit - 10.1+
จากคำอธิบาย (เป็นของฉัน):
ชุดเครื่องมือการดูแลเซิร์ฟเวอร์ ArcGIS ให้เครื่องมือและสคริปต์เพื่อช่วยคุณจัดการเซิร์ฟเวอร์ ArcGIS ของคุณ เครื่องมือเหล่านี้ถูกเขียนในPythonและเชื่อมต่อกับ REST Admin ของ ArcGIS Server ช่วยให้คุณสามารถใช้งานฟังก์ชั่นการจัดการทั่วไปได้อย่างรวดเร็วและง่ายดายรวมถึง: - รายการไอเท็ม
- การหยุดการเริ่มหรือการลบบริการ
- เปลี่ยนชื่อบริการ
- การแก้ไขระดับการบันทึกและการล้างบันทึกเก่า
- อัพโหลดและลงทะเบียน SOE
- การสร้าง classclass จากสถานที่ที่ดูแผนที่บริการ (โดยตรวจสอบบันทึก)
- คำนิยามบริการการประกาศ (.SD)
เครื่องมือต่าง ๆ ภายในชุดนี้นำเสนอในสามวิธีหลัก: เครื่องมือรหัสและปฏิบัติการแบบสแตนด์อโลน