Method: projects.locations.dataStores.branches.documents.import

Importación masiva de varios Document El procesamiento de la solicitud puede ser síncrono. Se crean elementos no existentes.

Nota: Es posible que se actualice correctamente un subconjunto de los Document.

Solicitud HTTP


POST https://discoveryengine.googleapis.com/v1/{parent=projects/*/locations/*/dataStores/*/branches/*}/documents:import

Las URL usan la sintaxis de transcodificación gRPC.

Parámetros de ruta de acceso

Parámetros
parent

string

Obligatorio. Nombre del recurso de la rama principal, como projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/branches/{branch}. Requiere permiso de creación o actualización.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "errorConfig": {
    object (ImportErrorConfig)
  },
  "reconciliationMode": enum (ReconciliationMode),
  "updateMask": string,
  "autoGenerateIds": boolean,
  "idField": string,
  "forceRefreshContent": boolean,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "inlineSource": {
    object (InlineSource)
  },
  "gcsSource": {
    object (GcsSource)
  },
  "bigquerySource": {
    object (BigQuerySource)
  },
  "fhirStoreSource": {
    object (FhirStoreSource)
  },
  "spannerSource": {
    object (SpannerSource)
  },
  "cloudSqlSource": {
    object (CloudSqlSource)
  },
  "firestoreSource": {
    object (FirestoreSource)
  },
  "alloyDbSource": {
    object (AlloyDbSource)
  },
  "bigtableSource": {
    object (BigtableSource)
  }
  // End of mutually exclusive fields.
}
Campos
errorConfig

object (ImportErrorConfig)

Ubicación deseada de los errores que se produjeron durante la importación.

reconciliationMode

enum (ReconciliationMode)

Es el modo de conciliación entre los documentos existentes y los que se importarán. La configuración predeterminada es ReconciliationMode.INCREMENTAL.

updateMask

string (FieldMask format)

Indica qué campos de los documentos importados proporcionados se deben actualizar. Si no se configura, el valor predeterminado es actualizar todos los campos.

Esta es una lista separada por comas de los nombres de campos completamente calificados. Ejemplo: "user.displayName,photo".

autoGenerateIds

boolean

Indica si se deben generar automáticamente IDs para los documentos si no están presentes.

Si se configura como true, los Document.id se generan automáticamente en función del hash de la carga útil, en el que los IDs pueden no ser coherentes durante varias importaciones. En ese caso, se recomienda usar ReconciliationMode.FULL para evitar el contenido duplicado. Si no se establece o se establece en false, los Document.ids se deben especificar con idField; de lo contrario, no se importarán los documentos sin IDs.

Fuentes de datos compatibles:

idField

string

El campo indica el campo o la columna de ID que se utilizará como IDs únicos de los documentos.

Para GcsSource, es la clave del campo JSON. Por ejemplo, my_id para JSON {"my_id": "some_uuid"}. Para otros, puede ser el nombre de la columna de la tabla en la que se almacenan los IDs únicos.

Los valores del campo JSON o de la columna de la tabla se usan como los Document.id. El campo JSON o la columna de la tabla deben ser de tipo cadena, y los valores deben establecerse como cadenas válidas que cumplan con RFC-1034 con entre 1 y 63 caracteres. De lo contrario, no se importarán los documentos sin IDs válidos.

Solo se establece este campo cuando autoGenerateIds no está configurado o se establece como false. De lo contrario, se arroja un error INVALID_ARGUMENT.

Si no se establece, se usa el valor predeterminado Id cuando se importa desde las fuentes de datos permitidas.

Fuentes de datos compatibles:

forceRefreshContent

boolean

Es opcional. Indica si se debe forzar la actualización del contenido no estructurado de los documentos.

Si se configura como true, se actualizará la parte del contenido de los documentos, independientemente del estado de actualización del contenido de referencia.

Obligatorio. Es la fuente de la entrada. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
inlineSource

object (InlineSource)

Es la fuente intercalada del contenido de entrada para los documentos.

gcsSource

object (GcsSource)

Ubicación de Cloud Storage para el contenido de entrada.

bigquerySource

object (BigQuerySource)

Es la fuente de entrada de BigQuery.

fhirStoreSource

object (FhirStoreSource)

Es la fuente de entrada de FhirStore.

spannerSource

object (SpannerSource)

Es la fuente de entrada de Spanner.

cloudSqlSource

object (CloudSqlSource)

Es la fuente de entrada de Cloud SQL.

firestoreSource

object (FirestoreSource)

Es la fuente de entrada de Firestore.

alloyDbSource

object (AlloyDbSource)

Es la fuente de entrada de AlloyDB.

bigtableSource

object (BigtableSource)

Es la fuente de entrada de Cloud Bigtable.

Fin de los campos mutuamente excluyentes.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation.

Alcances de autorización

Se necesita uno de los siguientes permisos de OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Para obtener más información, consulta Authentication Overview.

Permisos de IAM

Se requiere el siguiente permiso de IAM en el recurso parent:

  • discoveryengine.documents.import

Para obtener más información, consulta la documentación de IAM.