Saya sedang mengerjakan skrip Python untuk mengelola layanan ArcGIS Server (menerbitkan layanan baru, memperbarui layanan yang ada, menghapus layanan lama, dll.) Secara batch di berbagai lingkungan (mis. Dev, pengujian dan produksi) dan instance (2+ per lingkungan).
Untuk mempublikasikan layanan, Anda dapat menggunakan file koneksi ArcPy dan AGS, tetapi untuk melakukan apa pun di luar itu (misalnya daftar layanan yang ada, mulai / hentikan / hapus layanan), Anda perlu menggunakan AGS Admin REST API , yang menggunakan otentikasi berbasis token, dan untuk mendapatkan token Anda harus mengirimkan nama dan kata sandi pengguna.
Harus menentukan URL server, nama pengguna dan kata sandi setiap kali akan membosankan bagi pengguna, terutama jika mereka bekerja dengan lebih dari satu contoh AGS pada suatu waktu, seperti yang dilakukan skrip saya. Saya lebih suka jika mereka bisa menggunakan file koneksi AGS yang sudah ada sebelumnya, yang mereka butuhkan untuk penerbitan terlepas.
Apakah ada cara untuk mendapatkan info koneksi (mis. URL server, nama pengguna, kata sandi) dari koneksi AGS ( .ags
) file secara terprogram - idealnya dengan Python? arcpy.Describe
menganggap mereka file bodoh dan tidak bisa berbuat apa-apa dengan mereka.
Jika tidak ada cara untuk melakukan itu maka saya kira saya harus memerlukan langkah konfigurasi tambahan untuk menghasilkan dan menyimpan token secara lokal untuk jangka waktu yang lama karena akan terlalu rumit untuk meminta pengguna untuk kredensial untuk setiap contoh AGS setiap kali mereka menggunakan skrip.