Todos os produtos
Search
Central de documentação

Object Storage Service:Use AI VibeFlow to produce vector data

Última atualização: Aug 27, 2026

O DataPipeline é o objeto central de gerenciamento no AI VibeFlow. Você pode criar um DataPipeline pelo console, ossutil, SDK ou API para vetorizar automaticamente dados não estruturados — como textos, imagens e vídeos — em um bucket de uso geral do OSS e gravar os vetores resultantes em um bucket vetorial do OSS.

Nota

Este recurso está disponível apenas para usuários incluídos na lista de permissões. Para utilizá-lo, entre em contato com o suporte técnico e envie uma solicitação.

Pré-requisitos

  • O OSS deve estar ativado e um bucket de objetos (para armazenar os dados brutos) deve existir na região de destino.

  • Um bucket vetorial e um índice vetorial devem estar criados na mesma região do bucket de objetos, com dimensões de índice idênticas às dimensões de saída do modelo vetorial do Model Studio selecionado. Para saber como criá-los, consulte Vector bucket.

  • Ative o Alibaba Cloud Model Studio e obtenha uma chave de API (que começa com sk-). Verifique se a cota de limitação (RPM/TPM) da sua chave de API do Model Studio atende à velocidade de processamento esperada. Para aumentar o throughput, solicite uma cota maior de RPM/TPM pelo console do Model Studio ou entre em contato com o suporte técnico para elevar o QPS de processamento.

  • Caso utilize um usuário RAM (em vez da conta Alibaba Cloud) para operar o AI VibeFlow, conclua antecipadamente as etapas descritas em permission configuration.

Criar um DataPipeline

Uma única conta Alibaba Cloud pode criar até 1.000 DataPipelines em uma única região. Não é possível modificar um DataPipeline após a criação. Para ajustá-lo, exclua-o e crie um novo.

Console

  1. Faça login no console do OSS.

  2. No painel de navegação à esquerda, clique em AI VibeFlow.

  3. Na página do AI VibeFlow, clique em Create Data Pipeline.

  4. No painel Create Data Pipeline, configure os itens abaixo conforme as instruções e clique em OK.

    • Configurações básicas

      • Rule Name: até 64 caracteres. Aceita letras maiúsculas e minúsculas, dígitos, hifens (-) e sublinhados (_). O nome deve ser exclusivo dentro da mesma conta e região.

      • Rule Description: opcional, com até 200 caracteres.

    • Configurações dos dados de origem

      • Source Bucket: selecione primeiro a região e, em seguida, o bucket de destino.

      • Source File Scope: All Files processa todos os objetos do bucket; Specify File Name Prefix processa apenas os objetos correspondentes ao prefixo informado.

      • Source File Type: é possível selecionar vários tipos entre Text, Image e Video. A seleção deve ser compatível com as capacidades do modelo vetorial que será usado posteriormente.

      • Processing Mode: Process Existing Data Only (arquivos já existentes no momento da criação do pipeline); Process Incremental Data Only (novos arquivos enviados acionam o processamento automaticamente); Process Existing and Incremental Data.

    • Configurações de vetorização

      • Vector Model Source: atualmente, apenas o Alibaba Cloud Model Studio é suportado.

      • API Key: insira a chave de API do Model Studio, que começa com sk- e possui entre 35 e 128 caracteres.

      • Vector Model: modelos de texto como text-embedding-v4 (padrão) e text-embedding-v3; modelos multimodais como tongyi-embedding-vision-plus e tongyi-embedding-vision-flash. Certifique-se de que as dimensões de saída do modelo correspondam às dimensões do índice vetorial.

      • Video Snapshot Frequency: configurável apenas para modelos multimodais. O intervalo de valores é (0, 1], sendo o valor padrão 1,0. Valores menores capturam menos quadros.

      • Cascade Delete Settings: Retain vector data when the source object is deleted (padrão); Delete corresponding vector data when the source object is deleted.

    • Configurações dos dados de destino

      • Vector Bucket: deve estar localizado na mesma região do bucket de origem.

      • Vector Index: selecione o índice desejado na lista de índices do bucket vetorial escolhido. As dimensões do índice devem coincidir com as dimensões de saída do modelo vetorial.

      • Vector Key Naming Method: opcional. Se você inserir um prefixo, o formato será {prefix}/{ObjectKey}. Se deixar em branco, a chave do vetor será igual à ObjectKey.

      • Use ObjectTag as Metadata: opcional, até 10 chaves, utilizadas para filtragem escalar subsequente durante a recuperação.

      • Use UserMeta as Metadata: opcional, até 10 chaves. O sistema adiciona automaticamente o prefixo X-OSS-META-.

    • Tratamento de exceções e autorização

      • Exception Handling: Continue tasks despite errors; Skip exceptions and continue with subsequent tasks while recording exception details (é necessário configurar Exception Information Bucket e Exception Log Prefix para receber mensagens de erro; o bucket receptor deve estar na mesma região do bucket de origem e não pode ser o próprio bucket de origem); Stop subsequent tasks on failure.

      • Authorization Role: selecione New RAM Role para criar e vincular automaticamente a função oss-embedding-{uuid}.

    • Confirmação das configurações: revise todas as definições e clique em OK após confirmar que estão corretas.

