Tento článek je aktualizací předchozího blogu mého kolegy @BruceHarold publikovaného před nějakou dobou. I když jsou pracovní postup a zdroje dat stejné, toto řešení odstraňuje veškerý dříve přidaný kód díky síle transformátoru Workbench nazvaného HTTPCaller a ArcGIS REST API<\/SPAN>.<\/P>S několika změnami původního řešení vytvoříme webové integrace mezi weby s ArcGIS Online.<\/P>Také zdůrazním několik vylepšení Data Interoperability od doby, kdy byl tento předchozí blog napsán před pěti lety. K tomuto blogu patří novější verze pracovního příkladu, kterou si můžete stáhnout z odkazu níže.<\/P>Dokážete poznat rozdíl?<\/STRONG><\/P>Zm11nili jsme cílové úložiště z file geodatabase na ArcGIS Online. Pomocí funkce Compare Workspace můžete vidět vizuální změny na plátně, které vám pomohou upravit existující pracovní prostor. Read Only<\/STRONG> pracovní prostor napravo je původní a nový Editable<\/STRONG> je nový pracovní prostor. V okně Editable<\/STRONG> Navigator<\/STRONG> jsou objekty modrozelené barvy nové objekty, žluté jsou upravené. <\/P>Cílová třída prvků Observations purpurové barvy v původním pracovním prostoru je nyní změněna na modrou vrstvu prvků AGOL v novém pracovním prostoru. <\/P>Přidali jsme dva transformátory a odstranili všechny Python skripty, které byly součástí původního příkladu.<\/P>Přidán byl FeatureMerger, který nahrazuje výstup Match table, a tento typ prvku Match Table je nahrazen HTTPCallerem.<\/P>Python kód, který přidával přílohy, je nyní nahrazen konfigurací HTTPCallera volajícího AddAttachment REST endpoint služby ArcGIS Server feature service.<\/P>
Compare Workspaces<\/span><\/span><\/P>Začněte s Web Connection<\/STRONG><\/P>Toto musíte udělat pouze jednou v menu Tools ---> FME Options<\/STRONG>. Pro referenci, jak vytvořit web connection, prosím viz tento článek. Tento článek ukazuje, jak vytvořit web connection pro ArcGIS Enterprise, nicméně kroky jsou stejné i pro ArcGIS Online. Jakmile máte web connection, pojďme se pustit do detailů.<\/P>Zahoďte kód a naučte se konfigurovat HTTPCaller pro přidávání příloh<\/STRONG><\/P>Ano, zahodit python skripty. Aby bylo možné znovu použít příklad s vaší vlastní instancí AGOL, musíte pochopit, jak konfigurovat HTTPCaller změnou parametrů označených červenými šipkami níže.<\/P>
HTTPCaller configuration for AddAttachment end point<\/span><\/span>Nejlepším místem pro naučení se konfigurace je přečtení AddAttachment API stránky nápovědy. Ano, přečtěte si Popis nebo jak říkají "read the fine print". Buďte si vědomi limitů, velikosti, formátů a dalších důležitých informací. Jen proto, že je to bez kódu, neznamená to, že je to plug and play.<\/P>Zde je URL požadavku: https://<root>/<serviceName>/FeatureServer/<layerId>/<featureId>/addAttachment<\/P>Níže je to, co je nakonfigurováno v Request URL pro tento stažený příklad:<\/P> <\/P>https://services7.arcgis.com/eeZcUziwi5hzGEGs/ArcGIS/rest/services/r2r/FeatureServer/0/@Value(ID)/AddAttachment<\/code><\/pre> <\/P>Parametr <featureid><\/STRONG> @Value(id)<\/EM> je dynamický, ale zbytek je pevně zakódován. Otázka zní: odkud získáte URL <root><\/STRONG>?<\/P>Trik je jít na stránku položky AGOL feature layeru, kliknout na vrstvu Observations pod Layers pro otevření stránky položky vrstvy Observations a posunout dolů až uvidíte sekci URL v pravém panelu pod Detaily.<\/P>
Right pane of the AGOL feature layer item<\/span><\/span>Klikněte na tlačítko View pro otevření dialogu pop-up feature service rest endpointu. <\/P>
Click View to Open the feature Server feature service pop up<\/span><\/span><\/P>Když se otevře stránka ArcGIS REST Services Directory, posuňte se nahoru a v levém horním rohu stránky klikněte pravým tlačítkem myši na vrstvu Observations a klikněte na Kopírovat adresu odkazu (Copy Link Address), pokud používáte Chrome jako prohlížeč.<\/P>
Copying the root URL plus token from the feature service page<\/span><\/span><\/P>Tím získáte URL <root><\/STRONG> plus token k nahrazení toho, co je nakonfigurováno ve vzorovém HTTPCalleru. Protože budete vytvářet web connection, odstraňte token z této zkopírované URL. Vložte tuto URL do Request URL transformátoru.<\/P>K dokončení konfigurace HTTPCallera existuje skrytý parametr v sekci Multipart Upload HTTPCallera, viz níže. Toto není uvedeno ve "fine print" API, ale krátce zmíněno na stránce nápovědy HTTPCallera.<\/P>
Multipart form required parameter values<\/span><\/span><\/P>V řádku attachment<\/STRONG>, kde je Upload Type<\/STRONG> nastaveno na File Upload, musíte nakonfigurovat mime-type přílohy, který se zobrazí po kliknutí na menu se třemi tečkami ve sloupci Value<\/STRONG>. Tento skrytý parametr má výchozí hodnotu application/octet-stream a pokud neodpovídá souboru, způsobí selhání AddAttachment.<\/P>
Dynamic mime-type attribute<\/span><\/span><\/P>Poznámka: Hodnota mime-type<\/STRONG>, kterou jsem nakonfiguroval pro parametr MIME-Type<\/STRONG>, je ve skutečnosti dynamický atribut vytvořený v datovém toku. To je užitečné při práci s více typy příloh (např. pdf, jpg, png a dalšími). Kde je tento atribut vytvořen? Najděte ho v AttributeManager před HTTPCallerem. Použil jsem atribut path_extension<\/STRONG>, přejmenoval ho na mime-type <\strong>a přiřadil podmíněnou hodnotu založenou na příponě souboru.<\p> role="button" title="RenatoSalvaleon3_2-1734664614038.png" alt="Vytváření atributu mime-type pro povolení nahrávání specifických podporovaných formátů" \/>Vytváření atributu mime-type pro povolení nahrávání specifických podporovaných formátů<\/span><\/span><\/P>Ujistěte se, že víte, jaké přípony souborů nahráváte a jaké jsou jejich mime-typy. Pro seznam podporovaných typů souborů v AGOL si prosím prohlédněte tento odkaz<\/A>.<\/P>Potřebuji upgradovat své Upgradeable Transformers<\/STRONG><\/P>Další novou funkcí je možnost Upgrade All Transformers. Předchozí verze této funkce umožňovala upgradovat jeden transformer najednou. V navigačním panelu níže si všimněte, že je potřeba aktualizovat 21 transformerů. Jedním kliknutím na tlačítko a po několika výzvách je vaše pracovní plocha upgradována. Můžete také zvolit, zda chcete zálohovat svou pracovní plochu nebo ne.<\/P>
Upgrade the transformers on your canvass<\/span><\/span><\/P>Pro úspěšné spuštění tohoto nového řešení není nutné tyto transformery upgradovat, ale vždy je dobrá praxe to udělat. Níže uvedený finální příklad bude mít všechny tyto transformery upgradovány na nejnovější a nejlepší verzi.<\/P>Spuštění pracovní plochy<\/STRONG><\/P>Řešení je záměrně navrženo tak, aby spouštělo dvě záložky (bookmarks) samostatně. Před spuštěním jakékoli záložky se ujistěte, že máte povoleno cache.<\/P>Záložka jedna vytváří službu prvků Observations a zapisuje její prvky. Záložku spustíte kliknutím a podržením kurzoru na horní části záložky, dokud se nezobrazí malé ikony nahoře. Klikněte na tlačítko Spustit pouze obsah (Run Just Contained).<\/P>
Bookmark One - Write Observation features<\/span><\/span><\/P> <\/P>Před spuštěním záložky dvě se musíme vrátit k nově vytvořené vrstvě prvků v AGOL a kliknout na posuvník Enable Attachment, aby byl nastaven na True. Toto je nutné, protože parametr Enable attachment u vrstvy prvků Observations musí být nastaven na True před spuštěním záložky dvě. Protože nástroj vytváří službu prvků v záložce jedna, Enable attachment bude ve výchozím nastavení nastaveno na False. <\/P>
Enable attachments<\/span><\/span><\/P> S povolenými přílohami můžeme spustit záložku dvě pro přidání příloh souvisejících s vrstvou prvků Observations.<\/SPAN><\/P> <\/P>
Bookmark two - Upload attachments<\/span><\/span><\/P> <\/P>Poznámka, že při dalším spuštění řešení a nastavení Feature Type Handling<\/STRONG> na Truncate Existing,<\/EM> bude Enable Attachment stále nastaveno na True.<\/P>
Feature Type Handling set to Truncate Existing for future runs<\/span><\/span><\/P> <\/P>V původním řešení je Enable Attachment prováděno pomocí Python shutdown skriptu. Toto řešení můžete upravit tak, aby automatizovalo Enable Attachment přidáním UpdateDefinition rest endpointu, ale rád bych toto řešení ponechal jednoduché a záměrné. <\/P>Nechám vylepšení na vás. Pokud plánování a jednorázové spuštění zapadá do vašeho pracovního postupu, pravděpodobně budete potřebovat toto vylepšení. <\/P>Nápověda: Pokud chcete provést kompletní automatizaci, obrázek níže bude užitečným začátkem.<\/P>
Adding Enable Attachment to your solution<\/span><\/span><\/P> <\/SPAN><\/BLOCKQUOTE>Vizualizujte svou práci<\/SPAN><\strong>
Moje oblíbená aplikace pro zobrazení výsledků je Instant App šablona Attachment Viewer. Jako kouzlem se všechny mé přílohy zobrazí na interaktivní mapě a ve foto prohlížeči.<\ / span > <\ / p >

Výsledky řešení zobrazené pomocí šablony Instant App Attachment Viewer < / span >
< / span >
< / p >
& nbsp ; < / p >
Konečné slovo
Než začnete prohledávat své síťové sdílení a pevné disky kvůli obrázkům, vezměte prosím na vědomí, že přílohy mají v AGOL náklady na úložiště a bylo by nezodpovědné vás o těchto nákladech neinformovat. Zde je průvodce k
pochopení kreditů AGOL .
I když existují zavedené vzory pro automatizaci a integraci dat s přílohami, každé řešení musí zvážit několik faktorů. Některé z těchto faktorů jsem podrobně popsal v tomto článku. Pro geodatabáze je původní řešení s Python Shutdown skriptem stále nejlepší přístup. Řešení AGOL je jednodušší a dobře funguje pro vizualizaci dat s přílohami. Tak si vyberte svou kořenící směs a vyberte ji dobře.
To je vše, můžete začít prohledávat své disky a nahrávat své přílohy do AGOL.