In ArcGIS Server 10.7 können Administratoren das Auftragsverzeichnis eines Geoverarbeitungsservice (oder mehrerer Geoverarbeitungsservices) von einem Festplattenspeicherort in einen Microsoft Azure-Cloud-Speicherort ändern. Sind die Ausgaben Ihrer Geoverarbeitungsservices durchweg sehr groß, können Sie Ihre Speicherressourcen mit dieser Option skalieren. Bei dieser Konfiguration werden die Services möglicherweise langsamer ausgeführt.
Hinweis:
Die Ausgabeoption "Kartenbild-Layer" ist bei dieser Konfiguration nicht verfügbar.
Hinweis:
Warnung: Für die JSON-Schemadatei, Hilfe-URLs, Datei- und Raster-Ausgaben ist eine Dateisignatur für alle Benutzer mit Zugriff auf den Service sichtbar. Diese Signatur läuft nach einigen Stunden ab. Es gibt jedoch keine Beschränkungen dahingehend, wo ein Benutzer diese Signatur verwenden kann. Stellen Sie sicher, dass im gesamten Blob Store keine sensiblen Daten vorhanden sind. Überprüfen Sie, ob diese Konfiguration mit der Sicherheitsrichtlinie Ihrer Organisation in Einklang steht.
Vorbereiten der Azure-Umgebung
Sie benötigen ein Microsoft Azure-Konto, um ein Speicherkonto einzurichten und BLOB-Container und -Tabellen darin zu erstellen.
Erstellen eines Azure-Speicherkontos
Ein Speicherkonto muss die folgenden Anforderungen erfüllen:
- Es ist ein Standard-Performance-Speicherkonto erforderlich.
- Bei diesem Konto muss es sich um ein GPv2-Konto (General Purpose v2) handeln. Alle anderen Arten von Speicherkonten weisen nicht die wesentlichen Speicherservices auf, um diese Konfiguration abzuschließen. Wenn Sie noch ein GPv1-Konto (General Purpose v1) verwenden, funktioniert es möglicherweise noch.
- Es wird empfohlen, die heiße Zugriffsebene zu wählen.
- Zusätzliche erweiterte Einstellungen des Speicherkontos können den Anforderungen Ihrer Organisation entsprechend angepasst werden.
Nachdem das Speicherkonto bereitgestellt wurde, kopieren Sie den key1 der Zugriffsschlüssel Ihres Speicherkontos. Sie benötigen diesen, wenn Sie das Konto als Cloud-Speicher bei ArcGIS Server registrieren.
Erstellen eines BLOB-Containers, einer Tabelle und einer Warteschlange
Erstellen Sie einen BLOB-Container für alle Geoverarbeitungsservices und zusätzlich eine Tabelle und eine Warteschlange für asynchrone Geoverarbeitungsservices. Sie alle müssen sich in demselben Speicherkonto befinden.
- Erstellen Sie einen BLOB-Container.
- Wenn Sie einen asynchronen Geoverarbeitungsservice konfigurieren, müssen außerdem optional eine Tabelle erstellen. Andernfalls erstellt ArcGIS Server eine Tabelle für Sie.
- Darüber hinaus müssen Sie eine eindeutige Warteschlange für jeden asynchronen Geoverarbeitungsservice erstellen. Fügen Sie serviceProperties für jeden Service "jobsStoreQueue":"<name of the queue>" hinzu.
Notieren Sie sich die genauen Namen des Containers, der Tabelle und der optionalen Warteschlangen, die Sie erstellen; Sie benötigen sie in den folgenden Schritten.
Verschieben des Auftragsverzeichnisses nach Azure
Nachdem der Azure BLOB-Container und die Tabelle bereitgestellt wurden, registrieren Sie den BLOB-Container in ArcGIS Server, und ändern Sie die Service-Eigenschaften entsprechend.
- Melden Sie sich beim ArcGIS Server-Administratorverzeichnis an, und navigieren Sie zu Element registrieren
- Geben Sie die Verbindungsinformationen des Azure-BLOB-Containers und der Tabelle als JSON-Zeichenfolge an. Schauen Sie sich das nachfolgende Beispiel an.
Registrieren Sie das Element.
Ersetzen Sie in diesem Beispiel den dataname, myaccountkey, storageaccountname, containername, optionalfoldername und den tablename durch Ihre Artefakte.
{ "path": "/cloudStores/dataname", "type": "cloudStore", "provider": "azure", "info": { "isManaged": false, "connectionString": { "accountKey":"myaccontkey", "accountName":"mystorageaccountname", "defaultEndpointsProtocol":"https", "accountEndpoint":"core.windows.net", "credentialType":"accessKey" }, "objectStore": "containername/optionalfoldername", "tableStore":"tablename" } }
- Kehren Sie zur Startseite des Administratorverzeichnisses zurück, und klicken Sie auf Services.
- Suchen Sie nach dem Geoverarbeitungsservice, den Sie für die Verwendung des Azure-BLOB-Containers konfigurieren möchten, klicken Sie auf den Service-Namen, und klicken Sie dann auf edit.
- Fügen Sie der JSON-Repräsentation des Service die folgenden Schlüsselpaare mit einem neuen eindeutigen serviceId, den Namen des Cloud-Speichers und die Warteschlange für den betreffenden Service hinzu:
Konfiguration für asynchrone Geoverarbeitungsservices
{ "serviceId": "<a unique service ID>", "jobQueueStore":"/cloudStores/<name of your cloud store>", "jobTableStore": "/cloudStores/<name of your cloud store>", "outputStore": "/cloudStores/<name of your cloud store>", "jobObjectStore": "/cloudStores/<name of your cloud store>", "jobsStoreQueue": "<name of the queue>" }
Konfiguration für synchrone Geoverarbeitungsservices
{ "serviceId": "<a unique service ID>", "outputStore": "/cloudStores/<name of your cloud store>", "jobObjectStore": "/cloudStores/<name of your cloud store>" }
Tipp:
Der <name of the cloud store> befindet sich am Ende des Endpunkts der Datenelement-URL im Administratorverzeichnis.
- Klicken Sie zur Bestätigung auf Änderungen speichern. Der Geoverarbeitungsservice wird automatisch neu gestartet; das dauert einen Moment.
- Wenn Sie mehrere Geoverarbeitungsservices für die Verwendung des Azure BLOB-Containers als Auftragsverzeichnis konfigurieren möchten, wiederholen Sie die Schritte 4 bis 6 für jeden Service.
JSON-Beispiel
Ändern Sie die JSON-Datei für die Service-Eigenschaften des Geoverarbeitungsservice, indem Sie die in vorstehendem Schritt 5 erforderlichen Schlüsselwertpaare hinzufügen.
Bearbeiten Sie den GPServer. Unten sehen Sie eine gekürzte JSON für die Konfiguration des asynchronen Geoverarbeitungsservice.
{
"serviceName": "myGPService1",
"resultMapServer": "false",
"maximumRecords": "1000",
"virtualOutputDir": "/rest/directories/arcgisoutput",
"serviceId": "<this_is_a_unique_serviceid>",
"jobQueueStore":"/cloudStores/<name of your cloud store>",
"jobTableStore": "/cloudStores/<name of your cloud store>",
"outputStore": "/cloudStores/<name of your cloud store>",
"jobObjectStore": "/cloudStores/<name of your cloud store>",
"jobsStoreQueue": "<this_is_a_unique_queue_name>",
"portalURL": "https://domain/webadaptor/",
"toolbox": "<... removed to save space ...>"
},
"portalProperties": "",
"extensions": "",
"frameworkProperties": {},
"datasets": []
}