ossutil

Exemplos

Primeiro, escreva a configuração do data pipeline no arquivo config.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<DataPipelineConfiguration>
  <Sources>
      <InputBucket>my-bucket</InputBucket>
      <InputDataScope>All</InputDataScope>
  </Sources>
  <DataPipelineEmbeddingConfiguration>
      <EmbeddingProvider>bailian</EmbeddingProvider>
      <ApiKey>sk-xxxx</ApiKey>
      <Model>qwen2.5-vl-embedding</Model>
  </DataPipelineEmbeddingConfiguration>
  <Destination>
      <VectorBucketName>my-vector-bucket</VectorBucketName>
      <VectorIndexNames>myIndex</VectorIndexNames>
  </Destination>
  <DataPipelineError>
      <ErrorMode>ignore</ErrorMode>
  </DataPipelineError>
</DataPipelineConfiguration>

Em seguida, execute o comando para criar o data pipeline:

ossutil api do-data-pipe-line-action --action putDataPipelineConfiguration \
  --parameters dataPipelineName=my-data-pipeline \
  --parameters role=acs:ram::<AccountId>:role/my-data-pipeline-role \
  --body file://config.xml \
  --region cn-hangzhou

SDK

Java

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.dataprocess.OSSDataProcessClient;
import com.aliyun.sdk.service.oss2.dataprocess.models.*;
import java.util.Arrays;
import java.util.Collections;

public class PutDataPipelineConfigurationSample {
    public static void main(String[] args) throws Exception {
        String role = "acs:ram::<AccountId>:role/my-data-pipeline-role";
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSDataProcessClient client = OSSDataProcessClient.newBuilder()
                .region("cn-hangzhou")
                .credentialsProvider(provider)
                .build()) {

            DataPipelineSourceFilterConfiguration filterConfig =
                    DataPipelineSourceFilterConfiguration.newBuilder()
                            .prefixSet(Arrays.asList("data/"))
                            .objectMediaTypes(Arrays.asList("image", "video"))
                            .build();

            DataPipelineSource source = DataPipelineSource.newBuilder()
                    .inputBucket("my-bucket")
                    .inputDataScope("All")
                    .ignoreDelete(true)
                    .filterConfiguration(filterConfig)
                    .build();

            DataPipelineEmbeddingConfiguration embeddingConfig =
                    DataPipelineEmbeddingConfiguration.newBuilder()
                            .embeddingProvider("bailian")
                            .apiKey("sk-xxxx")
                            .model("qwen2.5-vl-embedding")
                            .fps(1.0f)
                            .build();

            DataPipelineDestination destination = DataPipelineDestination.newBuilder()
                    .vectorBucketName("my-vector-bucket")
                    .vectorIndexNames(Collections.singletonList("my-index"))
                    .build();

            PutDataPipelineConfigurationConfiguration config =
                    PutDataPipelineConfigurationConfiguration.newBuilder()
                            .dataPipelineDescription("Data pipeline sample")
                            .sources(Collections.singletonList(source))
                            .dataPipelineEmbeddingConfiguration(embeddingConfig)
                            .destination(destination)
                            .build();

            PutDataPipelineConfigurationResult result = client.putDataPipelineConfiguration(
                    PutDataPipelineConfigurationRequest.newBuilder()
                            .dataPipelineName("my-data-pipeline")
                            .role(role)
                            .putDataPipelineConfigurationConfiguration(config)
                            .build());

            System.out.printf("Status code:%d, request id:%s%n",
                    result.statusCode(), result.requestId());

        } catch (Exception e) {
            System.out.printf("error:%n%s", e);
        }
    }
}

