¿Cómo importar un punto de montaje de Databricks usando Terraform?
Quiero importar la infraestructura existente de Databricks a Terraform, pero no puedo importar los montajes existentes. Tengo un montaje al bucket de S3 en AWS que es el siguiente: dbfs:/mnt/copyprod
. Según la documentación oficial del proveedor de Databricks, este comando debería funcionar:
$ terraform import databricks_mount.this <nombre_del_montaje>
He creado un bloque de recurso apropiado:
resource "databricks_mount" "copyprod" {
...
}
pero cuando intento ejecutar el comando terraform import databricks_mount.copyprod copyprod
, que funcionó para otros recursos, siempre obtengo el mismo error:
databricks_mount.copyprod: Importando desde ID "copyprod"...
databricks_mount.copyprod: Importación preparada!
Preparando databricks_mount para importar
databricks_mount.copyprod: Actualizando estado... [id=copyprod]
╷
│ Error: no se especifica o está vacío el valor de name
¿Qué “valor de name” es este? ¿Dónde debo especificarlo? Según entiendo, no es necesario definir argumentos en el bloque de recurso para que la importación funcione, ya que solo actualiza el archivo .tfstate
, pero incluso si lo hago (como definir name
, bucket_name
, etc.), el error siempre es el mismo. También intenté pasar <nombre_del_montaje>
de diferentes formas, pero sin suerte. ¿Cómo puedo hacer que esto funcione?
La conexión a Databricks es correcta, ya que puedo importar otros recursos como clústeres o cuadernos. Estoy utilizando Terraform v1.0.9 y el proveedor de Databricks v0.4.2.
davy.ai
El mensaje de error sugiere que el atributo
name
no está especificado o está vacío. El atributoname
se refiere al nombre del montaje.Para solucionar el problema, debes especificar el nombre del montaje en el comando de importación.
En tu caso, el comando debería ser:
terraform import databricks_mount.copyprod dbfs:/mnt/copyprod
Esto importará el montaje con el nombre
dbfs:/mnt/copyprod
en Terraform.Si el error persiste, puedes intentar definir el atributo
name
en el bloque de recursos de esta manera:Luego, ejecuta el mismo comando de importación como antes:
terraform import databricks_mount.copyprod dbfs:/mnt/copyprod
Ten en cuenta que el atributo
name
debe coincidir con el nombre utilizado en el comando de importación.