Skip To Content

Verschieben des Auftragsverzeichnisses eines Geoverarbeitungsservice in einen Microsoft Azure-Speicher

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, während die übrigen Serververzeichnisse unverändert bleiben. Sind die Ausgaben Ihrer Geoverarbeitungsservices durchweg sehr groß, können Sie Ihre Speicherressourcen mit dieser Option skalieren.

Hinweis:

War bei der Veröffentlichung des Webwerkzeugs die Option Ausgabe im Kartenbild-Layer anzeigen aktiviert, können Sie den Cloud-Speicher nicht als Auftragsverzeichnis für den resultierenden Geoverarbeitungsservice verwenden. Der Service würde beschädigt werden, wenn Sie die Änderung in diesem Workflow vornehmen.

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.
  • Dabei kann es sich um ein GPv2-Konto (General Purpose v2) (empfohlen) oder ein GPv1-Konto (General Purpose v1) handeln. BLOB-Speicher, Block-BLOB-Speicher und Azure Files-Speicherkonten werden nicht unterstützt.
  • 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 und einer Tabelle

Erstellen Sie einen BLOB-Container und eine Tabelle in demselben Speicherkonto. Der Geoverarbeitungsservice kann diese nicht identifizieren, wenn sie sich in unterschiedlichen Speicherkonten befinden.

Notieren Sie sich den genauen Namen der von Ihnen erstellten Tabelle; Sie werden ihn in ArcGIS Server verwenden.

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.

  1. Melden Sie sich bei ArcGIS Server Manager an, und registrieren Sie den BLOB-Container Ihres Speicherkontos auf dem Server.
  2. Wenn der BLOB-Container als Cloud-Speicher registriert wurde, verknüpfen Sie ihn über die REST-API mit der Azure-Tabelle. Melden Sie sich beim ArcGIS-Server-Administratorverzeichnis unter https://gisserver.domain.com:6443/arcgis/admin an.
  3. Wechseln Sie zu data > items > /CloudStores, suchen Sie nach dem neuen BLOB-Container, und klicken Sie auf edit, um den Endpunkt "Edit Data Item" zu öffnen.
  4. Fügen Sie in der JSON-Darstellung des Elements das folgende Schlüsselpaar mit dem Namen der Azure-Tabelle hinzu:

    "tableStore":"<name of Azure table>"

  5. Klicken Sie zur Bestätigung auf Aktualisieren.
  6. Kehren Sie zur Startseite des Administratorverzeichnisses zurück, und klicken Sie auf Services.
  7. Suchen Sie nach dem Geoverarbeitungsservice (bzw. nach einem der Services), 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.
  8. Suchen Sie in der JSON-Darstellung des Service nach dem folgenden Schlüsselpaar, und bearbeiten Sie es mit dem Namen des Cloud-Speichers:

    "jobsDirectory":"/cloudStores/<name of your cloud store>"
    Tipp:

    Der Name des Cloud-Speichers befindet sich am Ende des Endpunkts der Datenelement-URL im Administratorverzeichnis.

  9. Klicken Sie zur Bestätigung auf Änderungen speichern.
  10. Wenn Sie mehrere Geoverarbeitungsservices für die Verwendung des Azure BLOB-Containers als Auftragsverzeichnis konfigurieren möchten, wiederholen Sie die Schritte 4 bis 9 für jeden Service.

JSON-Beispiel

In diesem Beispiel verfügt Ihr Azure-Konto über ein Speicherkonto namens mystorageaccount und dieses Speicherkonto enthält den BLOB-Container myblob und die Tabelle mytable. Der key1 von mystorageaccount ist thisisafakekey12345. Sie möchten, dass der Geoverarbeitungsservice myGPService1 den Azure-Speicher für sein Auftragsverzeichnis verwendet.

Während des Registrierungsprozesses lautet der Cloud-Speicher-Name azureblob.

Wenn Sie die Eigenschaften des Cloud-Speichers bearbeiten, wird die JSON-Datei geändert, wobei am Ende "tableStore": "mytable" hinzugefügt wird.

Bearbeiten Sie das Datenelement.

{
  "path": "/cloudStores/azureblob",
  "type": "cloudStore",
  "id": "31245-abcde...",
  "provider": "azure",
  "info": {
    "isManaged": false,
    "connectionString": "abc/def/ghi/jkl/lmn/opq",
    "objectStore": "myblob",
    "tableStore": "mytable"
  }
}

Ändern Sie anschließend die JSON-Datei für die Service-Eigenschaften des Geoverarbeitungsservice, indem Sie "jobsDirectory": "/cloudStores/azureblob", nach "virtualOutputDir": "/rest/directories/arcgisoutput", hinzufügen.

Bearbeiten Sie den GPServer.

{
 "serviceName": "myGPService1", <... removed to save space ...>
  "resultMapServer": "false",  "maximumRecords": "1000",  "virtualOutputDir": "/rest/directories/arcgisoutput",  "jobsDirectory": "/cloudStores/azureblob",  "portalURL": "https://domain/webadaptor/",  "toolbox":  <... removed to save space ...>
 }, "portalProperties": < ...removed to save space... >, "extensions": < ...removed to save space... >, "frameworkProperties": {}, "datasets": []
}