Go

package main

import (
	"context"
	"log"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/dataprocess"
)

func main() {
	region := "cn-hangzhou"
	role := "acs:ram::<AccountId>:role/my-data-pipeline-role"
	apiKey := "sk-xxxx"
	dataPipelineName := "my-data-pipeline"

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := dataprocess.NewClient(cfg)

	result, err := client.PutDataPipelineConfiguration(context.TODO(), &dataprocess.PutDataPipelineConfigurationRequest{
		DataPipelineName: oss.Ptr(dataPipelineName),
		Role:             oss.Ptr(role),
		DataPipelineConfiguration: &dataprocess.DataPipelineConfiguration{
			DataPipelineDescription: oss.Ptr("Vectorize business data using the BERT multimodal model"),
			Sources: []dataprocess.DataPipelineSource{
				{
					InputBucket:    oss.Ptr("bucket"),
					InputDataScope: oss.Ptr("All"),
					FilterConfiguration: &dataprocess.DataPipelineSourceFilterConfiguration{
						PrefixSet:        []string{"prefix1"},
						ObjectMediaTypes: []string{"text"},
					},
				},
			},
			DataPipelineEmbeddingConfiguration: &dataprocess.DataPipelineEmbeddingConfiguration{
				ApiKey:            oss.Ptr(apiKey),
				EmbeddingProvider: oss.Ptr("bailian"),
				FPS:               oss.Ptr(float64(1)),
				Model:             oss.Ptr("qwen2.5-vl-embedding"),
			},
			Destination: &dataprocess.DataPipelineDestination{
				VectorBucketName:    oss.Ptr("my-vector-bucket"),
				VectorIndexNames:    []string{"index"},
				VectorKeyPrefix:     oss.Ptr("prefix"),
				ObjectTagToMetadata: []string{"key1"},
				UsermetaToMetadata:  []string{"x-oss-meta-key1"},
			},
			DataPipelineError: &dataprocess.DataPipelineError{
				ErrorMode:   oss.Ptr("ignoreAndRecord"),
				ErrorBucket: oss.Ptr("my-error-bucket"),
				ErrorPrefix: oss.Ptr("error-output/"),
			},
		},
	})

	if err != nil {
		log.Fatalf("failed to put pipeline configuration %v", err)
	}
	log.Printf("put pipeline configuration result:%#v\n", result)
}

API

Chame a operação PutDataPipelineConfiguration para criar um DataPipeline.

Obter a configuração do DataPipeline

Console

  1. Na página AI VibeFlow, clique no Rule Name do DataPipeline desejado ou clique em View Details na coluna Actions.

  2. Na página de detalhes, visualize as informações completas, incluindo configurações básicas, dados de origem, vetorização, destino, tratamento de exceções e autorização.

ossutil

Exemplos

ossutil api do-data-pipe-line-action --action getDataPipelineConfiguration \
  --parameters dataPipelineName=my-data-pipeline \
  --region cn-hangzhou

SDK

Java

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.dataprocess.OSSDataProcessClient;
import com.aliyun.sdk.service.oss2.dataprocess.models.*;

public class GetDataPipelineConfigurationSample {
    public static void main(String[] args) throws Exception {
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSDataProcessClient client = OSSDataProcessClient.newBuilder()
                .region("cn-hangzhou")
                .credentialsProvider(provider)
                .build()) {

            GetDataPipelineConfigurationResult result = client.getDataPipelineConfiguration(
                    GetDataPipelineConfigurationRequest.newBuilder()
                            .dataPipelineName("my-data-pipeline")
                            .build());

            System.out.printf("Status code:%d, request id:%s%n",
                    result.statusCode(), result.requestId());

            DataPipelineConfiguration cfg = result.dataPipelineConfiguration();
            if (cfg != null) {
                System.out.printf("Pipeline name:%s, status:%s, role:%s, createTime:%s%n",
                        cfg.dataPipelineName(), cfg.status(),
                        cfg.dataPipelineRole(), cfg.createTime());
            }

        } catch (Exception e) {
            System.out.printf("error:%n%s", e);
        }
    }
}

