funktion create_file

Gäller för:check markerad ja Databricks SQL-kontroll markerad ja Databricks Runtime 18 LTS och senare

Important

Den här funktionen finns i Beta. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera förhandsversioner av Azure Databricks.

Laddar upp sträng- eller binärtinnehåll till en destinationsväg och returnerar en FILE referens till den uppladdade filen.

Syntax

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

Du kan skicka argument antingen positionellt eller med namn. Efter att du har passerat ett argument vid namn måste alla följande argument också skickas med namn. För mer information, se namngiven parameteranrop.

Arguments

  • content: Ett STRING eller BINARY uttryck med innehållet att lagra som fil. A STRING lagras som UTF-8-kodade bytes.
  • destination_path: En valfri STRING väg att ladda upp innehållet till.
  • if_file_exists: Ett valfritt STRING som sätter beteendet när en fil redan finns vid destinationsvägen. Gäller endast när argumentet destination_path används. Godkända värden (kasuskänsliga) är:
    • 'error': Ger ett fel. Detta är standardvärdet.
    • 'overwrite': Skriver över den befintliga filen.
    • 'skip': Hoppar över uppladdningen och returnerar en FILE referens till den befintliga filen.
  • content_type: Ett valfritt STRING som specificerar filens innehållstyp. Om den inte anges härleds innehållstypen från indatabytena.

Returns

Ett värde som refererar FILE till den uppladdade filen.

Notes

  • Om du använder destination_path, laddas filen upp atomiskt till den sökvägen. Du måste ha skrivåtkomst till målplatsen, som vanligtvis är en Unity Catalog-volym.
  • Om en fil redan finns vid destinationssökvägen ger Azure Databricks ett fel som standard, om du inte sätter if_file_exists till overwrite eller skip.

Vanliga felvillkor

  • 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

För mer information, se Felvillkor i Azure Databricks.

Examples

För att lagra en sträng som en ny fil på en given sökväg:

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

För att lagra råbyte och uttryckligen ange innehållstypen:

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;

För att hoppa över uppladdningen om en fil redan finns vid destinationen:

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

Om destination_path inte är satt, if_file_exists ger ett fel:

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