当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ArcGIS PortalDataStore.describe用法及代码示例


本文简要介绍 python 语言中 arcgis.gis._impl._datastores.PortalDataStore.describe 的用法。

用法:

describe(item, server_id, path, store_type='datastore')

返回:

StatusJob 对象

describe 方法用于列出作为数据存储项添加到 Enterprise 的数据存储的内容。客户端可以多次使用此方法来逐步发现数据存储的内容。例如,客户端可以请求根文件夹的说明,然后请求子文件夹。

Parameter

Description

item

必填项目。数据存储Item来说明。

server_id

必需的字符串。项目注册到的服务器的唯一 ID。

注意:

您可以从联合返回的字典中检索server_id 值。

# Retrieve server ids
>>> gis_federation = gis.admin.federation.servers
>>>
>>> server_list = gis_federation["servers"]
>>> server_list
>>>
>>> [{'id': 'W2ozgK50Le9CjrI4',
     'name': 'mymachine.domain.com:6443',
     'url': 'https://mymachine.domain.com/mywebadaptor_name',
     'isHosted': True,
     'adminUrl': 'https://mymachine.domain.com:6443/arcgis',
     'serverRole': 'HOSTING_SERVER',
     'serverFunction': '',
     'webgisServerTrustKey': ''}]
>>>
>>> host_id = server_list[0]["id"]

path

必需的字符串。任何数据存储根 (“/”) 的路径,或根内 sub-folder 或实体的路径。

store_type

必需的字符串。对于根资源,对象类型应为 datastore ,对于 sub-entities,该值取决于数据存储的数据类型。可以通过查看 describe() 返回的 type 值来确定值

例子:

# Usage Example: Data store item added using an enterprise geodatabase

>>> ds_items = gis.content.search("*", item_type="Data Store")
>>>
>>> for ds_item in ds_items:
>>>     print(f"{ds_item.title:33}{ds_item.id}{' '*2}{ds_item.get_data()['type']}")
>>>
   City_Service                     ea9a628b037........7cf29eda554d3  bigDataFileShare
   CityParks2 Datastore Item API    a188c1f5b42........eb1f8dea03a8e  egdb
   various_imagery                  c6971f24a25........fe22d7142f835  folder
>>>
>>> egdb_dsitem = ds_items[1]
>>>
>>> portal_ds = gis.datastore
>>>
>>> describe_job = portal_ds.describe(item=egdb_dsitem,
                                      server_id=host_id,
                                      path="/",
                                      store_type="datastore")
>>>
>>> while describe_job.status == "processing":
>>>     continue
>>> if describe_job.status == "succeeded":
>>>     describe_egdb = describe_job.result()
>>> else:
>>>     print(f"Job status: {describe_job.status}")
>>>     print(f"Job messages: {describe_job.messages}")
>>>
>>> describe_egdb

    {'id': '6bd436223f2b433285f58cf1df5bccef',
     'definition': {'operation': 'describe',
      'datastoreId': 'a25ae2f4c4674bf4799eb2f4fdae3b8f',
      'serverId': 'K2ozgC10aL6ECdm2',
      'path': '/',
      'type': 'datastore'},
     'status': 'succeeded',
     'created': 166512637...1,
     'modified': 16574263...8,
     'messages': [],
     'result': {'datastore': {'name': 'world_db_0klt50rsl52d4',
       'type': 'egdb',
       'path': '/',
       'datastoreId': 'a25ae2f4c4674bf4799eb2f4fdae3b8f'},
      'children': [{'name': 'world.DATAo.World_Data',
        'displayName': 'World_Data',
        'type': 'featureDataset',
        'datastoreId': 'a25ae2f4c4674bf4799eb2f4fdae3b8f',
        'path': '/world.DATAo.World_Data'},
       {'name': 'world.DATAo.Forest_Landscapes',
        'displayName': 'Forest_Landscapes',
        'type': 'featureDataset',
        'datastoreId': 'a25ae2f4c4674bf4799eb2f4fdae3b8f',
        'path': '/world.DATAo.Forest_Landscapes'}]}}
>>>
>>> # describe sub-entity of the database data store
>>>
>>> describe_job_sub = portal_ds.describe(item=egdb_dsitem,
                                          server_id=host_id,
                                          path="/world.DATAo.Forest_Landscapes'",
                                          store_type="featureDataset")

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.gis._impl._datastores.PortalDataStore.describe。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。