Go

package main

import (
	"context"
	"log"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/dataprocess"
)

func main() {
	region := "cn-hangzhou"
	dataPipelineName := "my-data-pipeline"

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := dataprocess.NewClient(cfg)

	result, err := client.GetDataPipelineConfiguration(context.TODO(), &dataprocess.GetDataPipelineConfigurationRequest{
		DataPipelineName: oss.Ptr(dataPipelineName),
	})

	if err != nil {
		log.Fatalf("failed to get pipeline configuration %v", err)
	}
	log.Printf("get pipeline configuration result:%#v\n", result)
}

API

Chame a operação GetDataPipelineConfiguration para obter a configuração do DataPipeline.

Listar DataPipelines

Console

Na página AI VibeFlow, é possível visualizar diretamente a lista de todos os DataPipelines da conta atual na região selecionada, com informações como nome da regra, descrição, status e data de criação.

ossutil

Exemplos

ossutil api do-data-pipe-line-action --action listDataPipelineConfigurations \
  --parameters maxResults=100 \
  --region cn-hangzhou

SDK

Java

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.dataprocess.OSSDataProcessClient;
import com.aliyun.sdk.service.oss2.dataprocess.models.*;

public class ListDataPipelineConfigurationsSample {
    public static void main(String[] args) throws Exception {
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSDataProcessClient client = OSSDataProcessClient.newBuilder()
                .region("cn-hangzhou")
                .credentialsProvider(provider)
                .build()) {

            String nextToken = null;
            do {
                ListDataPipelineConfigurationsRequest.Builder reqBuilder =
                        ListDataPipelineConfigurationsRequest.newBuilder().maxResults(100);
                if (nextToken != null) {
                    reqBuilder.nextToken(nextToken);
                }

                ListDataPipelineConfigurationsResult result =
                        client.listDataPipelineConfigurations(reqBuilder.build());

                System.out.printf("Status code:%d, request id:%s%n",
                        result.statusCode(), result.requestId());

                if (result.dataPipelineConfigurations() != null) {
                    for (DataPipelineConfiguration cfg : result.dataPipelineConfigurations()) {
                        System.out.printf("Pipeline: name=%s, status=%s, createTime=%s%n",
                                cfg.dataPipelineName(), cfg.status(), cfg.createTime());
                    }
                }

                nextToken = result.nextToken();
            } while (nextToken != null && !nextToken.isEmpty());

        } catch (Exception e) {
            System.out.printf("error:%n%s", e);
        }
    }
}

Go

package main

import (
	"context"
	"log"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/dataprocess"
)

func main() {
	region := "cn-hangzhou"

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := dataprocess.NewClient(cfg)

	p := client.NewListDataPipelineConfigurationsPaginator(&dataprocess.ListDataPipelineConfigurationsRequest{})

	var i int
	log.Println("Data Pipeline Configurations:")
	for p.HasNext() {
		i++

		page, err := p.NextPage(context.TODO())
		if err != nil {
			log.Fatalf("failed to get page %v, %v", i, err)
		}

		for _, data := range page.DataPipelineConfigurations {
			log.Printf("Data Pipeline Name:%v, Data Pipeline Description:%v, Data Pipeline Role:%v, Status:%v, Phase:%v\n", oss.ToString(data.DataPipelineName), oss.ToString(data.DataPipelineDescription), oss.ToString(data.DataPipelineRole), oss.ToString(data.Status), oss.ToString(data.Phase))
		}
	}
}

API

Chame a operação ListDataPipelineConfigurations para listar DataPipelines.

Pausar um DataPipeline

É possível pausar um pipeline com status Running. Após a pausa, os arquivos ainda não processados permanecem em estado de espera, e os dados vetoriais já gravados não são afetados.

Console

Na página do AI VibeFlow, localize o DataPipeline desejado e clique em Suspend na coluna Actions.

ossutil

Exemplos

ossutil api do-data-pipe-line-action --action pauseDataPipeline \
  --parameters dataPipelineName=my-data-pipeline \
  --region cn-hangzhou

SDK

Java

package com.example.oss.dataprocess;

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.dataprocess.OSSDataProcessClient;
import com.aliyun.sdk.service.oss2.dataprocess.models.*;

