Mettre les fonctions à jour par clé principale

Description

Met à jour les fonctions d'une table en passant dans une collection de fonctions avec un commitInterval facultatif. Chaque fonction de la collection doit avoir un ID (clé primaire), utilisé pour mettre la fonction d'entrée en correspondance avec la fonction de la table. Le corps de la réponse contient la représentation JSON de la collection de fonctions, même s'il n'est pas nécessaire de préciser certains éléments. La réponse contient le nombre de fonctions correctement mises à jour.

La représentation JSON du corps est au format GeoJSON. Pour plus d’informations sur GeoJSON, reportez-vous à geojson.org/geojson-spec.html.

Remarque : Vous devez disposer de droits d’affichage sur la table nommée ainsi que de droits de création/modification/suppression sur le jeu de données associé de la table nommée pour effectuer des opérations d'insertion, de mise à jour et de suppression sur des tables accessibles en écriture. Pour plus d'informations, reportez-vous à Contrôle d’accès pour les jeux de données dans la section Administration.
Remarque : La mise à jour est prise en charge par les tables PostGIS, Oracle, SQL Server, SAP HANA, GeoPackage et JDBC génériques. Elle est également prise en charge dans les fichiers MapInfo native TAB et extended native TAB (NativeX) sous les systèmes d'exploitation Windows uniquement (commitInterval est ignoré). La table doit comporter une clé primaire, sinon elle sera considérée comme une table en lecture seule. Les tables nommées avec des clés primaires composites ne sont pas accessibles en écriture.

Flux d'autorisation ACL

Pour mettre à jour des fonctions d'une table nommée en transmettant une collection de fonctions avec un intervalle de validation facultatif, l'utilisateur (ou les rôles auxquels il appartient) aura besoin des autorisations Execute et Modify sur la table nommée de la manière suivante :

  • « EXECUTE » pour le type d'entité « Location Intelligence.Named Resources »
  • « MODIFY » pour le type d'entité « Location Intelligence.Dataset.DML », respectivement

Format d'URL POST HTTP

Les requêtes POST HTTP se présentent au format suivant :


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

Le paramètre table update est un corps POST json (type de contenu : application/json) de mise à jour de table contenant une ou plusieurs fonctions à mettre à jour.

Paramètres

Pour plus d'informations sur les types de paramètres répertoriés ci-dessous, reportez-vous à la section Types de données d'URL de requête.

Paramètre Type Obligatoire Description
tablename Chaîne oui Nom de la table dont vous mettez les fonctions à jour. La table est définie par un nom entièrement qualifié pour la table nommée basé sur l'emplacement de la table nommée dans le référentiel. Le nom de la table nommée est défini entre la portion /tables de l'URL et la portion /features.rep de l'URL. Par exemple, pour mettre à jour les fonctions d'une table nommée se trouvant le répertoire /Samples/NamedTables/WorldTable du référentiel, l'URL suivante est utilisée :
.../FeatureService/tables/Samples/​NamedTables
/WorldTable/features.json;... 
rep Chaîne oui Représentation à renvoyer. La représentation prise en charge est json.
action=update Chaîne oui Action de mise à jour des fonctions dans la table.
commitInterval=c Entier non Nombre de mises à jour à traiter dans une transaction. Par exemple, si vous mettez à jour 50 fonctions dans une table et que commitInterval est défini sur 20, vous obtenez trois transactions (20, 20, 10). La valeur par défaut est 50. CommitInterval est ignoré pour les fichiers native TAB et NativeX.

Résultat

Renvoie la clé primaire de chaque fonction mise à jour dans la table.

Exemple

Met à jour deux fonctions dans MyTable, constituées de points dans la colonne Géométrie, des valeurs 456 et 123 dans Column1 et des valeurs « four five six » et « one two three » dans 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"
            }
        }
    ]
}