পাইথন ব্যবহার করে আরকজিআইএস সার্ভার মানচিত্র পরিষেবাগুলি শুরু এবং বন্ধ করা হচ্ছে?


10

পাইথনটি ব্যবহার করে আর্কজিআইএস সার্ভার মানচিত্র পরিষেবাগুলি প্রোগ্রামগতভাবে থামানো এবং শুরু করা সম্ভব?


এটি কেবলমাত্র একটি REST ক্যোয়ারী।
ভিন্স

ধন্যবাদ. তবে আমার .পি স্ক্রিপ্টে আমার লগইন এবং পাসওয়ার্ড লিখতে হবে, কীভাবে এটি এড়ানো যায় সে সম্পর্কে কোনও ধারণা। উদাহরণস্বরূপ, আমি .ags ফাইলটি ব্যবহার করতে পারি?)
লোরা

দুর্ভাগ্যক্রমে না; .agsটোকেনে কোনও ফাইল রূপান্তর করতে কোনও ফাংশন সরবরাহ করতে ব্যর্থ হলে তারা ডিজাইনের একটি বড় গর্ত ছেড়ে দেয় । আপনি একটি শংসাপত্রের সাথে সংযোগ করার চেষ্টা করতে পারেন (পিইএম ফাইল), যদিও এর জন্য সরল ভ্যানিলা HTTP এর চেয়ে বেশি প্রয়োজন than
ভিনস

উত্তর:


7

আর্কজিআইএস 10.0 এ, পৃথক পরিষেবাগুলির জন্য, যেমন আপনি আর্কিআইএমএস বজায় রাখার জন্য কমান্ড-লাইন করতে পারতেন, সেখানে একটি কমান্ডলাইন সরঞ্জাম রয়েছে যা আপনি কোড গ্যালারী ( এজিএসএসএম ) থেকে ডাউনলোড করতে পারেন যা আপনাকে প্রধান ক্ষেত্রগুলির মূল দেয় কিন্তু কোনও দানাদার পরিষেবা নির্দিষ্ট নেই is 'স্তর নিয়ন্ত্রণ যা আপনি এই সময়ে এজিএস পরিষেবাদিগুলি শুরু / বন্ধ / রিফ্রেশ / যুক্ত / সরানোর জন্য ব্যবহার করতে পারেন।

আরও বেশি স্বয়ংক্রিয় অবস্থান থেকে পরিষেবাগুলির নিয়ন্ত্রণ উন্নত করার জন্য অনুরোধ সহ বেশ কয়েকটি স্থানে আইডিয়া.আর্কজি.কম রয়েছে।


আরকজিআইএস আইডিয়াসের লিঙ্কটি নষ্ট হয়ে গেছে। যে কোনও ইভেন্টে, সম্ভবত এই উত্তরটি 10.7 এ আপডেট করা যেতে পারে।
পলিজিও

12

যারা আরকিজিআইএস 10.0 ব্যবহার করছেন এবং ডি রাইটের পরামর্শ অনুসারে এজিএসএসএম ব্যবহার করতে আগ্রহী তাদের জন্য, আমি নিম্নলিখিত কোডগুলি একসাথে রেখেছি। এটি আপনাকে প্রয়োজনীয় জিওডাটাবেসক কার্য সম্পাদন করার অনুমতি দেয় এবং তারপরে পূর্বে চলমান পরিষেবাদি পুনরায় চালু করবে all

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])

4

আরকজিআইএস সার্ভার 10.3 অনুসারে, পাইথন ভিত্তিক বেশ কয়েকটি কমান্ড লাইন ইউটিলিটি আর্কজিআইএস সার্ভারের সাথে একত্রিত হয়েছে।

প্রতি এসরির ডকুমেন্টেশন এগুলি এখানে সাধারণত ইনস্টল করা থাকে:

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


3

জেফ বেরি তার উত্তরে যা পোস্ট করেছে তার একই শিরাতে আমি একটি ছোট ফাংশন লিখেছি যা আর্গজিএসএম সরঞ্জামগুলি ব্যবহার করে আরকজিআইএস সার্ভার 10.0 মানচিত্র পরিষেবা পরিচালনা করবে।

আমার ক্ষেত্রে আমি নামগুলিতে পৃথকভাবে পরিষেবাগুলি কল করি, একসাথে একবার বন্ধ করে এবং শুরু করি।

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")

2

