Tous les produits
Search
Centre de documentation

DataWorks:HttpFile

Dernière mise à jour :Aug 10, 2026

Data Integration de DataWorks télécharge des fichiers depuis des endpoints HTTP distants via le protocole HTTP et les synchronise vers une source de données cible.

Groupes de ressources pris en charge

HttpFile prend en charge les groupes de ressources suivants :

Types de champs pris en charge

Type de données Description
STRING Texte.
LONG Entier.
BYTES Tableau d'octets. Le contenu texte est converti en tableau d'octets encodé en UTF-8.
BOOL Booléen.
DOUBLE Décimal.
DATE Date et heure. Formats pris en charge : yyyy-MM-dd HH:mm:ss, yyyy-MM-dd, HH:mm:ss.

Formats de fichier et compression pris en charge

Format de fichier Pris en charge
CSV Oui
TEXT (délimité) Oui
Compression Pris en charge
gzip Oui
bzip2 Oui
zip Oui
Le paramètre skipHeader n'est pas pris en charge pour les fichiers compressés.

Ajouter une source de données

Ajoutez la source de données HttpFile sur la page Data Source Management avant de créer une tâche de synchronisation. Pour plus d'instructions, consultez la rubrique Gestion des sources de données.

Configurer une tâche de synchronisation

Configurer une tâche de synchronisation par lots

Utilisez l'interface sans code ou l'éditeur de code pour configurer votre tâche :

Pour la référence complète du script et la description des paramètres, consultez la section Référence du script.

Référence du script

Exemple de script Reader

Le script suivant lit un fichier CSV via HTTP à l'aide de la méthode GET, ignore la ligne d'en-tête et mappe cinq colonnes vers différents types de données.

{
  "type": "job",
  "version": "2.0",
  "steps": [
    {
      "stepType": "httpfile",
      "parameter": {
        "datasource": "<data-source-name>",
        "fileName": "/data/export.csv",
        "requestMethod": "GET",
        "requestHeaders": {
          "Authorization": "Bearer <token>"
        },
        "socketTimeoutSeconds": 3600,
        "connectTimeoutSeconds": 60,
        "bufferByteSizeInKB": 1024,
        "fileFormat": "csv",
        "encoding": "utf-8",
        "fieldDelimiter": ",",
        "skipHeader": true,
        "compress": "",
        "column": [
          { "index": 0, "type": "long" },
          { "index": 1, "type": "boolean" },
          { "index": 2, "type": "double" },
          { "index": 3, "type": "string" },
          { "index": 4, "type": "date" }
        ]
      },
      "name": "Reader",
      "category": "reader"
    },
    {
      "stepType": "stream",
      "parameter": {},
      "name": "Writer",
      "category": "writer"
    }
  ],
  "setting": {
    "errorLimit": {
      "record": "0"
    },
    "speed": {
      "concurrent": 1
    }
  },
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  }
}

Remplacez les espaces réservés par vos valeurs réelles :

Espace réservé Description Exemple
<data-source-name> Nom de la source de données HttpFile sur la page Data Source Management. my-http-source
<token> Jeton d'authentification API. eyJhbGc...

Paramètres du Reader

Les paramètres sont regroupés par fonction. Les paramètres de connexion définissent l'accès à l'endpoint ; les paramètres de comportement de lecture contrôlent l'analyse du fichier.

Paramètres de connexion

Paramètre Description Obligatoire Valeur par défaut
datasource Nom de la source de données HttpFile. Doit correspondre exactement au nom indiqué sur la page Data Source Management. Oui Aucune
fileName Chemin d'accès au fichier sur le serveur HTTP. Encodez en URL tous les caractères spéciaux ou non ASCII. Par exemple, un espace dans /file/test abc.csv devient /file/test%20abc.csv. L'URL de requête finale combine l'URL de base de la source de données avec ce chemin. Pour les règles d'encodage, consultez la page HTML URL Encoding Reference. Oui Aucune
requestMethod Méthode HTTP. Valeurs valides : GET, POST, PUT. Non GET
requestParam Paramètres de requête ajoutés à l'URL. Prend effet uniquement lorsque requestMethod est défini sur GET. Encodez en URL tous les caractères spéciaux. Par exemple, start=2024-03-25 17:06:54 devient start=2024-03-25%2017:06:54. Non Aucune
requestBody Corps de la requête. Prend effet uniquement lorsque requestMethod est défini sur POST ou PUT. À utiliser conjointement avec Content-Type dans requestHeaders. Exemple : {"requestBody": "{\"a\":\"b\"}", "requestHeaders": {"Content-Type": "application/json"}} Non Aucune
requestHeaders En-têtes de requête HTTP sous forme de paires clé-valeur. Exemple : {"Content-Type": "application/json"} Non {"User-Agent": "DataX Http File Reader"}
connectTimeoutSeconds Délai d'attente lors de l'établissement d'une connexion HTTP, en secondes. Si ce délai est dépassé, la tâche échoue. Disponible uniquement en mode Avancé ; non configurable dans l'interface sans code. Non 60
socketTimeoutSeconds Délai d'attente entre les paquets de données consécutifs, en secondes. Si ce délai est dépassé, la tâche échoue. Disponible uniquement en mode Avancé ; non configurable dans l'interface sans code. Non 3600
bufferByteSizeInKB Taille du tampon de téléchargement, en Ko. Non 1024

Paramètres de comportement de lecture

Paramètre Description Obligatoire Valeur par défaut
fileFormat Format du fichier source. Valeurs valides : csv, text. Les deux formats prennent en charge les délimiteurs de champ personnalisés. Non Aucune
encoding Encodage des caractères du fichier. Non utf-8
fieldDelimiter Délimiteur de champ. Pour les caractères non imprimables, utilisez la représentation Unicode, par exemple \u001b. Oui ,
useMultiCharDelimiter Indique si le délimiteur de champ est une chaîne multi-caractères. Non false
lineDelimiter Délimiteur de ligne. Prend effet uniquement lorsque fileFormat est défini sur text. Non Aucune
skipHeader Indique s'il faut ignorer la première ligne. Définissez sur true pour les fichiers contenant une ligne d'en-tête. Non pris en charge pour les fichiers compressés. Non false
compress Format de compression du fichier source. Laissez vide si le fichier n'est pas compressé. Valeurs valides : gzip, bzip2, zip. Non Aucune (non compressé)
column Liste des colonnes à lire. Chaque entrée nécessite type et soit index soit value (mais pas les deux). Consultez la section Configuration des colonnes. Oui Toutes les colonnes lues en tant que STRING
nullFormat Chaîne dans le fichier source représentant une valeur null. Par exemple, "nullFormat": "null" traite la chaîne null comme null ; "nullFormat": "\u0001" traite le caractère non imprimable comme null. Si ce paramètre n'est pas défini, les données source sont écrites telles quelles dans la destination. Non Aucune

Configuration des colonnes

Chaque entrée du tableau column utilise les champs suivants :

Champ Description
type Type de données de la colonne. Obligatoire. Valeurs valides : long, boolean, double, string, date.
index Position de la colonne dans le fichier source, en commençant par 0. Spécifiez soit index soit value, mais pas les deux.
value Valeur constante pour remplir la colonne, au lieu de lire depuis le fichier source. Spécifiez soit index soit value, mais pas les deux.

Pour lire toutes les colonnes en tant que STRING sans spécifier de types individuels :

"column": ["*"]

Pour mapper des colonnes spécifiques avec des types et injecter une constante :

"column": [
  { "type": "long", "index": 0 },
  { "type": "string", "value": "alibaba" }
]

Étapes suivantes