O plug-in logstash-input-maxcompute lê dados das tabelas offline do MaxCompute e os transfere para uma source de dados de destino.
O plug-in executa uma leitura completa sempre que é acionado. Não há suporte para leituras incrementais.
Pré-requisitos
Antes de começar, verifique se você:
Instale o plug-in logstash-input-maxcompute. Consulte Install and remove a plug-in
Ativou o Alibaba Cloud MaxCompute, criou um projeto e uma tabela e importou dados para essa tabela. Consulte Prepare e Getting Started
Configure o pipeline
Use um arquivo de configuração para definir um pipeline que leia dados do MaxCompute. O exemplo a seguir lê todos os dados de uma tabela particionada do MaxCompute e os imprime no stdout para verificação:
input {
maxcompute {
access_id => "Your accessId"
access_key => "Your accessKey"
endpoint => "maxcompute service endpoint"
project_name => "Your project"
table_name => "Your table name"
partition => "pt='p1',dt='d1'"
thread_num => 1
dirty_data_file => "/ssd/1/<Logstash cluster ID>/logstash/data/XXXXX.txt"
}
}
output {
stdout {
codec => rubydebug
}
}
Após configurar os parâmetros, salve e implante o pipeline. Para obter instruções, consulte Use configuration files to gerencie pipelines.
Por padrão, o Alibaba Cloud Logstash transmite dados apenas dentro da mesma virtual private cloud (VPC). Se sua source de dados do MaxCompute for acessível pela Internet, configure primeiro um gateway de Network Address Translation (NAT) para seu cluster Logstash. Consulte Configure a NAT gateway for data transmission over the Internet.
Parâmetros
A tabela a seguir lista todos os parâmetros com suporte no logstash-input-maxcompute.
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
string |
Sim |
Endpoint usado para acessar o MaxCompute. |
|
|
string |
Sim |
AccessKey ID da sua conta Alibaba Cloud. |
|
|
string |
Sim |
AccessKey secret da sua conta Alibaba Cloud. |
|
|
string |
Sim |
Nome do projeto MaxCompute. |
|
|
string |
Sim |
Nome da tabela MaxCompute. |
|
|
string |
Sim |
Campo pelo qual a tabela MaxCompute é particionada. |
|
|
number |
Sim |
Número de threads usadas para ler dados. Valor padrão: |
|
|
string |
Sim |
Caminho do arquivo que registra logs de falhas de processamento. |
|
|
number |
Não |
Intervalo entre novas tentativas, em segundos. |
endpoint
Obrigatório
Tipo: string
Valor padrão: nenhum
Endpoint usado para acessar o MaxCompute. Para consultar endpoints por região, veja Endpoints in different regions (Internet).
access_id
Obrigatório
Tipo: string
Valor padrão: nenhum
AccessKey ID da sua conta Alibaba Cloud.
access_key
Obrigatório
Tipo: string
Valor padrão: nenhum
AccessKey secret da sua conta Alibaba Cloud.
project_name
Obrigatório
Tipo: string
Valor padrão: nenhum
Nome do projeto MaxCompute.
table_name
Obrigatório
Tipo: string
Valor padrão: nenhum
Nome da tabela MaxCompute.
partition
Obrigatório
Tipo: string
Valor padrão: nenhum
Campo pelo qual a tabela MaxCompute é particionada. Exemplo: sale_date='201911' e region='hangzhou'.
thread_num
Obrigatório
Tipo: number
Valor padrão:
1
Número de threads usadas para ler dados.
dirty_data_file
Obrigatório
Tipo: string
Valor padrão: nenhum
Caminho do arquivo que registra logs de falhas de processamento. Defina o caminho como /ssd/1/<Logstash cluster ID>/logstash/data/.
retry_interval
Opcional
Tipo: number
Valor padrão: nenhum
Intervalo entre novas tentativas, em segundos.