# Cloudflare D1

## Setup

The following credentials keys are accepted:

* `account_id` **(required)** -> The Cloudflare account ID
* `api_token` **(required)** -> The API Token to access D1 resources
* `database` **(required)** -> The database name (not UUID)
* `insert_concurrency` (optional) -> The max number of concurrent requests when inserting data. Default is `50`.

### Using `sling conns`

Here are examples of setting a connection named `D1`. We must provide the `type=d1` property:

{% code overflow="wrap" %}

```bash
# for local files 
$ sling conns set D1 type=d1 account_id=<account_id> api_token=<api_token> database=<database>

# Or use url
$ sling conns set D1 url="d1://any_user:<api_token>@<account_id>/<database>"
```

{% endcode %}

### Environment Variable

See [here](https://docs.slingdata.io/sling-cli/environment#dot-env-file-.env.sling) to learn more about the `.env.sling` file.

{% code overflow="wrap" %}

```bash
export D1='d1://any_user:<api_token>@<account_id>/<database>'
export D1='{ type: d1, api_token: "<api_token>", account_id: "<account_id>", database: "<database>" }'

$env:D1="d1://any_user:<api_token>@<account_id>/<database>" # For Windows PowerShell
```

{% endcode %}

### Sling Env File YAML

See [here](https://docs.slingdata.io/sling-cli/environment#sling-env-file-env.yaml) to learn more about the sling `env.yaml` file.

```yaml
connections:
  D1:
    type: d1
    account_id: <account_id>
    api_token: <api_token>
    database: <database>
    insert_concurrency: 100
```

If you are facing issues connecting, please reach out to us at <support@slingdata.io>, on [discord](https://discord.gg/q5xtaSNDvp) or open a Github Issue [here](https://github.com/slingdata-io/sling-cli/issues).
