Español

Cómo: Exportar adjuntos por lotes desde una clase de entidad

Resumen

No hay herramientas de geoprocesamiento que permitan a los usuarios exportar y guardar todos los adjuntos localmente. Las instrucciones que se proporcionan a continuación describen una posible solución .

La siguiente secuencia de comandos recorre en iteración toda la tabla de adjuntos de una sola clase de entidad y copia todos los adjuntos (guardados como BLOB u objetos binarios grandes) en un archivo.

Procedimiento

Esta secuencia de comandos requiere que la tabla de entrada sea la tabla de adjuntos estándar creada cuando se habilitan los adjuntos en una clase de entidad. Esto se debe a que la secuencia de comandos se basa en los campos DATA, ATT_NAME y ATTACHMENTID almacenados en esta tabla. En la convención de nomenclatura típica se debe incorporar_ATTACH al final del nombre de la tabla.

  1. Copie y pegue la siguiente secuencia de comandos en el Bloc de notas y guárdelos como ExportAttachments.py.
    import arcpy
    from arcpy import da
    import os
    
    inTable = arcpy.GetParameterAsText(0)
    fileLocation = arcpy.GetParameterAsText(1)
    
    with da.SearchCursor(inTable, ['DATA', 'ATT_NAME', 'ATTACHMENTID']) as cursor:
        for item in cursor:
            attachment = item[0]
            filenum = "ATT" + str(item[2]) + "_"
            filename = filenum + str(item[1])
            open(fileLocation + os.sep + filename, 'wb').write(attachment.tobytes())
            del item
            del filenum
            del filename
            del attachment
  2. Haga clic con el botón derecho del ratón en la caja de herramientas y seleccione Agregar > Secuencia de comandos.
  3. Asigne un nombre y una etiqueta a la secuencia de comandos. Marque la casilla situada junto a Almacenar nombres de ruta relativos y haga clic en Siguiente.
  4. En el archivo de la secuencia de comandos, vaya donde está guardada la secuencia de comandos ExportAttachments.py. Seleccione la secuencia de comandos, haga clic en Aceptar y haga clic en Siguiente.
  5. En Parámetros, escriba Tabla de adjuntos en Visualizar nombre y establezca su tipo de datos como Tabla. Agregue un segundo parámetro y escriba Ubicación de salida en visualizar nombre y seleccione Carpeta en su tipo de datos.
  6. Haga clic en Finalizar.
  7. Ahora debe agregarse una nueva herramienta de secuencia de comandos en la caja de herramientas.
  8. Haga doble clic en la herramienta de la secuencia de comandos. En el cuadro de diálogo, elija la tabla de adjuntos que contiene los adjuntos que se van a extraer para el primer parámetro. Elija una carpeta para guardar los adjuntos exportados en OutputLocation. Haga clic en el botón Aceptar para ejecutar la herramienta.