O DataWorks Data Integration baixa arquivos de endpoints HTTP remotos pelo protocolo HTTP e os sincroniza com uma fonte de dados de destino.
Grupos de recursos compatíveis
O HttpFile é compatível com os seguintes grupos de recursos:
Tipos de campo compatíveis
|
Tipo de dado |
Descrição |
|
STRING |
Texto. |
|
LONG |
Inteiro. |
|
BYTES |
Array de bytes. O conteúdo textual é convertido em um array de bytes codificado em UTF-8. |
|
BOOL |
Booleano. |
|
DOUBLE |
Decimal. |
|
DATE |
Data e hora. Formatos aceitos: |
Formatos de arquivo e compressão compatíveis
|
Formato de arquivo |
Compatível |
|
CSV |
Sim |
|
TEXT (delimitado) |
Sim |
|
Compressão |
Compatível |
|
gzip |
Sim |
|
bzip2 |
Sim |
|
zip |
Sim |
O parâmetro skipHeader não é compatível com arquivos compactados.
Adicionar uma source de dados
Adicione a source de dados HttpFile na página Data Source Management antes de criar a tarefa de sincronização. Para obter instruções, consulte Gerenciamento de fontes de dados.
Configure uma tarefa de sincronização
Configure uma tarefa de sincronização offline
Use a interface sem código ou o editor de código para configurar sua tarefa:
Para consultar a referência completa do script e as descrições dos parâmetros, veja Referência de script.
Referência de script
Exemplo de script do Reader
O script a seguir lê um arquivo CSV via HTTP usando GET, ignora a linha de cabeçalho e mapeia cinco colunas para diferentes tipos de dados.
{
"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"
}
]
}
}
Substitua os espaços reservados pelos valores reais:
|
Espaço reservado |
Descrição |
Exemplo |
|
|
Nome da source de dados HttpFile na página Data Source Management. |
|
|
|
Seu token de autenticação de API. |
|
Parâmetros do Reader
Os parâmetros estão agrupados por função. Os parâmetros de conexão definem como alcançar o endpoint; os parâmetros de comportamento de leitura controlam a análise do arquivo.
Parâmetros de conexão
|
Parâmetro |
Descrição |
Obrigatório |
Padrão |
|
|
Nome da source de dados HttpFile. Deve corresponder exatamente ao nome exibido na página Data Source Management. |
Sim |
Nenhum |
|
|
Caminho do arquivo no servidor HTTP. Codifique caracteres especiais ou não ASCII na URL. Por exemplo, um espaço em |
Sim |
Nenhum |
|
|
Método HTTP. Valores válidos: |
Não |
|
|
|
Parâmetros de consulta anexados à URL. Tem efeito apenas quando |
Não |
Nenhum |
|
|
Corpo da requisição. Aplicável somente se |
Não |
Nenhum |
|
|
Cabeçalhos de requisição HTTP como pares chave-valor. Exemplo: |
Não |
|
|
|
Tempo de espera para estabelecer uma conexão HTTP, em segundos. Se excedido, a tarefa falha. Disponível apenas no modo Avançado; não configurável na interface sem código. |
Não |
|
|
|
Tempo máximo de espera entre pacotes de dados consecutivos, em segundos. A tarefa falha caso esse limite seja ultrapassado. Disponível apenas no modo Avançado; não configurável na interface sem código. |
Não |
|
|
|
Tamanho do buffer de baixe, em KB. |
Não |
|
Parâmetros de comportamento de leitura
|
Parâmetro |
Descrição |
Obrigatório |
Padrão |
|
|
Formato do arquivo de origem. Valores válidos: |
Não |
Nenhum |
|
|
Codificação de caracteres do arquivo. |
Não |
|
|
|
Delimitador de campos. Para caracteres não imprimíveis, use a representação Unicode, como |
Sim |
|
|
|
Defina se o delimitador de campo é uma string com múltiplos caracteres. |
Não |
|
|
|
Delimitador de linha. Válido apenas quando |
Não |
Nenhum |
|
|
Indica se a primeira linha deve ser ignorada. Defina como |
Não |
|
|
|
Formato de compressão do arquivo de origem. Deixe em branco se o arquivo não estiver compactado. Opções válidas: |
Não |
Nenhum (sem compressão) |
|
|
Lista de colunas para leitura. Cada entrada exige |
Sim |
Todas as colunas lidas como STRING |
|
|
String no arquivo de origem que representa um valor nulo. Por exemplo, |
Não |
Nenhum |
Configuração de colunas
Cada entrada no array column usa os seguintes campos:
|
Campo |
Descrição |
|
|
Tipo de dado da coluna. Obrigatório. Valores válidos: |
|
|
Posição da coluna no arquivo de origem, iniciando em 0. Especifique |
|
|
Valor constante para preencher a coluna, em vez de ler do arquivo de origem. Informe |
Para ler todas as colunas como STRING sem especificar tipos individuais:
"column": ["*"]
Para mapear colunas específicas com tipos e injetar uma constante:
"column": [
{ "type": "long", "index": 0 },
{ "type": "string", "value": "alibaba" }
]