你好-我不认为这部分来自企业的帮助
管理托管的功能层-门户为ArcGIS |文档为ArcGIS企业
10.8完全准确:
您可以允许编辑器将图像和其他文件附加到托管功能层中某一层中的单个功能上。这很有用,因为它允许您将文档或照片与特定的相关功能关联起来。例如,规范合规官员可能会附上特定地址点违反规范的照片,或者建筑物检查员可能会包括建筑物特征许可的PDF文件。
每个托管功能层视图都继承创建它的托管功能层的附件设置。默认情况下,所有视图用户都可以看到从托管特性层继承的附件。要控制谁可以访问这些附件,您可以隐藏附件在托管特性层视图中。
附加到功能的每个文件的最大大小为2gb。附加大于2gb的文件,你可以使用上传部分和添加附件操作从ArcGIS REST API做一个多部分上传. . . . . .”
我发现,当通过2.5共享或覆盖托管特性层时。x ArcGIS Pro共享模块到Enterprise 10..8,最大服务定义文件大小似乎是2 gb。
在我的例子中,我有一个点层,大约有3600条记录和pdf附件。最大的附件大约9MB。但是,服务定义文件的总大小超过了2GB,并且共享模块覆盖现在以99999失败。
具体来说,:
# #arcpy。UploadServiceDefinition_server('C:/ArcProProjects/PortalUpdates/Environmental/' + lyr.name + ')sd”、“我的托管服务 ', "","","","",""," OVERRIDE_DEFINITION”、“SHARE_ONLINE”、“公众”,
# #“SHARE_ORGANIZATION”、“”)
失败是因为我认为整个sd文件的大小不能超过2GB。
有人遇到过这种情况吗?
嗨,乔纳,谢谢。是的,这也是我对SD文件的看法。我从来没在任何地方读到过这些东西的大小限制。是的,最大的附件(这里是pdf)大约有9.5Mb。我喜欢在IDLE for Pro中工作-这里是我的代码片段:
defstageSDDraft(国会议员,lyrName,总结,层,深,,文件夹,标签,sdfolder):sddraft_out=“C: / ArcProProjects / PortalUpdates /”+sdfolder+“/”+lyrName+“.sddraft”草案=国会议员.getWebLayerSharingDraft(“HOSTING_SERVER”,“特性”,lyrName,层)草案.portalFolder=文件夹草案.标签=标签# #草案。allowexport = True草案.总结=草案总结.描述=描述草案.overwriteExistingService=真正的草案.exportToSDDraft(sddraft_out)返回试一试:门户网站=arcpy.SignInToPortal(“https://ags3.myorg.net/portal”,“userName_portal”,“userNamePw”)近似=arcpy.国会议员.ArcGISProject(“C: / ArcProProjects / PortalUpdates / PortalUpdates.aprx ')为米在近似.listMaps(“FloodAttachments”):打印(地图:“+米.名字)为层在米.listLayers():desc=arcpy.描述(层)如果层.名字= =“ElevationCertificate”:打印(层.名字)lyrList=[]lyrList.附加(米.listLayers(层.名字)[0])stageSDDraft(米,层.名字,“Elevation Certificate点层包含家庭地址和有完成的地板标高记录的企业是高于联邦应急管理局指定的有效基本洪水高度.lyrList,“Elevation Certificate点层包含家庭地址和已记录完成地板标高的企业是高于联邦应急管理局指定的有效基础洪水高度.证书是访问作为一层附件.”,“EnvironmentalLayers”,“地籍、环境、服务”,“环境”)打印(层.名字+“草稿创建”)arcpy.StageService_server(“C: / ArcProProjects / PortalUpdates /环境/ '+层.名字+“.sddraft”,“C: / ArcProProjects / PortalUpdates /环境/ '+层.名字+“.sd”)打印(层.名字+“服务分阶段”)arcpy.UploadServiceDefinition_server(“C: / ArcProProjects / PortalUpdates /环境/ '+层.名字+“.sd”,“我的托管服务”,”“,”“,”“,”“,”“,“OVERRIDE_DEFINITION”,“SHARE_ONLINE”,“公共”,“SHARE_ORGANIZATION”,”“)打印(层.名字+“服务已上载”)消息=消息+“\ n”+“1”。+(层.名字)+“服务已上载”
这很简单。然而,你可能是对的,还有另一个问题。由于附件的构造方式,我已经每周覆盖这个特征层好几年了。
附件从另一个记录系统中拉入,然后我们使用GP将它们转储到另一个目录中,然后通过匹配表将它们附加到点上。
我要试着用一个新的图层,新的SD文件等来设置它,看看它是否有效.....
这是我收到的门户错误:
添加或更新项目'1cab88c8bef743baab32716aa17e9724'失败。写入文件:D:\arcgisportal\content\items\1cab88c8bef743baab32716aa17e9724\FloodCert.sd出错
请注意,这是一个全新的层(但相同的数据和附件)复制到我的文件gdb,并添加到我的专业项目的映射,所以在这种情况下不是覆盖,而是一个新的写入。
我想我有一个损坏的附件或附件,或者有我的门户,服务器和数据存储之间的通信错误(尽管所有组件测试正确)。所以当约拿躺之前建议可能有其他问题发生在我的环境或层。
不幸的是,我的组织确实滥用了附件功能。我不认为附件应该取代文档搜索系统或存储库。
原来这是附件文件名中无效字符和一些无效附件类型的结果。10.8的Postgres数据存储不喜欢名称中的某些字符——括号、大括号、破破号、句号都可能导致问题。
在这种情况下,一些无效的电子邮件附件类型。米sg" and some period "." characters in the file names caused an 'Object Store Exception' error. Datastore thought that was the file name.
令人惊讶的是,ArcGIS Online托管这一层没有任何问题,我猜它的数据存储可以处理这些事情。
有趣的发展约拿躺在这种情况下,在删除了错误的命名约定和无效的附件类型之后,sd文件仍然无法用pro共享模块或api完成覆盖。pro模块以相同的5.9的代码失败,而api featureLayerCollection.manager.overwrite(data_file=sdFile)方法失败
期望值:在一定时间后的第1行第1列(char 0)。(在传送门上6分钟,到agol约21分钟)
这表明一个不好的名称或附件类型,但如果是这样的话,我认为这个层会失败,它是。add和。publish添加为一个新层。另一方面,存在大小和托管功能层的问题:
BUG-000127663导出包含大附件的托管特性层失败
导出的文件geodatabase超过2gb。
需要明确的是,其他带有附件(带有标准附件名称和类型)的小于2Gb的服务定义文件/层没有任何添加、发布、覆盖或pro共享模块问题。