public class PauseDataPipelineSample {
    public static void main(String[] args) throws Exception {
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSDataProcessClient client = OSSDataProcessClient.newBuilder()
                .region("cn-hangzhou")
                .credentialsProvider(provider)
                .build()) {

            PauseDataPipelineResult result = client.pauseDataPipeline(
                    PauseDataPipelineRequest.newBuilder()
                            .dataPipelineName("my-data-pipeline")
                            .build());

            System.out.printf("Status code:%d, request id:%s%n",
                    result.statusCode(), result.requestId());

        } catch (Exception e) {
            System.out.printf("error:%n%s", e);
        }
    }
}

Go

package main

import (
	"context"
	"log"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/dataprocess"
)

func main() {
	region := "cn-hangzhou"
	bucketName := "exampleBucket"
	dataPipelineName := "my-data-pipeline"

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := dataprocess.NewClient(cfg)

	result, err := client.PauseDataPipeline(context.TODO(), &dataprocess.PauseDataPipelineRequest{
		Bucket:           oss.Ptr(bucketName),
		DataPipelineName: oss.Ptr(dataPipelineName),
	})

	if err != nil {
		log.Fatalf("failed to pause pipeline %v", err)
	}
	log.Printf("pause pipeline result:%#v\n", result)
}

API

Chame a operação PauseDataPipeline para pausar um DataPipeline.

Reiniciar um DataPipeline

Um pipeline pausado pode ser reiniciado para retomar o processamento. Se a pausa ocorreu automaticamente porque o índice atingiu a capacidade máxima, crie um novo índice antes de reiniciar o pipeline.

Console

Na página do AI VibeFlow, localize o DataPipeline desejado e clique em Restart na coluna Actions.

ossutil

Exemplos

ossutil api do-data-pipe-line-action --action restartDataPipeline \
  --parameters dataPipelineName=my-data-pipeline \
  --region cn-hangzhou

SDK

Java

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.dataprocess.OSSDataProcessClient;
import com.aliyun.sdk.service.oss2.dataprocess.models.*;

public class RestartDataPipelineSample {
    public static void main(String[] args) throws Exception {
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSDataProcessClient client = OSSDataProcessClient.newBuilder()
                .region("cn-hangzhou")
                .credentialsProvider(provider)
                .build()) {

            RestartDataPipelineResult result = client.restartDataPipeline(
                    RestartDataPipelineRequest.newBuilder()
                            .dataPipelineName("my-data-pipeline")
                            .build());

            System.out.printf("Status code:%d, request id:%s%n",
                    result.statusCode(), result.requestId());

        } catch (Exception e) {
            System.out.printf("error:%n%s", e);
        }
    }
}

Go

package main

import (
	"context"
	"log"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/dataprocess"
)

func main() {
	region := "cn-hangzhou"
	dataPipelineName := "my-data-pipeline"

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := dataprocess.NewClient(cfg)

	result, err := client.RestartDataPipeline(context.TODO(), &dataprocess.RestartDataPipelineRequest{
		DataPipelineName: oss.Ptr(dataPipelineName),
	})

	if err != nil {
		log.Fatalf("failed to restart pipeline %v", err)
	}
	log.Printf("restart pipeline result:%#v\n", result)
}

API

Chame a operação RestartDataPipeline para reiniciar um DataPipeline.

Excluir um DataPipeline

Após a exclusão de um pipeline, o OSS interrompe a vetorização, mas os dados vetoriais já gravados no bucket vetorial não são removidos. Pause um pipeline em execução antes de excluí-lo. Essa ação é irreversível.

Console

Na página do AI VibeFlow, localize o DataPipeline desejado, clique em Delete na coluna Actions e confirme para concluir a exclusão.

ossutil

Exemplos

ossutil api do-data-pipe-line-action --action deleteDataPipelineConfiguration \
  --parameters dataPipelineName=my-data-pipeline \
  --region cn-hangzhou

SDK

Java

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.dataprocess.OSSDataProcessClient;
import com.aliyun.sdk.service.oss2.dataprocess.models.*;

