本文簡要介紹 python 語言中 arcgis.gis._impl._datastores.PortalDataStore.publish_layers
的用法。
用法:
publish_layers(item, srv_config, server_id, *, folder=None, server_folder=None, sync_metadata=None, use_config=None, future=False)
返回:
當
future=False
時為布爾值,否則為StatusJob
對象
publish_layers
操作從數據庫數據存儲Item
發布或同步數據集。這導致每個數據集至少有一層。注意:
第一次調用此操作時,必須為每個參數提供一個參數。在後續調用中,此方法會將數據存儲中的數據集與企業中創建的圖層進行同步,其中包括從新添加的數據集中發布圖層以及刪除數據存儲中不再找到的數據集的圖層。
Parameter
Description
item
必填項目。數據存儲
Item
保存要發布的內容。srv_config
必需的字典。將用作將發布或同步的所有服務的模板的 JSON。此 JSON 可用於更改輸出Map和要素服務的屬性。
注意:此參數僅支持啟用要素服務的Map服務配置。
server_id
必需的字符串。數據集將發布到的 serverId。
注意:使用
gis.admin.federation.servers
獲取與企業門戶聯合的各個服務器的 ID 值。folder
必需的字符串。數據集將發布到的文件夾。
注意:該文件夾必須存在於企業門戶中。
server_folder
必需的字符串。服務器文件夾的名稱。
注意:如果該文件夾不存在,該方法將創建它。
sync_metadata
可選布爾值。確定執行同步時是否使用源數據集的元數據更新項目信息詳細信息。默認為 false。
use_config
可選布爾值。如果為 true,新的
srv_config
將應用於所有層。future
可選布爾值。如果為 False,則返回該值,否則返回
StatusJob
。例子:
# Usage Example: bulk publishing from enterprise geodatabase data store item >>> ds_items = gis.content.search("*", item_type="Data Store") >>> >>> db_dsitem = [ds for ds in ds_items if ds.get_data()["type"] == "egdb"][0] >>> >>> portal_folderid = [f["id"] >>> for f in gis.users.me.folders >>> if f["title"] == "My_Bulk_Layers_Folder"] >>> >>> service_template = {"serviceName": None, >>> "type": "MapServer", >>> "capabilities":"Map,Query", >>> "extensions": [{"typeName": "FeatureServer", >>> "capabilities":"Query,Create,Update,Delete", >>> "enabled": "true", >>> "properties": {"maxRecordCount": 3500}}]} >>> >>> >>> portal_ds = gis.datastore >>> >>> bulk_publish_job = portal_ds.publish_layers(item = db_dsitem, >>> srv_config = service_template, >>> server_id = host_id, >>> folder = portal_folderid, >>> server_folder="bulk_egdb_layers", >>> future=True) >>> >>> while bulk_publish_job.status == "processing": >>> continue >>> if bulk_publish_job.status == "succeeded": >>> bulk_publish_res = bulk_publish_job.result() >>> else: >>> print(f"Job Status: {bulk_publish_job.status}") >>> print(f"Job Messages: {bulk_publish_job.messages}")
相關用法
- Python ArcGIS PortalDataStore.publish用法及代碼示例
- Python ArcGIS PortalDataStore.register用法及代碼示例
- Python ArcGIS PortalDataStore.unregister用法及代碼示例
- Python ArcGIS PortalDataStore.servers用法及代碼示例
- Python ArcGIS PortalDataStore.describe用法及代碼示例
- Python ArcGIS PortalDataStore.layers用法及代碼示例
- Python ArcGIS PortalDataStore.validate用法及代碼示例
- Python ArcGIS PortalDataStore.delete_layers用法及代碼示例
- Python ArcGIS PortalDataStore.refresh_server用法及代碼示例
- Python ArcGIS PortalDataStore用法及代碼示例
- Python ArcGIS PortalLicense.update用法及代碼示例
- Python ArcGIS PortalAdminManager.mode用法及代碼示例
- Python ArcGIS Polygon.coordinates用法及代碼示例
- Python ArcGIS Point3DLayer用法及代碼示例
- Python ArcGIS Point.coordinates用法及代碼示例
- Python ArcGIS PointCloudLayer用法及代碼示例
- Python ArcGIS Polyline.coordinates用法及代碼示例
- Python ArcGIS PageManager.link用法及代碼示例
- Python ArcGIS Project用法及代碼示例
- Python ArcGIS ProfileManager.create用法及代碼示例
- Python ArcGIS ProfileManager.get用法及代碼示例
- Python ArcGIS PageManager.clone用法及代碼示例
- Python ArcGIS ProfileManager.save_as用法及代碼示例
- Python ArcGIS Page.delete用法及代碼示例
- Python ArcGIS PageManager.add用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.gis._impl._datastores.PortalDataStore.publish_layers。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。