আরকজিআইএস ১০.7 এবং কিছু পূর্ববর্তী সংস্করণগুলির জন্য, থামাতে, শুরু করতে, মুছতে এবং অল্প কিছু অন্যান্য সামগ্রীর জন্য পাইথন স্ক্রিপ্টের একটি সম্পূর্ণ সেট এখানে পাওয়া যাবে: http://www.arcgis.com/home/item.html?id= 12dde73e0e784e47818162b4d41ee340 (যদি আপনার পুরোপুরি এক্সিকিউটেবলের প্রয়োজন হয় তবে এর অভ্যন্তরে একটি .exeও রয়েছে)

বা সহায়তায় ডুব দিন এবং এখানে অনেকগুলি অপশন (বাক্স কমান্ড লাইন, পাইথন এপিআই, কোড স্নিপেটগুলির বাইরে) সম্পর্কে পড়ুন: https://enterprise.arcgis.com/en/server/latest/administer/linux/scriptting-arcgis -server-administration.htm

তবে, আপনি উল্লেখ করেছেন এমন প্রশ্নের উত্তর হিসাবে এই সমস্ত পয়েন্ট অন্তর্ভুক্ত করা হয়েছে। এজিএসএসএম হ'ল সার্ভার 10.0 বা তার বেশি বয়সীদের জন্য একটি। নেট ইউটিলিটি। এখানে একটি 10.1 এবং আরও নতুন সংস্করণ উত্পাদিত হয়েছিল তবে এটি কখনও জনপ্রিয়তা অর্জন করতে পারেনি কারণ সার্ভারের সাথে ইন্টারফেস করতে আপনার ভারী সি # / ভিবি কোডের প্রয়োজন নেই। সার্ভার 10.1+ একটি সুগঠিত REST এপিআই সহ প্রকাশ করা হয়েছিল, উচ্চ স্তরের ভাষাগুলি যেমন পাইথনকে অনুমতি দেয় এবং এইভাবে একটি বৃহত্তর শ্রোতা ভারী agssom.exe ইউটিলিটির প্রয়োজন ছাড়াই স্ক্রিপ্ট করতে এবং পরিচালনা করে ।


তবে আমার .পি স্ক্রিপ্টে আমার লগইন এবং পাসওয়ার্ড লিখতে হবে, কীভাবে এটি এড়ানো যায় সে সম্পর্কে কোনও ধারণা। উদাহরণস্বরূপ, আমি .ags ফাইলটি ব্যবহার করতে পারি?)
লোরা

আপনি পরিষেবাগুলি বন্ধ / শুরু করার পদ্ধতি হিসাবে .ags ফাইলটি ব্যবহার করতে পারবেন না। পাসওয়ার্ডটি কোনও কোনও জায়গায় সংরক্ষণ করা দরকার। .Py ফাইলটি নিজেই চালিত হয় কিনা, বা আপনি এটি পৃথক ফাইলে রাখতে চান যা .py ফাইলটি পড়ে।
KHibma

2

সার্ভার 10.1+ এর জন্য আর্কজিআইএসে আপনি আর্কজিআইএস সার্ভার প্রশাসনিক সরঞ্জামকিট - 10.1+ ব্যবহার করতে পারেন

বর্ণনা থেকে (সাহসী আমার):

আর্কজিআইএস সার্ভার প্রশাসনিক সরঞ্জামকিট আপনাকে আপনার আর্কজিআইএস সার্ভার পরিচালনা করতে সহায়তা করার জন্য সরঞ্জাম এবং স্ক্রিপ্ট সরবরাহ করে। এই সরঞ্জামগুলি আশ্রয়স্থল মধ্যে লেখা হয়েছে পাইথন এবং আপনি দ্রুত এবং সহজেই সহ কিছু সাধারণ প্রশাসনিক ফাংশন, সঞ্চালন করতে সক্ষম হবেন একটি ArcGIS সার্ভার বাকি এডমিন সাথে সংযোগ: - তালিকা আইটেম

  • কোনও পরিষেবা থামানো, শুরু করা বা মোছা
  • একটি পরিষেবা নামকরণ
  • লগ স্তর পরিবর্তন এবং পুরানো লগ সাফ করা
  • একটি এসওই আপলোড এবং নিবন্ধন করুন
  • মানচিত্র পরিষেবা যে জায়গাগুলিতে দেখা হয়েছিল সেগুলি থেকে একটি ফিচারক্লাস তৈরি করা (লগগুলি পর্যবেক্ষণ করে)
  • প্রকাশের পরিষেবা সংজ্ঞা (। এসডি)

এই কিটের অভ্যন্তরীণ সরঞ্জামগুলি তিনটি প্রধান উপায়ে উপস্থাপন করা হয়েছে: সরঞ্জাম, কোড এবং একক কার্যকর ut

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.