---
title: assetrealizer
slug: develop/es/assetrealizer
docTags: 
createdAt: 2025-03-11T07:07:19.526Z
---

Este objeto *assetrealizer* contiene funciones para materializar archivos (es decir, extraer archivos de un grupo de recursos y colocarlos en el directorio de archivos estándar).

**IDL de assetrealizer**

```text
interface AssetRealizer {
    constructor(AssetPool pool, String destinationPath);
    Promise<unsigned long long> estimateRealizedSize(AssetList assets);
    Promise<void> realize(AssetList assets);
    Promise<Array<ValidationResult>> validateFiles(AssetList assets, AssetValidationOptions options);
};
 
interface AssetValidationOptions {
    attribute deleteCorrupt;
};
 
interface ValidationResult {
    attribute String name;
    attribute String reason;
};
```

## Creación de objetos

Para crear un objeto *assetrealizer* primero deberá crear una instancia de *assetpool* y descargar archivos en ella mediante una instancia de *assetpoolfetcher* Luego, cargue el módulo `brightsign/assetrealizer` mediante el método `require()` y cree una instancia de la clase *assetrealizer* utilizando la instancia de *assetpool* y el directorio de destino para la materialización.

```javascript
const AssetPoolClass = require("@brightsign/assetpool");
let assetPool = new AssetPoolClass("SD:/pool");
   
const AssetRealizerClass = require("@brightsign/assetrealizer");
let assetRealizer = new AssetRealizerClass(assetPool, "SD:/");
```

## AssetRealizer

Utilice esta interfaz para copiar recursos fuera del grupo en archivos reales con nombre en el sistema de archivos y realizar funciones relacionadas.

### estimateRealizedSize()

```javascript
Promise<unsigned long long> estimateRealizedSize(AssetList assets)
```

Devuelve la cantidad estimada de espacio (en megabytes) que se ocuparía si los archivos especificados en el objeto [ListaDeRecursos](docId:_RNY34Khc4OPcNP3TK0Vn) se materializan.

### realize()

```javascript
Promise<void> realize(AssetList assets)
```

Coloca los archivos en el directorio de destino especificado en el objeto AssetList pasado. Si el grupo no contiene el conjunto completo de archivos requeridos, este método fallará inmediatamente antes de que se modifique cualquier archivo (este método intenta realizar la mayor cantidad de trabajo posible antes de modificar destructivamente el sistema de archivos). Este método verifica automáticamente la longitud del archivo y que cualquier hash coincida con los especificados. Si hay una discrepancia, el archivo afectado se elimina del grupo y la materialización falla. Este método puede provocar que se eliminen recursos no protegidos del grupo. El método indica el fallo rechazando la promise devuelta.

:::hint{type="info"}
El grupo y el destino deben estar en el mismo dispositivo de almacenamiento y en el mismo sistema de archivos.
:::

### validateFiles()

```javascript
Promise<Array<ValidationResult>> validateFiles(AssetList assets, AssetValidationOptions options)
```

Verifica el hash de cada archivo en el AssetList pasado comparándolo con el archivo correspondiente en la ruta de destino y devuelve una lista de cadenas que contiene cada nombre de archivo no coincidente asignado a la razón correspondiente. Esta operación puede tardar mucho tiempo y ralentizar el acceso al dispositivo de almacenamiento. Normalmente solo es útil si se sospecha de corrupción del sistema de archivos o del almacenamiento, o para depuración. El parámetro `opciones` es una lista de cadenas que actualmente puede admitir una sola opción:

- `"deleteCorrupt"`: Elimina automáticamente cualquier archivo que no coincida con el hash esperado. De forma predeterminada, estos archivos no se eliminan.

## ValidationResult

Esta interfaz es devuelta por el método `validateFiles()` para indicar los resultados de la operación de materialización.

- `nombre` <font color="#6B21A8">string</font>: El nombre del archivo no coincidente (si la operación de materialización falla)
- `razón` <font color="#6B21A8">string</font>: Una explicación de una operación de materialización fallida. Consulte la página [eventoRoAssetRealizer](docId:5pHjXX3KcbyaEBSBnDIv5) para obtener una lista de posibles cadenas de razón.

