curl --request PUT \
--url https://api.brightdata.com/datasets/views/{view_id}/delivery_settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"filename": {
"extension": "json",
"template": "bd_{[datetime]}",
"tz_offset": "+00:00"
},
"flatten_csv": false,
"deliver": {
"type": "s3",
"bucket": "my-bucket",
"credentials": {
"aws-access-key": "AKIAIOSFODNN7",
"aws-secret-key": "wJalrXUtnFEMI"
},
"region": "us-east-1",
"directory": "my/directory"
},
"tar": true,
"compress": true,
"batch_size": 1000
}
'import requests
url = "https://api.brightdata.com/datasets/views/{view_id}/delivery_settings"
payload = {
"filename": {
"extension": "json",
"template": "bd_{[datetime]}",
"tz_offset": "+00:00"
},
"flatten_csv": False,
"deliver": {
"type": "s3",
"bucket": "my-bucket",
"credentials": {
"aws-access-key": "AKIAIOSFODNN7",
"aws-secret-key": "wJalrXUtnFEMI"
},
"region": "us-east-1",
"directory": "my/directory"
},
"tar": True,
"compress": True,
"batch_size": 1000
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
filename: {extension: 'json', template: 'bd_{[datetime]}', tz_offset: '+00:00'},
flatten_csv: false,
deliver: {
type: 's3',
bucket: 'my-bucket',
credentials: {'aws-access-key': 'AKIAIOSFODNN7', 'aws-secret-key': 'wJalrXUtnFEMI'},
region: 'us-east-1',
directory: 'my/directory'
},
tar: true,
compress: true,
batch_size: 1000
})
};
fetch('https://api.brightdata.com/datasets/views/{view_id}/delivery_settings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.brightdata.com/datasets/views/{view_id}/delivery_settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'filename' => [
'extension' => 'json',
'template' => 'bd_{[datetime]}',
'tz_offset' => '+00:00'
],
'flatten_csv' => false,
'deliver' => [
'type' => 's3',
'bucket' => 'my-bucket',
'credentials' => [
'aws-access-key' => 'AKIAIOSFODNN7',
'aws-secret-key' => 'wJalrXUtnFEMI'
],
'region' => 'us-east-1',
'directory' => 'my/directory'
],
'tar' => true,
'compress' => true,
'batch_size' => 1000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.brightdata.com/datasets/views/{view_id}/delivery_settings"
payload := strings.NewReader("{\n \"filename\": {\n \"extension\": \"json\",\n \"template\": \"bd_{[datetime]}\",\n \"tz_offset\": \"+00:00\"\n },\n \"flatten_csv\": false,\n \"deliver\": {\n \"type\": \"s3\",\n \"bucket\": \"my-bucket\",\n \"credentials\": {\n \"aws-access-key\": \"AKIAIOSFODNN7\",\n \"aws-secret-key\": \"wJalrXUtnFEMI\"\n },\n \"region\": \"us-east-1\",\n \"directory\": \"my/directory\"\n },\n \"tar\": true,\n \"compress\": true,\n \"batch_size\": 1000\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.brightdata.com/datasets/views/{view_id}/delivery_settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filename\": {\n \"extension\": \"json\",\n \"template\": \"bd_{[datetime]}\",\n \"tz_offset\": \"+00:00\"\n },\n \"flatten_csv\": false,\n \"deliver\": {\n \"type\": \"s3\",\n \"bucket\": \"my-bucket\",\n \"credentials\": {\n \"aws-access-key\": \"AKIAIOSFODNN7\",\n \"aws-secret-key\": \"wJalrXUtnFEMI\"\n },\n \"region\": \"us-east-1\",\n \"directory\": \"my/directory\"\n },\n \"tar\": true,\n \"compress\": true,\n \"batch_size\": 1000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brightdata.com/datasets/views/{view_id}/delivery_settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filename\": {\n \"extension\": \"json\",\n \"template\": \"bd_{[datetime]}\",\n \"tz_offset\": \"+00:00\"\n },\n \"flatten_csv\": false,\n \"deliver\": {\n \"type\": \"s3\",\n \"bucket\": \"my-bucket\",\n \"credentials\": {\n \"aws-access-key\": \"AKIAIOSFODNN7\",\n \"aws-secret-key\": \"wJalrXUtnFEMI\"\n },\n \"region\": \"us-east-1\",\n \"directory\": \"my/directory\"\n },\n \"tar\": true,\n \"compress\": true,\n \"batch_size\": 1000\n}"
response = http.request(request)
puts response.read_body{
"view_id": "v_id1"
}{
"error": "Invalid delivery settings"
}{
"error": "View not found"
}更新视图交付设置
设置单个数据集视图的交付目标、凭证、文件名模板和批处理选项。返回更新后的视图ID。
curl --request PUT \
--url https://api.brightdata.com/datasets/views/{view_id}/delivery_settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"filename": {
"extension": "json",
"template": "bd_{[datetime]}",
"tz_offset": "+00:00"
},
"flatten_csv": false,
"deliver": {
"type": "s3",
"bucket": "my-bucket",
"credentials": {
"aws-access-key": "AKIAIOSFODNN7",
"aws-secret-key": "wJalrXUtnFEMI"
},
"region": "us-east-1",
"directory": "my/directory"
},
"tar": true,
"compress": true,
"batch_size": 1000
}
'import requests
url = "https://api.brightdata.com/datasets/views/{view_id}/delivery_settings"
payload = {
"filename": {
"extension": "json",
"template": "bd_{[datetime]}",
"tz_offset": "+00:00"
},
"flatten_csv": False,
"deliver": {
"type": "s3",
"bucket": "my-bucket",
"credentials": {
"aws-access-key": "AKIAIOSFODNN7",
"aws-secret-key": "wJalrXUtnFEMI"
},
"region": "us-east-1",
"directory": "my/directory"
},
"tar": True,
"compress": True,
"batch_size": 1000
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
filename: {extension: 'json', template: 'bd_{[datetime]}', tz_offset: '+00:00'},
flatten_csv: false,
deliver: {
type: 's3',
bucket: 'my-bucket',
credentials: {'aws-access-key': 'AKIAIOSFODNN7', 'aws-secret-key': 'wJalrXUtnFEMI'},
region: 'us-east-1',
directory: 'my/directory'
},
tar: true,
compress: true,
batch_size: 1000
})
};
fetch('https://api.brightdata.com/datasets/views/{view_id}/delivery_settings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.brightdata.com/datasets/views/{view_id}/delivery_settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'filename' => [
'extension' => 'json',
'template' => 'bd_{[datetime]}',
'tz_offset' => '+00:00'
],
'flatten_csv' => false,
'deliver' => [
'type' => 's3',
'bucket' => 'my-bucket',
'credentials' => [
'aws-access-key' => 'AKIAIOSFODNN7',
'aws-secret-key' => 'wJalrXUtnFEMI'
],
'region' => 'us-east-1',
'directory' => 'my/directory'
],
'tar' => true,
'compress' => true,
'batch_size' => 1000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.brightdata.com/datasets/views/{view_id}/delivery_settings"
payload := strings.NewReader("{\n \"filename\": {\n \"extension\": \"json\",\n \"template\": \"bd_{[datetime]}\",\n \"tz_offset\": \"+00:00\"\n },\n \"flatten_csv\": false,\n \"deliver\": {\n \"type\": \"s3\",\n \"bucket\": \"my-bucket\",\n \"credentials\": {\n \"aws-access-key\": \"AKIAIOSFODNN7\",\n \"aws-secret-key\": \"wJalrXUtnFEMI\"\n },\n \"region\": \"us-east-1\",\n \"directory\": \"my/directory\"\n },\n \"tar\": true,\n \"compress\": true,\n \"batch_size\": 1000\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.brightdata.com/datasets/views/{view_id}/delivery_settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filename\": {\n \"extension\": \"json\",\n \"template\": \"bd_{[datetime]}\",\n \"tz_offset\": \"+00:00\"\n },\n \"flatten_csv\": false,\n \"deliver\": {\n \"type\": \"s3\",\n \"bucket\": \"my-bucket\",\n \"credentials\": {\n \"aws-access-key\": \"AKIAIOSFODNN7\",\n \"aws-secret-key\": \"wJalrXUtnFEMI\"\n },\n \"region\": \"us-east-1\",\n \"directory\": \"my/directory\"\n },\n \"tar\": true,\n \"compress\": true,\n \"batch_size\": 1000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brightdata.com/datasets/views/{view_id}/delivery_settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filename\": {\n \"extension\": \"json\",\n \"template\": \"bd_{[datetime]}\",\n \"tz_offset\": \"+00:00\"\n },\n \"flatten_csv\": false,\n \"deliver\": {\n \"type\": \"s3\",\n \"bucket\": \"my-bucket\",\n \"credentials\": {\n \"aws-access-key\": \"AKIAIOSFODNN7\",\n \"aws-secret-key\": \"wJalrXUtnFEMI\"\n },\n \"region\": \"us-east-1\",\n \"directory\": \"my/directory\"\n },\n \"tar\": true,\n \"compress\": true,\n \"batch_size\": 1000\n}"
response = http.request(request)
puts response.read_body{
"view_id": "v_id1"
}{
"error": "Invalid delivery settings"
}{
"error": "View not found"
}deliver.type 字段选择目标,deliver 内的其余字段必须与该目标的 Get destination type schema 返回的架构匹配。
如何更新视图
- 调用 Get delivery options 以确认支持该目标类型。
- 使用该目标类型调用 Get destination type schema 以获取所需字段。
- 发送本页面上记录的
PUT请求,并填充deliver对象。
tar: true 会将所有输出文件捆绑到单个 TAR 存档中。设置 compress: true 会对每个交付的文件进行 gzip 压缩。两者可以结合使用。batch_size 是每个输出文件的最大记录数。使用它可以将大型交付拆分为较小的文件。每批最大大小为 5 GB。授权
Use your Bright Data API Key as a Bearer token in the Authorization header.
How to authenticate:
- Obtain your API Key from the Bright Data account settings at https://brightdata.com/cp/setting/users
- Include the API Key in the Authorization header of your requests
- Format:
Authorization: Bearer YOUR_API_KEY
Example:
Authorization: Bearer YOUR_API_KEY
Learn how to get your Bright Data API key: https://docs.brightdata.com/api-reference/authentication
路径参数
Unique identifier for the dataset view.
"v_id1"
请求体
Delivery configuration for a dataset view. Used by the view delivery settings GET, PUT and bulk PUT endpoints.
Delivery destination configuration. The type field selects the destination (for example s3, sftp, webhook) and the remaining fields depend on the destination schema returned by /datasets/delivery_settings/{destination_type}/schema.
- Microsoft Azure
- Build
- Email
- Google Cloud
- Google Cloud PubSub
- Amazon S3
- SFTP
- Snowflake
- Webhook
- Aliyun Object Storage Service
Show child attributes
Show child attributes
Configuration for the output file name and format.
Show child attributes
Show child attributes
When true, nested fields are flattened for CSV output.
When true, delivered files are bundled into a TAR archive.
When true, delivered files are gzip compressed.
Maximum records per batch file. Use to split large deliveries into smaller files. Maximum batch size is 5GB.
1000
响应
View delivery settings updated
此页面对您有帮助吗?