create_file Fonction

S’applique à :check marqué oui Databricks SQL check marqué oui Databricks Runtime 18 LTS et versions ultérieures

Important

Cette fonctionnalité est en version bêta. Les administrateurs d’espace de travail peuvent contrôler l’accès à cette fonctionnalité à partir de la page Aperçus . Consultez Gérer les préversions d’Azure Databricks.

Téléverse du contenu binaire ou en chaîne sur un chemin de destination et renvoie une FILE référence au fichier téléchargé.

Syntax

create_file(content => content
  [, destination_path => path ]
  [, if_file_exists => mode ]
  [, content_type => content_type ])

Vous pouvez présenter des arguments selon la position ou par nom. Après avoir passé un argument par nom, tous les arguments suivants doivent aussi être transmis par nom. Pour plus d’informations, voir invocation de paramètre nommé.

Arguments

  • content: Une STRING expression ou BINARY avec le contenu à stocker sous forme de fichier. A STRING est stocké sous forme d’octets encodés en UTF-8.
  • destination_path: Un moyen optionnel STRING pour télécharger le contenu.
  • if_file_exists: Un optionnel STRING qui définit le comportement lorsqu’un fichier existe déjà sur le chemin de destination. Cela ne s’applique qu’à l’utilisation de l’argument destination_path . Les valeurs acceptées (insensibles à la majuscule) sont :
    • 'error': Soulève une erreur. Il s’agit de la valeur par défaut.
    • 'overwrite': Écrase le fichier existant.
    • 'skip': Saute le téléchargement et renvoie une FILE référence au fichier existant.
  • content_type: Une option STRING qui spécifie le type de contenu du fichier. Si elle n’est pas fournie, le type de contenu est déduit des octets d’entrée.

Returns

Une FILE valeur qui fait référence au fichier téléchargé.

Remarques

  • Si vous utilisez destination_path, le fichier est téléchargé atomiquement sur ce chemin. Vous devez avoir un accès d’écriture à l’emplacement cible, qui est généralement un volume du catalogue Unity.
  • Si un fichier existe déjà sur le chemin de destination, Azure Databricks génère une erreur par défaut à moins que vous ne posiez if_file_exists sur overwrite ou skip.

Conditions d’erreur courantes

  • CREATE_FILE_ERROR.FILE_ALREADY_EXISTS
  • CREATE_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED
  • CREATE_FILE_ILLEGAL_USAGE.CONTENT_REQUIRED
  • CREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_WITHOUT_DESTINATION
  • CREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_MODE

Pour plus d’informations, voir Conditions d’erreur dans Azure Databricks.

Examples

Pour stocker une chaîne comme un nouveau fichier sur un chemin donné :

SELECT create_file(
  content => 'hello, world',
  destination_path => '/Volumes/my_catalog/my_schema/my_volume/greetings.txt'
);

Pour stocker les octets bruts et définir explicitement le type de contenu :

SELECT create_file(
  content => my_binary_col,
  destination_path => '/Volumes/my_catalog/my_schema/my_volume/image.png',
  content_type => 'image/png'
)
FROM raw_uploads;

Pour sauter le téléchargement si un fichier existe déjà à destination :

SELECT create_file(
  content => my_binary_col,
  destination_path => '/Volumes/my_catalog/my_schema/my_volume/report.pdf',
  if_file_exists => 'skip'
);

Si destination_path n’est pas défini, if_file_exists cela génère une erreur :

SELECT create_file(content => 'data', if_file_exists => 'overwrite');
Error: CREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_WITHOUT_DESTINATION