S3BucketTray
- 1 Datos Generales
- 2 Parámetros soportados
- 2.1 name
- 2.2 bucketRegion
- 2.3 bucketName
- 2.4 accessKeyAlias
- 2.5 accessSecretAlias
- 2.6 tempFolder
- 2.7 outputFolder
- 2.8 errorFolder
- 2.9 className
- 2.10 internalName
- 2.11 count
- 2.12 fields
- 2.13 includeFiles
- 2.14 keepOriginalName
- 2.15 processOldestFirst
- 2.16 maskTool
- 3 Ejemplos de Configuración
Datos Generales
Tipo de Bandeja | Bucket S3 |
---|---|
Nombre Calificado | com.latintech.thuban.docintro.tray.S3BucketTray |
Extiende de | |
Descripción | Bandeja de trabajo que permite recuperar los archivos de un bucket S3. Soporta implementaciones locales de S3 que soporte la SDK de AWS. Se comporta igual y soporta los mismos Workitem Marshallers y procesadores que una FolderTray con el agregado que elimina del bucket el archivo original si fue procesado correctamente. Si el archivo no pudo ser procesado y fue a error, el archivo original permanece en el bucket. A diferencia de una FolderTray, la cantidad de archivos a procesar hace referencia a la cantidad de archivos a tomar del bucket S3. La cantidad final de archivos procesados puede ser menor si se aplica un filtro de includeFiles ya que dicho filtro se aplicará luego del count, con lo cuál la cantidad de archivos a procesar puede ser menor o nula dependiendo del filtro configurado. Esto se hace así por limitaciones de filtro de los servicios de S3 de AWS y para evitar llamadas extras que consumen tiempo, recursos y dinero. |
Disponible desde Versión | 8.0 |
Parámetros soportados
A continuación se listarán todos los parámetros aceptados por la bandeja. Los títulos que anteceden cada tabla son los nombres de los parámetros, los mismos son caseSensitive.
name
Tipo | String |
---|---|
Requerido | Sí. |
Descripción | Es el nombre que se le otorga a esta instancia particular de la bandeja que se está definiendo en el XML de DocIntro. Es utilizado para referencia la bandeja en el TrayManager. |
bucketRegion
Tipo | String |
---|---|
Requerido | Sí. |
Descripción | Es la región en formato AWS en la cuál se encuentra el bucket S3 desde el cuál se tomarán los archivos. Ejemplo: us-east-1 |
bucketName
Tipo | String |
---|---|
Requerido | Sí. |
Descripción | Es el nombre del bucket S3 desde el cuál se tomarán los archivos. |
accessKeyAlias
Tipo | String |
---|---|
Requerido | No. En caso de no especificar se utilizaran las credenciales por defecto para S3 del security.properties. De no existir ninguna credencial, un error de falta de credenciales será emitido. |
Descripción | Es un alias o llave para recuperar el accessKey de AWS de acceso programático desde el archivo security.properties de Thuban. Dichas credenciales deben contar con privilegios para leer, escribir y eliminar en el bucket S3. |
accessSecretAlias
Tipo | String |
---|---|
Requerido | No. En caso de no especificar se utilizaran las credenciales por defecto para S3 del security.properties. De no existir ninguna credencial, un error de falta de credenciales será emitido. |
Descripción | Es un alias o llave para recuperar el accessSecret de AWS de acceso programático desde el archivo security.properties de Thuban. Dichas credenciales deben contar con privilegios para leer, escribir y eliminar en el bucket S3. |
tempFolder
Tipo | Carpeta |
---|---|
Requerido | Sí. Además la misma debe existir. |
Descripción | Carpeta a la cual se descargarán y posteriormente procesarán los archivos del bucket S3. |
outputFolder
Tipo | Carpeta |
---|---|
Requerido | Sí. Además la misma debe existir. |
Descripción | Carpeta dónde serán trasladados todos los archivos que hayan sido procesados correctamente. |
errorFolder
Tipo | Carpeta |
---|---|
Requerido | Sí. Además la misma debe existir. |
Descripción | Carpeta dónde serán traslados todos los archivos que al ser procesados hayan arrojado un error. Junto al archivo, en la misma carpeta se depositará un archivo de tipo .log con el detalle del error. |
className
Tipo | String |
---|---|
Requerido | No |
Descripción | Indica el ID de la clase documental de destino de los archivos a ser procesados. No es necesario definirla aquí, puede ser definida posteriormente en un procesador. |
internalName
Tipo | String |
---|---|
Requerido | No |
Descripción | Permite sobreescribir la configuración de la clase documental indicando aquí de que forma se debe conformar el nombre del documento en Thuban. Puede ser definido posteriormente en un procesador de subida de documentos. En caso de no informar nada en ningún lado del DocIntro, al momento de subirse el documento a Thuban se generará el nombre como está definido en la clase documental. |
count
Tipo | Integer |
---|---|
Requerido | No |
Descripción | Indica cuántos archivos serán procesados por la bandeja en cada ejecución del DocIntro. En caso de no estar especificado se procesará de a 1 archivo a la vez. |
fields
Tipo | Map |
---|---|
Requerido | Sí, aunque puede estar vacío. |
Descripción | Mapa de campos que se quiere agregar el ítem de trabajo de la bandeja. |
Ejemplo | <property name="fields">
<map>
<entry>
<key><value>F_INGRESO</value></key>
<value>$F{'yyyy-MM-dd'}</value>
</entry>
</map>
</property> |
includeFiles
Tipo | String |
---|---|
Requerido | No |
Descripción | Expresión regular de inclusión de archivos. Si es null se ignora este parámetro. |
Ejemplo | .*.([pP][dD][fF])$ → Procesa solo archivos .pdf |
keepOriginalName
Tipo | Boolean |
---|---|
Requerido | No. Por defecto asume el valor “true” |
Descripción | Le indica a la bandeja si debe mantener el nombre original del archivo que procesa. |
processOldestFirst
Tipo | Boolean |
---|---|
Requerido | No. Por defecto asume el valor “false” |
Descripción | Le indica a la bandeja si debe procesar primero los archivos más antiguos. |
maskTool
Tipo | ThubanMaskTool |
---|---|
Requerido | No |
Descripción | Esta es una propiedad que referencia otro Bean de utilidades del docintro que permite reemplazar valores de campos o asignar valores a campos en función de Máscaras. Por ejemplo, si se define una campo:
Esa máscara será reemplazada por la fecha del momento con ese formato por el maskTool. |
Ejemplos de Configuración
Simple
<bean id="s3BucketTray" class="com.latintech.thuban.docintro.tray.S3BucketTray">
<property name="tempFolder" value="C:\Docintro\temp"/> <!-- MODIFICAR RUTA-->
<property name="outputFolder" value="C:\Docintro\output"/> <!-- MODIFICAR RUTA-->
<property name="errorFolder" value="C:\Docintro\error"/> <!-- MODIFICAR RUTA-->
<property name="bucketRegion" value="us-east-1"/>
<property name="bucketName" value="mibuckets3"/>
<property name="className" value="MI_CLASE_DOCUMENTAL"/>
<property name="internalName" value=""/>
<property name="fields">
<map>
</map>
</property>
<property name="marshallingManager" ref="fileMarshallingManager"/>
<property name="name" value="s3BucketTray"/>
</bean>
Completa
<bean id="s3BucketTray" class="com.latintech.thuban.docintro.tray.S3BucketTray">
<property name="tempFolder" value="C:\Docintro\temp"/> <!-- MODIFICAR RUTA-->
<property name="outputFolder" value="C:\Docintro\output"/> <!-- MODIFICAR RUTA-->
<property name="errorFolder" value="C:\Docintro\error"/> <!-- MODIFICAR RUTA-->
<property name="bucketRegion" value="us-east-1"/>
<property name="bucketName" value="mibuckets3"/>
<property name="accessKeyAlias" value="docintro.aws.s3.tray.accessid"/>
<property name="accessSecretAlias" value="docintro.aws.s3.tray.accessSecret"/>
<property name="className" value="MI_CLASE_DOCUMENTAL"/>
<property name="internalName" value=""/>
<property name="includeFiles" value=".*\.([pP][dD][fF])$"/>
<property name="count" value="10"/> <!-- CANTIDAD DE IMAGENES PROCESA -->
<property name="fields">
<map>
<entry key="ESTADO" value="INGRESADO S3"/>
</map>
</property>
<property name="marshallingManager" ref="fileMarshallingManager"/>
<property name="name" value="s3BucketTray"/>
</bean>