Aktualisieren von Features nach Primärschlüssel

Beschreibung

Aktualisiert Features in einer Tabelle, indem eine Feature-Sammlung mit einem optionalen Übergabeintervall weitergeleitet wird. Jedes Feature in der Sammlung muss über eine ID (Primärschlüssel) verfügen, die für einen Vergleich des Eingabe-Features mit dem Feature in der Tabelle verwendet wird. Der Textkörper der Anforderung enthält die JSON-Darstellung der Feature-Sammlung, auch wenn bestimmte Elemente nicht angegeben werden müssen. Die Antwort enthält die Anzahl der Features, die erfolgreich aktualisiert wurden.

Die JSON-Textkörperdarstellung ist im GeoJSON-Format. Weitere Informationen über GeoJSON finden Sie unter geojson.org/geojson-spec.html.

Anmerkung: Sie müssen über Berechtigungen zum Anzeigen für die benannte Tabelle verfügen und über Berechtigungen zum Erstellen/Ändern/Löschen für das zur benannten Tabelle gehörende Dataset, um Einfügungs-, Aktualisierungs- und Löschvorgänge für beschreibbare Tabellen durchführen zu können. Weitere Informationen finden Sie unter Zugriffssteuerung für Datasets im Abschnitt „Verwaltung“.
Anmerkung: Aktualisieren wird in Tabellen von PostGIS, Oracle, SQL Server, SAP HANA, GeoPackage und generischem JDBC unterstützt. Es wird auch bei MapInfo Native TAB- und Native Extended TAB-Dateien (NativeX) in Windows-Betriebssystemen unterstützt. (Das Übergabeintervall wird ignoriert.) Die Tabelle muss über einen Primärschlüssel verfügen. Andernfalls wird sie als schreibgeschützte Tabelle betrachtet. Benannte Tabellen mit zusammengesetzten Primärschlüsseln sind nicht beschreibbar.

ACL-Autorisierungsfluss

Um Features in einer benannten Tabelle zu aktualisieren, indem eine Feature-Sammlung mit einem optionalen Festschreibungsintervall übergeben wird, muss der Benutzer (oder alle Rollen, zu denen er gehört) wie folgt Ausführungs- und Änderungsberechtigungen für die benannte Tabelle haben:

  • „EXECUTE“ für den Entitätstyp „Location Intelligence.Named Resources“
  • bzw. „MODIFY“ für den Entitätstyp „Location Intelligence.Dataset.DML“

URL-Format von HTTP-POST-Anforderungen

Für HTTP-POST-Anforderungen wird das folgende Format verwendet:


HTTP POST:  /tables/tablename/features.rep?
POST Data: action=update;[commitInterval=c]
POST BODY: Content-Type:application/json {table update}
			

table update ist ein POST-JSON-Textkörper (Content-Type: application/json) für das Aktualisieren der Tabelle, der mindestens ein einzufügendes Feature enthält.

Parameter

Weitere Informationen zu den unten aufgeführten Parametertypen finden Sie unter URL-Anforderungsdatentypen.

Parameter Typ Erforderlich Beschreibung
tablename Zeichenfolge ja Der Name der Tabelle, für die Sie Features aktualisieren. Die Tabelle wird durch einen vollständig qualifizierten Namen für die benannte Tabelle angegeben, der auf dem Speicherort der benannten Tabelle in der Datenbank basiert. Der Name der benannten Tabelle wird zwischen dem „/tables“-Teil der URL und dem „/features.rep“-Teil der URL definiert. Zum Aktualisieren von Features in einer benannten Tabelle, die sich unter „/Samples/NamedTables/WorldTable“ in der Datenbank befindet, würde beispielsweise folgende URL verwendet:
.../FeatureService/tables/Samples/​NamedTables
/WorldTable/features.json;... 
rep Zeichenfolge ja Die zurückzugebende Darstellung. Die unterstützte Darstellung ist JSON.
action=update Zeichenfolge ja Die Aktion zum Aktualisieren der Features in der Tabelle.
commitInterval=c Ganze Zahl no Die Anzahl der Aktualisierungen, die in einer Transaktion verarbeitet werden. Wenn Sie etwa 50 Features in einer Tabelle aktualisieren und „commitInterval“ auf 20 festgelegt ist, führt dies zu drei Transaktionen (20, 20, 10). Der Standardwert ist 50. Das Übergabeintervall wird bei Native TAB- und NativeX-Dateien ignoriert.

Gibt zurück:

Gibt den Primärschlüssel der einzelnen aktualisierten Features in die Tabelle zurück.

Beispiel

Aktualisiert zwei Features in „MyTable“, die Punkte in der Geometriespalte enthalten: die Werte 456 und 123 in „Column1“ und die Werte „vier fünf sechs“ und „eins zwei drei“ in „Column2“.


http://www.pbbi.com/rest/Spatial/FeatureService/tables/MyTable/features.json
?action=update&commitInterval=2

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "id": "1",
            "geometry": {
                "type": "Point",
                "coordinates": [
                    -73,
                    41
                ]
            },
            "properties": {
                "Column1": 456,
                "Column2": "four five six"
            }
        },
        {
            "type": "Feature",
            "id": "2",
            "geometry": {
                "type": "Point",
                "coordinates": [
                    -72,
                    42
                ]
            },
            "properties": {
                "Column1": 123,
                "Column2": "one two three"
            }
        }
    ]
}