Agregar adjuntos (Administración de datos)

Resumen

Agrega adjuntos de archivos a los registros de una tabla o clase de entidad de geodatabase. Los adjuntos se almacenan en la geodatabase en una tabla de adjuntos separada que mantiene vínculo con el dataset objetivo. Los adjuntos se agregan al dataset de destino usando una tabla de coincidencia que indica para cada registro de entrada (o un grupo de registros de atributo) la ruta a un archivo para agregarlo como adjunto a ese registro.

Más información sobre cómo trabajar con las herramientas del conjunto de herramientas Adjuntos

Ilustración

Ilustración de la herramienta Agregar adjuntos

Uso

  • Esta herramienta no respeta las selecciones realizadas.

  • Antes de poder agregar adjuntos usando esta herramienta se deben habilitar usando la herramienta Habilitar adjuntos.

  • Los archivos adjuntos que se agreguen mediante esta herramienta se copiarán en la geodatabase. Los archivos de adjuntos originales no se verán afectados. Si se modifican los archivos originales, los cambios no se aplicarán automáticamente al adjunto de la geodatabase. Para sincronizar los cambios efectuados en la geodatabase, elimine los adjuntos afectados usando la herramienta Quitar adjuntos. A continuación, vuelva a agregar los archivos modificados como nuevos adjuntos.

  • Si el valor del parámetro Dataset de entrada contiene un campo existente que es la ruta de acceso a los archivos adjuntos que se van a agregar y no desea utilizar un valor independiente para el parámetro Tabla de coincidencias, especifique el mismo dataset para los parámetros Dataset de entrada y Tabla de coincidencias. La herramienta seleccionará automáticamente el campo de la ID del objeto para ambos campos de unión, y usted puede especificar qué campo de la entrada contiene las rutas a los archivos de adjuntos.

  • Se pueden adjuntar varios archivos a un registro de tabla o clase de entidad único. Para ello, asegúrese de que el valor del parámetro Tabla de coincidencias contiene varios registros para ese Id. de entrada. Por ejemplo, el registro 1 tiene un Id. de entrada de 1 y un nombre de ruta de pic1a.jpg, y el registro 2 tiene un Id. de entrada de 1 y un nombre de ruta de pic1b.jpg.

Parámetros

EtiquetaExplicaciónTipo de datos
Dataset de entrada

La tabla de la geodatabase o clase de entidad donde se agregarán los adjuntos. Los adjuntos no se agregan directamente a esta tabla, sino a una tabla de adjuntos relacionada que mantiene un vínculo con el dataset de entrada.

El dataset se debe guardar en una geodatabase versión 10.0 o más reciente, y la tabla debe tener habilitados los adjuntos.

Table View
Campo de unión de entrada

Un campo del valor del parámetro Dataset de entrada que tiene valores coincidentes en el valor del parámetro Campo de unión de coincidencias. Los registros con valores coincidentes tendrán adjuntos agregados. Este campo puede ser un campo de ID de objeto o cualquier otro atributo de identificación.

Field
Tabla de concordancias

Tabla que identifica a qué registros de entrada se les agregarán adjuntos y las rutas a esos adjuntos.

Table View
Campo de unión de concordancias

Un campo del valor del parámetro Tabla de coincidencias que indica a qué registros del valor del parámetro Dataset de entrada se les agregarán los anexos especificados.

Field
Campo de ruta de coincidencias

Un campo del valor del parámetro Tabla de coincidencias que contiene rutas a los archivos adjuntos que se agregarán a los registros del valor del parámetro Dataset de entrada.

Un campo del valor del parámetro in_match_table que contiene rutas a los archivos adjuntos que se agregarán a los registros del valor del parámetro in_dataset.

Field
Carpeta de trabajo
(Opcional)

Carpeta o espacio de trabajo en donde se centralizan los archivos de adjuntos. Al especificar una carpeta de trabajo, las rutas en el valor del parámetro Campo Ruta de coincidencias pueden ser nombres cortos de archivos relacionados con la carpeta de trabajo.

Por ejemplo, si carga archivos adjuntos con rutas como C:\MyPictures\image1.jpg y C:\MyPictures\image2.jpg, utilice un valor de parámetro de C:\MyPictures. Entonces, las rutas del valor del parámetro Campo Ruta de coincidencias pueden ser los nombres cortos como image1.jpg y image2.jpg en lugar de las rutas completas.

Folder

Salida derivada

EtiquetaExplicaciónTipo de datos
Dataset de entrada actualizado

El dataset de entrada actualizado.

