Saltar a contenido

Archivos de Resultados

Durante la ejecución de tu bot, puede subir o descargar cualquier tipo de archivo hacia/desde el portal BotCity Maestro.

Como término general, nos referimos a esos archivos como artefactos o archivos de resultados.

Puedes acceder a ellos a través del menú Archivos de Resultados en el portal BotCity Maestro.

Puedes descargar los archivos directamente desde la interfaz web o utilizando el SDK de Maestro.

En los siguientes pasos te mostraremos cómo subir y descargar artefactos utilizando la API del SDK.

Subir un Artefacto

En este ejemplo, subiremos un artefacto de archivo a BotCity Maestro.

maestro.post_artifact(
    task_id=task.id,
    artifact_name="My Artifact",
    filepath="artifact.txt"
)
File artifact = new File("artifact.txt");
maestro.postArtifact(task.id, "Mi Artefacto", artifact);
const filepath = "artifact.txt"
const artifact = await maestro.createArtifact(task.id, "Mi Artefacto", filepath)
const filepath: string = "artifact.txt"
const artifact: Artifact = await maestro.createArtifact(task.id, "Mi Artefacto", filepath)

Listar todos los Artefactos

Aquí te mostramos cómo listar todos los artefactos a través del SDK de BotCity Maestro:

artifacts = maestro.list_artifacts()

Note

La lista de artefactos es una lista de objetos Artifact.

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

Descargar un Artefacto

Para descargar un artefacto, necesitarás el id del artefacto.

Aquí te mostramos cómo descargar un artefacto a través del SDK de BotMaestro:

# Define artifact ID
artifact_id = "1"

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

# Write to disk
with open(name, "wb") as f:
    f.write(content)
// Define artifact ID
String artifactId = "1";

File artifact = new File("<path to file>/artifact.txt");

// Get artifact content
byte[] data = maestro.getArtifactFile(artifactId);

// Write to disk
Files.write(data, artifact);
// Define artifact ID
const artifactId = "1"

const filepath = "artifact.txt"

const data = await maestro.downloadArtifact(artifactId, filepath)
// Define artifact ID
const artifactId: string = "1"

const filepath: string = "artifact.txt"

const data: Buffer = await maestro.downloadArtifact(artifactId, filepath)