Consulta de tarefas do Smart Connect
Função
Essa API é usada para consultar tarefas do Smart Connect.
Método de chamada
Para obter detalhes, consulte Chamada de APIs.
URI
GET /v2/{project_id}/instances/{instance_id}/connector/tasks
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
ID do projeto. Para obter detalhes, consulte Obtenção de um ID de projeto. |
instance_id |
Sim |
String |
ID da instância. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
offset |
Não |
Integer |
Deslocamento, que é a posição onde a consulta começa. O valor deve ser maior ou igual a 0. Padrão: 0 |
limit |
Não |
Integer |
Número máximo de instâncias retornadas na consulta atual. O valor padrão é 10. O valor varia de 1 a 50. Padrão: 10 |
Parâmetros de solicitação
Nenhum
Parâmetros de resposta
Código de status: 200
Parâmetro |
Tipo |
Descrição |
---|---|---|
tasks |
Array of SmartConnectTaskEntity objects |
Detalhes da tarefa do Smart Connect. |
total_number |
Integer |
Número de tarefas do Smart Connect. |
max_tasks |
Integer |
Número máximo de tarefas do Smart Connect. |
quota_tasks |
Integer |
Cota de tarefas do Smart Connect. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
task_name |
String |
Nome da tarefa do Smart Connect. |
topics |
String |
Tópico de uma tarefa do Smart Connect. |
topics_regex |
String |
Expressão regular do tópico de uma tarefa do Smart Connect. |
source_type |
String |
Tipo de origem de uma tarefa do Smart Connect. |
source_task |
Configuração de origem de uma tarefa do Smart Connect. |
|
sink_type |
String |
Tipo de destino de uma tarefa do Smart Connect. |
sink_task |
Tipo de destino de uma tarefa do Smart Connect. |
|
id |
String |
ID de uma tarefa do Smart Connect. |
status |
String |
Status da tarefa do Smart Connect. |
create_time |
Long |
Hora em que a tarefa do Smart Connect foi criada. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
redis_address |
String |
Endereço da instância do Redis. (Exibido somente quando o tipo de origem é Redis.) |
redis_type |
String |
Tipo de instância do Redis. (Exibido somente quando o tipo de origem é Redis.) |
dcs_instance_id |
String |
ID da instância do DCS. (Exibido somente quando o tipo de origem é Redis.) |
sync_mode |
String |
Tipo de sincronização: RDB_ONLY indica sincronização completa; CUSTOM_OFFSET indica sincronização completa e incremental. (Exibido somente quando o tipo de origem é Redis.) |
full_sync_wait_ms |
Integer |
Intervalo de novas tentativas de sincronização total, em ms. (Exibido somente quando o tipo de origem é Redis.) |
full_sync_max_retry |
Integer |
Máximo de novas tentativas de sincronização total. (Exibido somente quando o tipo de origem é Redis.) |
ratelimit |
Integer |
Limite de taxa, em KB/s. -1: desativar. (Exibido somente quando o tipo de origem é Redis.) |
current_cluster_name |
String |
Nome da instância atual do Kafka. (Exibido somente quando o tipo de origem é Kafka.) |
cluster_name |
String |
Nome da instância do Kafka de destino. (Exibido somente quando o tipo de origem é Kafka.) |
user_name |
String |
Nome de usuário da instância de Kafka de destino. (Exibido somente quando o tipo de origem é Kafka.) |
sasl_mechanism |
String |
Modo de autenticação do Kafka de destino. (Exibido somente quando o tipo de origem é Kafka.) |
instance_id |
String |
ID de instância do Kafka de destino. (Exibido somente quando o tipo de origem é Kafka.) |
bootstrap_servers |
String |
Endereço de instância de Kafka de destino. (Exibido somente quando o tipo de origem é Kafka.) |
security_protocol |
String |
Autenticação do Kafka de destino. (Exibido somente quando o tipo de origem é Kafka.) |
direction |
String |
Direção de sincronização. (Exibido somente quando o tipo de origem é Kafka.) |
sync_consumer_offsets_enabled |
Boolean |
Indica se o progresso do consumo deve ser sincronizado. (Exibido somente quando o tipo de origem é Kafka.) |
replication_factor |
Integer |
Número de réplicas. (Exibido somente quando o tipo de origem é Kafka.) |
task_num |
Integer |
Número de tarefas. (Exibido somente quando o tipo de origem é Kafka.) |
rename_topic_enabled |
Boolean |
Indica se um tópico deve ser renomeado. (Exibido somente quando o tipo de origem é Kafka.) |
provenance_header_enabled |
Boolean |
Indica se o cabeçalho de origem deve ser adicionado. (Exibido somente quando o tipo de origem é Kafka.) |
consumer_strategy |
String |
Deslocamento inicial. latest: obter os dados mais recentes; earliest: obter os dados mais antigos. (Exibido somente quando o tipo de origem é Kafka.) |
compression_type |
String |
Algoritmo de compactação. (Exibido somente quando o tipo de origem é Kafka.) |
topics_mapping |
String |
Mapeamento de tópicos. (Exibido somente quando o tipo de origem é Kafka.) |
Parâmetro |
Tipo |
Descrição |
---|---|---|
redis_address |
String |
Endereço da instância do Redis. (Exibido somente quando o tipo de destino é Redis.) |
redis_type |
String |
Tipo de instância do Redis. (Exibido somente quando o tipo de destino é Redis.) |
dcs_instance_id |
String |
ID da instância do DCS. (Exibido somente quando o tipo de destino é Redis.) |
target_db |
Integer |
Banco de dados de destino. O valor padrão é -1. (Exibido somente quando o tipo de destino é Redis.) |
consumer_strategy |
String |
Deslocamento inicial. latest: obter os dados mais recentes; earliest: obter os dados mais antigos. (Exibido somente quando o tipo de destino é OBS.) |
destination_file_type |
String |
Formato do arquivo de despejo. Somente TEXT é suportado. (Exibido somente quando o tipo de destino é OBS.) |
deliver_time_interval |
Integer |
Período(s) de despejo. (Exibido somente quando o tipo de destino é OBS.) |
obs_bucket_name |
String |
Endereço de despejo. (Exibido somente quando o tipo de destino é OBS.) |
obs_path |
String |
Diretório de despejo. (Exibido somente quando o tipo de destino é OBS.) |
partition_format |
String |
Formato do diretório de hora. (Exibido somente quando o tipo de destino é OBS.) |
record_delimiter |
String |
Quebra de linha. (Exibido somente quando o tipo de destino é OBS.) |
store_keys |
Boolean |
Key de armazenamento. (Exibido somente quando o tipo de destino é OBS.) |
obs_part_size |
Integer |
Tamanho (em bytes) de cada arquivo a ser carregado. O valor padrão é 5242880. (Exibido somente quando o tipo de destino é OBS.) |
flush_size |
Integer |
flush_size. (Exibido somente quando o tipo de destino é OBS.) |
timezone |
String |
Fuso horário. (Exibido somente quando o tipo de destino é OBS.) |
connector_class |
String |
Classe de connector. O valor padrão é com.huawei.dms.connector.obs.OBSSinkConnector. (Exibido somente quando o tipo de destino é OBS.) |
storage_class |
String |
Classe de storage. O valor padrão é com.huawei.dms.connector.obs.storage.OBSStorage. (Exibido somente quando o tipo de destino é OBS.) |
format_class |
String |
Classe de format. O valor padrão é com.huawei.dms.connector.obs.format.bytearray.ByteArrayFormat. (Exibido somente quando o tipo de destino é OBS.) |
schema_generator_class |
String |
Classe de schema_generator. O valor padrão é io.confluent.connect.storage.hive.schema.DefaultSchemaGenerator. (Exibido somente quando o tipo de destino é OBS.) |
partitioner_class |
String |
Classe de partitioner. O valor padrão é io.confluent.connect.storage.partitioner.TimeBasedPartitioner. (Exibido somente quando o tipo de destino é OBS.) |
value_converter |
String |
value_converter. O valor padrão é org.apache.kafka.connect.converters.ByteArrayConverter. (Exibido somente quando o tipo de destino é OBS.) |
key_converter |
String |
key_converter. O valor padrão é org.apache.kafka.connect.converters.ByteArrayConverter. (Exibido somente quando o tipo de destino é OBS.) |
kv_delimiter |
String |
kv_delimiter. O valor padrão é :. (Exibido somente quando o tipo de destino é OBS.) |
Exemplo de solicitações
Nenhum
Exemplo de respostas
Código de status: 200
Bem-sucedido.
{ "tasks" : [ { "task_name" : "smart-connect-1571576841", "topics" : "topic-1643449744", "source_task" : { "current_cluster_name" : "A", "cluster_name" : "B", "direction" : "pull", "bootstrap_servers" : "192.168.45.58:9092,192.168.44.1:9092,192.168.41.230:9092,192.168.43.112:9092", "instance_id" : "59f6d088-****-****-****-********", "consumer_strategy" : "earliest", "sync_consumer_offsets_enabled" : false, "rename_topic_enabled" : false, "provenance_header_enabled" : false, "security_protocol" : "PLAINTEXT", "sasl_mechanism" : "PLAIN", "user_name" : "", "topics_mapping" : "", "compression_type" : "none", "task_num" : 2, "replication_factor" : 3 }, "source_type" : "KAFKA_REPLICATOR_SOURCE", "sink_task" : null, "sink_type" : "NONE", "id" : "194917d0-****-****-****-********", "status" : "RUNNING", "create_time" : 1708427753133 }, { "task_name" : "smart-connect-1", "topics_regex" : "topic-obs*", "source_task" : null, "source_type" : "NONE", "sink_task" : { "consumer_strategy" : "earliest", "destination_file_type" : "TEXT", "obs_bucket_name" : "abcabc", "obs_path" : "obsTransfer-1810125534", "partition_format" : "yyyy/MM/dd/HH/mm", "record_delimiter" : "\\n", "deliver_time_interva" : 300, "obs_part_size" : 5242880, "flush_size" : 1000000, "timezone" : "Asia/Chongqing", "connector_class" : "com.huawei.dms.connector.obs.OBSSinkConnector", "storage_class" : "com.huawei.dms.connector.obs.storage.OBSStorage", "format_class" : "com.huawei.dms.connector.obs.format.bytearray.ByteArrayFormat", "schema_generator_class" : "io.confluent.connect.storage.hive.schema.DefaultSchemaGenerator", "partitioner_class" : "io.confluent.connect.storage.partitioner.TimeBasedPartitioner", "value_converter" : "org.apache.kafka.connect.converters.ByteArrayConverter", "key_converter" : "org.apache.kafka.connect.converters.ByteArrayConverter", "store_keys" : false, "kv_delimiter" : ":" }, "sink_type" : "OBS_SINK", "id" : "3c0ac4d1-****-****-****-********", "status" : "RUNNING", "create_time" : 1708565483911 }, { "task_name" : "smart-connect-121248117", "topics" : "topic-sc", "source_task" : { "redis_address" : "192.168.91.179:6379", "redis_type" : "standalone", "dcs_instance_id" : "949190a2-598a-4afd-99a8-dad3cae1e7cd", "sync_mode" : "RDB_ONLY", "full_sync_wait_ms" : 13000, "full_sync_max_retry" : 4, "ratelimit" : -1 }, "source_type" : "REDIS_REPLICATOR_SOURCE", "sink_task" : { "redis_address" : "192.168.119.51:6379", "redis_type" : "standalone", "dcs_instance_id" : "9b981368-a8e3-416a-87d9-1581a968b41b", "target_db" : -1 }, "sink_type" : "REDIS_REPLICATOR_SINK", "id" : "8a205bbd-****-****-****-********", "status" : "RUNNING", "create_time" : 1708427753133 } ], "total_number" : 3, "max_tasks" : 18, "quota_tasks" : 18 }
Código de exemplo do SDK
O código de exemplo do SDK é o seguinte.
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.kafka.v2.region.KafkaRegion; import com.huaweicloud.sdk.kafka.v2.*; import com.huaweicloud.sdk.kafka.v2.model.*; public class ListConnectorTasksSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); KafkaClient client = KafkaClient.newBuilder() .withCredential(auth) .withRegion(KafkaRegion.valueOf("<YOUR REGION>")) .build(); ListConnectorTasksRequest request = new ListConnectorTasksRequest(); request.withInstanceId("{instance_id}"); try { ListConnectorTasksResponse response = client.listConnectorTasks(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkkafka.v2.region.kafka_region import KafkaRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkkafka.v2 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = __import__('os').getenv("CLOUD_SDK_AK") sk = __import__('os').getenv("CLOUD_SDK_SK") projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) \ client = KafkaClient.new_builder() \ .with_credentials(credentials) \ .with_region(KafkaRegion.value_of("<YOUR REGION>")) \ .build() try: request = ListConnectorTasksRequest() request.instance_id = "{instance_id}" response = client.list_connector_tasks(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" kafka "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/kafka/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/kafka/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/kafka/v2/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := kafka.NewKafkaClient( kafka.KafkaClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ListConnectorTasksRequest{} request.InstanceId = "{instance_id}" response, err := client.ListConnectorTasks(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
Mais
Para obter o código de exemplo do SDK de mais linguagens de programação, consulte a guia Código de exemplo no API Explorer. O código de exemplo do SDK pode ser gerado automaticamente.
Códigos de status
Código de status |
Descrição |
---|---|
200 |
Bem-sucedido. |
Códigos de erro
Consulte Códigos de erro.