本文简要介绍 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。