blob: 66ad8f115bbb3364d4ddf081b4fc5e5fd441a72b [file] [log] [blame] [view]
---
{
"title": "CREATE FILE",
"language": "en"
}
---
## Description
This statement is used to create and upload a file to the Doris cluster.
This function is usually used to manage files that need to be used in some other commands, such as certificates, public
and private keys, and so on.
## Syntax
```sql
CREATE FILE <file_name>
[ { FROM | IN } <database_name>] PROPERTIES ("<key>"="<value>" [ , ... ]);
```
## Required Parameters
**<file_name>**
**1. `<file_name>`**
> Custom file name.
**2. `<key>`**
> File attribute key.
> - **url**: Required. Specifies an unauthenticated HTTP download URL. After successful execution, the file will be
stored
in Doris and this URL will no longer be required.
> - **catalog**: Required. Category name for file classification (user-defined). Used to locate files in specific
commands (
e.g., searches for files under 'kafka' catalog when Kafka is the data source in scheduled imports).
> - **md5**: Optional. MD5 checksum of the file. If provided, verification will be performed after download.
**3. `<value>`**
> File attribute value.
## Optional Parameters
**1. `<database_name>`**
> Specifies the database to which the file belongs. Uses current session's database if not specified.
## Access Control Requirements
The user executing this SQL command must possess at least the following privileges:
| Privilege | Object | Notes |
|:-------------|:------------|:--------------------------------------------------------------------------------|
| `ADMIN_PRIV` | User / Role | The user or role must hold the `ADMIN_PRIV` privilege to execute this operation |
## Usage Notes
- File Access Rules
> Each file belongs to a specific database (Database). Users with access privileges to the database can access all files
> within it.
- File Size and Quantity Limits
> This feature is primarily designed for managing small files such as certificates.
> **Size limit**: Individual file size is restricted to 1MB
> **Quantity limit**: A Doris cluster supports uploading up to 100 files maximum
## Example
- Create a file ca.pem , classified as kafka
```sql
CREATE FILE "ca.pem"
PROPERTIES
(
"url" = "https://test.bj.bcebos.com/kafka-key/ca.pem",
"catalog" = "kafka"
);
```
- Create a file client.key, classified as my_catalog
```sql
CREATE FILE "client.key"
IN my_database
PROPERTIES
(
"url" = "https://test.bj.bcebos.com/kafka-key/client.key",
"catalog" = "my_catalog",
"md5" = "b5bb901bf10f99205b39a46ac3557dd9"
);
```
- Create a file client_1.key, classified as my_catalog
```sql
CREATE FILE "client_1.key"
FROM my_database
PROPERTIES
(
"url" = "https://test.bj.bcebos.com/kafka-key/client.key",
"catalog" = "my_catalog",
"md5" = "b5bb901bf10f99205b39a46ac3557dd9"
);
```