public class DeleteDataPipelineConfigurationSample {
    public static void main(String[] args) throws Exception {
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSDataProcessClient client = OSSDataProcessClient.newBuilder()
                .region("cn-hangzhou")
                .credentialsProvider(provider)
                .build()) {

            DeleteDataPipelineConfigurationResult result = client.deleteDataPipelineConfiguration(
                    DeleteDataPipelineConfigurationRequest.newBuilder()
                            .dataPipelineName("my-data-pipeline")
                            .build());

            System.out.printf("Status code:%d, request id:%s%n",
                    result.statusCode(), result.requestId());

        } catch (Exception e) {
            System.out.printf("error:%n%s", e);
        }
    }
}

Go

package main

import (
	"context"
	"log"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/dataprocess"
)

func main() {
	region := "cn-hangzhou"
	dataPipelineName := "my-data-pipeline"

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := dataprocess.NewClient(cfg)

	result, err := client.DeleteDataPipelineConfiguration(context.TODO(), &dataprocess.DeleteDataPipelineConfigurationRequest{
		DataPipelineName: oss.Ptr(dataPipelineName),
	})

	if err != nil {
		log.Fatalf("failed to delete pipeline configuration %v", err)
	}
	log.Printf("delete pipeline configuration result:%#v\n", result)
}

API

Chame a operação DeleteDataPipelineConfiguration para excluir um DataPipeline.

Descrição dos status do DataPipeline

Status

Descrição

Ação recomendada

Preparing

O pipeline foi criado e está sendo inicializado.

Aguarde alguns instantes. Ele entrará automaticamente no estado Running.

Running

Dados existentes estão sendo processados ou dados incrementais estão sendo monitorados.

Utilize normalmente. Clique em View Details para acompanhar o progresso.

Completed

Todos os dados existentes foram vetorizados (apenas no modo Process Existing Data Only).

Acesse o bucket vetorial para realizar buscas.

Paused

Pausado manualmente ou automaticamente devido ao índice cheio.

Verifique a causa e reinicie após resolvê-la.

Failed

Interrompido por erros de configuração (como chave de API inválida ou permissões insuficientes).

Analise o motivo da falha, corrija o problema e recrie o pipeline.

Solução de problemas

Arquivos de registro de erros

Se você selecionou Skip exceptions and continue with subsequent tasks while recording exception details ao criar o pipeline, os detalhes dos erros de arquivos que falharam na vetorização serão gravados como objetos no Exception Information Bucket.

O formato do caminho do arquivo de registro de erros é:

{ErrorBucket}/{ErrorPrefix}/{DataPipelineName}/{ObjectKey}-{millisecond timestamp}.log

Exemplo: se ErrorBucket for my-error-bucket, ErrorPrefix for pipeline-errors, o nome do pipeline for my-image-pipeline e a chave do objeto de origem for images/photo.jpg, o caminho do registro de erro será:

my-error-bucket/pipeline-errors/my-image-pipeline/images/photo.jpg-1735689600000.log

Conteúdo do registro de erros

Cada arquivo de registro de erros contém os seguintes campos:

Campo

Descrição

ErrorCode

Código do erro, que identifica o tipo de causa da falha.

ErrorMessage

Descrição do erro, fornecendo uma explicação textual da causa da falha.

RequestId

ID da solicitação no lado do Model Studio, que pode ser fornecido ao suporte técnico do Alibaba Cloud Model Studio para localizar o problema.

Erros comuns e sugestões de tratamento

Cenário de erro

Possível causa

Sugestão de tratamento

A solicitação de vetorização foi rejeitada.

A chave de API é inválida ou expirou.

Verifique o status da chave no console do Model Studio e recrie o pipeline.

A solicitação de vetorização excedeu o limite.

O RPM/TPM atingiu o limite máximo.

Entre em contato com o Model Studio para aumentar o limite de taxa. As tarefas serão enfileiradas e tentadas novamente automaticamente.

Falha ao gravar o vetor.

As dimensões não correspondem ao índice.

Confirme se as dimensões de saída do modelo do Model Studio selecionado são iguais às dimensões do índice vetorial e recrie o DataPipeline.

Falha ao ler o arquivo de origem.

O arquivo foi excluído.

Verifique se o arquivo de origem ainda existe. Nenhuma ação é necessária; o pipeline o ignorará e continuará.

O índice vetorial está cheio.

O número de linhas do índice atingiu 2 bilhões.

Crie um novo índice vetorial e um novo DataPipeline para continuar o processamento.