Consultez les connecteurs compatibles avec Application Integration.

Filtrer les valeurs d'un tableau JSON

À l'aide de la tâche de mappage des données, filtrez les éléments d'un tableau JSON en fonction de critères booléens, puis stockez la sortie filtrée dans une nouvelle variable JSON.

Exemple de code

{
  "triggerConfigs": [{
    "label": "API Trigger",
    "startTasks": [{
      "taskId": "1"
    }],
    "properties": {
      "Trigger name": "filter_orders_greater_than500_API_1"
    },
    "triggerType": "API",
    "triggerNumber": "1",
    "triggerId": "api_trigger/filter_orders_greater_than500_API_1"
  }],
  "taskConfigs": [{
    "task": "FieldMappingTask",
    "taskId": "1",
    "parameters": {
      "FieldMappingConfigTaskParameterKey": {
        "key": "FieldMappingConfigTaskParameterKey",
        "value": {
          "jsonValue": "{\n  \"@type\": \"type.googleapis.com/enterprise.crm.eventbus.proto.FieldMappingConfig\",\n  \"mappedFields\": [{\n    \"inputField\": {\n      \"fieldType\": \"JSON_VALUE\",\n      \"transformExpression\": {\n        \"initialValue\": {\n          \"referenceValue\": \"$orders.orderLines$\"\n        },\n        \"transformationFunctions\": [{\n          \"functionType\": {\n            \"jsonFunction\": {\n              \"functionName\": \"FILTER_ELEMENTS\"\n            }\n          },\n          \"parameters\": [{\n            \"initialValue\": {\n              \"literalValue\": {\n                \"protoValue\": {\n                  \"@type\": \"type.googleapis.com/enterprise.crm.eventbus.proto.TransformExpression\",\n                  \"initialValue\": {\n                    \"referenceValue\": \"~x\"\n                  },\n                  \"transformationFunctions\": [{\n                    \"functionType\": {\n                      \"jsonFunction\": {\n                        \"functionName\": \"GET_PROPERTY\"\n                      }\n                    },\n                    \"parameters\": [{\n                      \"initialValue\": {\n                        \"literalValue\": {\n                          \"stringValue\": \"qty\"\n                        }\n                      }\n                    }]\n                  }, {\n                    \"functionType\": {\n                      \"jsonFunction\": {\n                        \"functionName\": \"TO_INT\"\n                      }\n                    }\n                  }, {\n                    \"functionType\": {\n                      \"intFunction\": {\n                        \"functionName\": \"GREATER_THAN\"\n                      }\n                    },\n                    \"parameters\": [{\n                      \"initialValue\": {\n                        \"literalValue\": {\n                          \"intValue\": \"500\"\n                        }\n                      }\n                    }]\n                  }]\n                }\n              }\n            }\n          }]\n        }]\n      }\n    },\n    \"outputField\": {\n      \"referenceKey\": \"$flag_orders$\",\n      \"fieldType\": \"JSON_VALUE\",\n      \"cardinality\": \"OPTIONAL\"\n    }\n  }]\n}"
        }
      }
    },
    "taskExecutionStrategy": "WHEN_ALL_SUCCEED",
    "displayName": "Data Mapping"
  }],
  "integrationParameters": [{
    "key": "orders",
    "dataType": "JSON_VALUE",
    "defaultValue": {
      "jsonValue": "{\n  \"orderLines\": [{\n    \"lineNumber\": 1.0,\n    \"productNumber\": 123.0,\n    \"unitPrice\": 1.0,\n    \"qty\": 1.0,\n    \"taxAmount\": 1.0\n  }, {\n    \"lineNumber\": 2.0,\n    \"productNumber\": 321.0,\n    \"unitPrice\": 10.0,\n    \"qty\": 5.0,\n    \"taxAmount\": 10.0\n  }, {\n    \"lineNumber\": 3.0,\n    \"productNumber\": 456.0,\n    \"unitPrice\": 10.0,\n    \"qty\": 1000.0,\n    \"taxAmount\": 10.0\n  }]\n}"
    },
    "displayName": "orders",
    "inputOutputType": "IN",
    "jsonSchema": "{\n  \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"orderLines\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"unitPrice\": {\n            \"type\": \"number\"\n          },\n          \"qty\": {\n            \"type\": \"number\"\n          },\n          \"productNumber\": {\n            \"type\": \"number\"\n          },\n          \"lineNumber\": {\n            \"type\": \"number\"\n          },\n          \"taxAmount\": {\n            \"type\": \"number\"\n          }\n        }\n      }\n    }\n  }\n}"
  }, {
    "key": "flag_orders",
    "dataType": "JSON_VALUE",
    "displayName": "flag_orders",
    "inputOutputType": "OUT",
    "jsonSchema": "{\n  \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n  \"type\": \"array\",\n  \"items\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"unitPrice\": {\n        \"type\": \"number\"\n      },\n      \"qty\": {\n        \"type\": \"number\"\n      },\n      \"productNumber\": {\n        \"type\": \"number\"\n      },\n      \"lineNumber\": {\n        \"type\": \"number\"\n      },\n      \"taxAmount\": {\n        \"type\": \"number\"\n      }\n    }\n  }\n}"
  }]
}

Exemple de flux d'intégration

L'image suivante présente un exemple de mise en page de l'éditeur d'intégration pour cet exemple de code d'intégration.

Image montrant l'exemple de flux d'intégration image illustrant l'exemple de flux d'intégration

Importer et exécuter l'exemple d'intégration

Pour importer et exécuter l'exemple d'intégration, procédez comme suit:

  1. Enregistrez l'exemple d'intégration sur votre système au format .json.
  2. Dans la console Google Cloud, accédez à la page Application Integration.

    Accéder à Application Integration

  3. Dans le menu de navigation, cliquez sur Integrations (Intégrations). La page Integrations s'affiche.
  4. Sélectionnez une intégration existante ou créez-en une en cliquant sur Créer une intégration.

    Si vous créez une intégration :

    1. Saisissez un nom et une description dans la boîte de dialogue Créer une intégration.
    2. Sélectionnez une région pour l'intégration.
    3. Sélectionnez un compte de service pour l'intégration. Vous pouvez modifier ou mettre à jour les détails du compte de service d'une intégration à tout moment à partir du volet Integration summary (Résumé de l'intégration) dans la barre d'outils d'intégration.
    4. Cliquez sur Créer.

    Cela entraîne son ouverture dans l'éditeur d'intégrations.

  5. Dans l'éditeur d'intégration, cliquez sur Menu d'importation/de téléchargement, puis sélectionnez Importer l'intégration.
  6. Dans la boîte de dialogue de l'explorateur de fichiers, sélectionnez le fichier que vous avez enregistré à l'étape 1, puis cliquez sur Ouvrir.

    Une nouvelle version de l'intégration est créée à l'aide du fichier importé.

  7. Dans l'éditeur d'intégrations, cliquez sur Tester.
  8. Cliquez sur Tester l'intégration. L'intégration est alors exécutée et le résultat de l'exécution s'affiche dans le volet Test d'intégration.