Làm cách nào để lấy thông tin kết nối từ tệp kết nối .ags?


8

Tôi đang làm việc với tập lệnh Python để quản lý các dịch vụ ArcGIS Server (xuất bản dịch vụ mới, cập nhật dịch vụ hiện có, xóa dịch vụ cũ, v.v.) theo từng đợt trên nhiều môi trường (ví dụ: dev, test và sản xuất) và các phiên bản (2+ cho mỗi môi trường).

Để xuất bản dịch vụ, bạn có thể sử dụng các tệp kết nối ArcPy và AGS, nhưng để làm bất cứ điều gì ngoài điều đó (ví dụ: liệt kê các dịch vụ hiện có, bắt đầu / dừng / xóa dịch vụ), bạn cần sử dụng API REST của AGS Admin , sử dụng xác thực dựa trên mã thông báo, và để nhận được mã thông báo, bạn cần gửi tên và mật khẩu của người dùng.

Việc phải chỉ định URL máy chủ, tên người dùng và mật khẩu mỗi lần sẽ gây nhàm chán cho người dùng, đặc biệt nếu họ đang làm việc với nhiều phiên bản AGS cùng một lúc, như tập lệnh của tôi. Tôi rất thích nếu họ chỉ có thể sử dụng các tệp kết nối AGS có sẵn của họ thay vào đó, mà họ cần để xuất bản bất kể.

Có cách nào để lấy thông tin kết nối (ví dụ: URL máy chủ, tên người dùng, mật khẩu) từ .agstệp kết nối AGS ( ) theo chương trình - lý tưởng với Python không? arcpy.Describecoi chúng là những tập tin ngu ngốc và không thể làm gì với chúng.

Nếu không có cách nào để làm điều đó thì tôi cho rằng tôi sẽ phải yêu cầu một bước cấu hình bổ sung để tạo và lưu trữ mã thông báo cục bộ trong một thời gian dài vì nó sẽ quá cồng kềnh khi phải nhắc người dùng thông tin đăng nhập cho mỗi phiên bản AGS mỗi lần họ sử dụng kịch bản.

Câu trả lời:


5

Tóm lại, không. Không có cách nào để trích xuất thông tin đó từ tệp .ags mà không cần nỗ lực lớn và một số kỹ thuật đảo ngược nghiêm trọng. Esri đã thiết kế theo cách đó bởi vì có một tệp chứa tên miền đủ điều kiện của máy chủ cũng như thông tin đầy đủ của người dùng có quyền truy cập vào máy chủ đó sẽ gây rủi ro bảo mật lớn.

Ngoài ra, chỉ vì người dùng có quyền xuất bản dịch vụ, không có nghĩa là họ có thể bắt đầu và dừng dịch vụ trên Máy chủ GIS, vì vậy logic của bạn chỉ vì họ có tệp kết nối máy chủ (tệp .ags) nên họ có thể truy cập các điểm cuối của Quản trị viên REST và các dịch vụ bắt đầu / dừng là một chút thiếu sót, trừ khi tôi hiểu sai bài đăng của bạn.


1
Cảm ơn - khá nhiều những gì tôi giả sử là trường hợp. Chỉ cần một nỗi đau là tất cả. Tất nhiên các tệp .ags sẽ cần được bảo vệ, giống như các tệp .sde. Nhưng ít nhất bạn thực sự có thể sử dụng các tập tin .sde cho mục đích dự định của họ. Các tệp AGS dường như ít hữu ích hơn, ít nhất là cho các mục đích kịch bản. Và tôi nhận thấy sự khác biệt giữa các kết nối nhà xuất bản và quản trị viên, chúng tôi chủ yếu sử dụng kết nối sau.
blah238
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.