Table View

arcpy.management.AddAttachments(in_dataset, in_join_field, in_match_table, in_match_join_field, in_match_path_field, {in_working_folder})
NombreExplicaciónTipo de datos
in_dataset

La tabla de la geodatabase o clase de entidad donde se agregarán los adjuntos. Los adjuntos no se agregan directamente a esta tabla, sino a una tabla de adjuntos relacionada que mantiene un vínculo con el dataset de entrada.

El dataset se debe guardar en una geodatabase versión 10.0 o más reciente, y la tabla debe tener habilitados los adjuntos.

Table View
in_join_field

Un campo del valor del parámetro in_dataset que tiene valores coincidentes en el valor del parámetro in_match_join_field. Los registros con valores coincidentes tendrán adjuntos agregados. Este campo puede ser un campo de ID de objeto o cualquier otro atributo de identificación.

Field
in_match_table

Tabla que identifica a qué registros de entrada se les agregarán adjuntos y las rutas a esos adjuntos.

Table View
in_match_join_field

Un campo del valor del parámetro in_match_table que indica a qué registros del valor del parámetro in_dataset se les agregarán los anexos especificados.

Field
in_match_path_field

Un campo del valor del parámetro Tabla de coincidencias que contiene rutas a los archivos adjuntos que se agregarán a los registros del valor del parámetro Dataset de entrada.

Un campo del valor del parámetro in_match_table que contiene rutas a los archivos adjuntos que se agregarán a los registros del valor del parámetro in_dataset.

Field
in_working_folder
(Opcional)

Carpeta o espacio de trabajo en donde se centralizan los archivos de adjuntos. Al especificar una carpeta de trabajo, las rutas en el valor del parámetro in_match_path_field pueden ser nombres cortos de archivos relacionados con la carpeta de trabajo.

Por ejemplo, si carga archivos adjuntos con rutas como C:\MyPictures\image1.jpg y C:\MyPictures\image2.jpg, utilice un valor de parámetro de C:\MyPictures. Entonces, las rutas del valor del parámetro in_match_path_field pueden ser los nombres cortos como image1.jpg y image2.jpg en lugar de las rutas completas.

Folder

Salida derivada

NombreExplicaciónTipo de datos
out_dataset

El dataset de entrada actualizado.

Table View

Muestra de código

Ejemplo 1 de AddAttachments (ventana de Python)

El siguiente fragmento de código demuestra cómo utilizar la función AddAttachments en la ventana de Python.

import arcpy
arcpy.management.AddAttachments(
    r"C:\Data\City.gdb\Parcels", "ParcelID", r"C:\Data\matchtable.csv", 
    "ParcelID", "Picture", r"C:\Pictures")
Ejemplo 2 de AddAttachments (script independiente)

El siguiente script muestra cómo utilizar la función AddAttachments en un script independiente.

"""
Example: We have a folder of .jpg photographs and .pdf files;
We want to add these files as attachments to our input dataset.
Create a match table, enable input dataset if needed, add attachments.
"""
import arcpy

input_dataset = r"C:\Data\City.gdb\Parcels"
input_path = arcpy.Describe(input_dataset).path

# GenerateAttachmentsMatchtable parameters
# Required
match_table = r"C:\Data\City.gdb\parcelsMatchtable"
key_field = 'PARCELS'
# Optional
data_filter ='*.jpg; *.pdf'  # Remove *.pdf to load only the .jpg images as another option.
rel_path = "RELATIVE"
match_pattern = 'ANY'
# pic_folder required for match table, optional for add attachments if rel_path is ABSOLUTE
pic_folder = r"C:\Pictures\Parcels"

arcpy.management.GenerateAttachmentMatchTable(input_dataset, pic_folder, match_table, key_field,
                                              data_filter, rel_path, match_pattern)

# Check if input dataset is enabled for attachments
rel_class = arcpy.Describe(input_dataset).relationshipClassNames
rel_class_path = (f"{input_path}\\{relclass[0]}")
rel_class_att = arcpy.Describe(relclassPath).isAttachmentRelationship

if rel_class_att:
    pass
else:
    arcpy.management.EnableAttachments(input_dataset)

# AddAttachments parameters
add_match_table = match_table
input_join_fld = 'ObjectID'
match_join_fld = 'MatchID'
match_path_fld = 'Filename'

# Add attachments from generated match table to input data ATTACH table
arcpy.management.AddAttachments(input_dataset, input_join_fld, add_match_table,
                                match_join_fld, match_path_fld, pic_folder)

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados