Ir para o conteúdo

Arquivos de Resultado

Durante a execução do seu bot, ele pode fazer carregar ou baixar qualquer tipo de arquivos de/para o portal da Botcity Maestro.

Como termo geral, nos referimos a esses arquivos como artefatos ou arquivos de resultado.

Eles podem ser acessados através do menu Arquivos de Resultado no portal da Botcity Maestro.

Você pode baixar os arquivos diretamente da interface da Web ou usando o Maestro SDK.

Nos próximos passos, mostraremos como fazer para carregar e baixar artefatos usando a API SDK.

Carregando um artefato

Neste exemplo, enviaremos um artefato de arquivo para o Maestro da Botcity.

maestro.post_artifact(
    task_id=task.id,
    artifact_name="Meu artefato",
    filepath="artefato.txt"
)
File artefato = new File("artefato.txt");
maestro.postArtifact(task.id, "Meu artefato", artefato);
const caminho_do_arquivo = "artefato.txt"
const artefato = await maestro.createArtifact(task.id, "Meu artefato", caminho_do_arquivo)
const caminho_do_arquivo: string = "artefato.txt"
const artefato: Artifact = await maestro.createArtifact(task.id, "Meu artefato", caminho_do_arquivo)

Listando todos os artefatos

Aqui está como listamos todos os artefatos através do Botcity Maestro SDK:

artefato = maestro.list_artifacts()

Note

A lista de artefatos é uma lista de objetos Artefato.

List<ArtifactVO> artifacts = maestro.listArtifact();
const artefato = await maestro.getArtifacts("10", "5")
const artefato: Artifacts = await maestro.getArtifacts("10", "5")

Baixando um artefato

Para baixar um artefato, você precisará do artifact id.

Aqui está como baixamos um artefato através do Botmaestro SDK:

# Define artifact ID
artefato_id = "1"

# Get artifact name and content
nome, conteudo = maestro.get_artifact(artifact_id=artefato_id)

# Write to disk
with open(nome, "wb") as f:
    f.write(conteudo)
File artefato = new File("<path to file>/artifact.txt");

// Define artifact ID
String artefatoId = "1";

// Get artifact content
byte[] dados = maestro.getArtifactFile(artefatoId);

// Write to disk
FileUtils.writeByteArrayToFile(artefato, dados);
// Define artifact ID
const artefatoId = "1"

const caminho_do_arquivo = "artifact.txt"

const dados = await maestro.downloadArtifact(artefatoId, caminho_do_arquivo)
// Define artifact ID
const artefatoId: string = "1"

const caminho_do_arquivo: string = "artifact.txt"

const dados: Buffer = await maestro.downloadArtifact(artefatoId, caminho_do_arquivo)