用于运行转移的配置。
JSON 表示法 |
---|
{ "objectConditions": { object ( |
字段 | |
---|---|
objectConditions |
只有满足这些对象条件的对象才会包含在数据源和数据接收器对象集中。基于对象的“上次修改时间”的对象条件不会排除数据接收器中的对象。 |
transferOptions |
如果选项 |
transferManifest |
清单文件提供要从数据源传输的对象列表。此字段指向清单文件的位置。否则,系统会使用整个来源存储分区。ObjectConditions 仍然适用。 |
sourceAgentPoolName |
指定与 Posix 数据源关联的代理池名称。如果未指定,则使用默认名称。 |
sinkAgentPoolName |
指定与 Posix 数据接收器关联的代理池名称。如果未指定,则使用默认名称。 |
联合字段 data_sink 。数据的写入接收器。data_sink 只能是下列其中一项: |
|
gcsDataSink |
Cloud Storage 数据接收器。 |
posixDataSink |
POSIX 文件系统数据接收器。 |
联合字段 data_source 。数据的读取来源。data_source 只能是下列其中一项: |
|
gcsDataSource |
Cloud Storage 数据源。 |
awsS3DataSource |
AWS S3 数据源。 |
httpDataSource |
HTTP 网址数据源。 |
posixDataSource |
POSIX 文件系统数据源。 |
azureBlobStorageDataSource |
Azure Blob Storage 数据源。 |
awsS3CompatibleDataSource |
与 AWS S3 兼容的数据源。 |
hdfsDataSource |
HDFS 集群数据源。 |
联合字段
|
|
gcsIntermediateDataLocation |
对于文件系统之间的转移,指定要用作中间位置的 Cloud Storage 存储分区,以便通过该位置转移数据。 如需了解详情,请参阅在文件系统之间转移数据。 |
PosixFilesystem
POSIX 文件系统资源。
JSON 表示法 |
---|
{ "rootDirectory": string } |
字段 | |
---|---|
rootDirectory |
文件系统的根目录路径。 |
AwsS3Data
AwsS3Data 资源可以是数据源,但不能是数据接收器。在 AwsS3Data 资源中,对象的名称是 S3 对象的键名称。
JSON 表示法 |
---|
{ "bucketName": string, "awsAccessKey": { object ( |
字段 | |
---|---|
bucketName |
必需。S3 存储分区名称(请参阅创建存储分区)。 |
awsAccessKey |
仅限输入。用于对发送到 AWS S3 存储分区的 API 请求进行签名的 AWS 访问密钥。必须向 AWS 访问密钥的访问 ID 授予对存储分区的权限。 如需了解我们的用户凭据数据保留政策,请参阅用户凭据。 |
path |
用于转移对象的根路径。 必须是空字符串或以“/”结尾的完整路径名称。此字段会被视为对象前缀。因此,它通常不应以“/”开头。 |
roleArn |
通过 提供角色 ARN 后,Transfer Service 会使用此项目的 |
cloudfrontDomain |
可选。指向此存储分区的 CloudFront 分发网域名称,用于提取时使用。 如需了解详情,请参阅通过 CloudFront 从 S3 转移。 格式: |
credentialsSecret |
可选。Secret Manager 中 Secret 的资源名称。 AWS 凭据必须以 JSON 格式存储在 Secrets Manager 中: { "accessKeyId": "ACCESS_KEY_ID", "secretAccessKey": "SECRET_ACCESS_KEY" } 必须向 如需了解详情,请参阅配置对来源的访问权限:Amazon S3。 如果指定了 格式: |
联合字段
|
|
managedPrivateNetwork |
通过 Google 管理的专用网络传出的字节数。此网络由 Storage Transfer Service 的其他用户共享。 |
AwsAccessKey
AWS 访问密钥(请参阅 AWS 安全凭据)。
如需了解我们的用户凭据数据保留政策,请参阅用户凭据。
JSON 表示法 |
---|
{ "accessKeyId": string, "secretAccessKey": string } |
字段 | |
---|---|
accessKeyId |
必需。AWS 访问密钥 ID。 |
secretAccessKey |
必需。AWS 私有访问密钥。RPC 响应中不会返回此字段。 |
HttpData
HttpData 资源用于指定要通过 HTTP 传输的 Web 上对象的列表。要转移的对象的信息包含在网址引用的文件中。文件中的第一行必须为 "TsvHttpData-1.0"
,用于指定文件的格式。后续行指定对象列表的信息,每条列表条目对应一个对象。每个条目都包含以下以制表符分隔的字段:
HTTP 网址 - 对象的位置。
长度 - 对象的大小(以字节为单位)。
MD5 - 对象的 Base64 编码 MD5 哈希。
如需查看有效 TSV 文件的示例,请参阅从网址传输数据。
根据网址列表转移数据时,请注意以下事项:
当位于
http(s)://hostname:port/<URL-path>
的对象转移到数据接收器后,该对象在数据接收器中的名称为<hostname>/<URL-path>
。如果对象的指定大小与提取的对象的实际大小不符,系统将不会转移该对象。
如果指定的 MD5 与从传输的字节计算得出的 MD5 不匹配,则对象传输会失败。
确保您指定的每个网址均可公开访问。例如,在 Cloud Storage 中,您可以公开共享对象并获取共享链接。
Storage Transfer Service 遵循
robots.txt
规则,并要求源 HTTP 服务器支持Range
请求,并在每个响应中返回Content-Length
标头。过滤要传输的对象时,
ObjectConditions
没有任何影响。
JSON 表示法 |
---|
{ "listUrl": string } |
字段 | |
---|---|
listUrl |
必需。指向存储对象列表条目的文件的网址。此文件必须允许公开访问。目前,仅支持使用 HTTP 和 HTTPS 架构的网址。 |
AzureBlobStorageData
AzureBlobStorageData 资源可以是数据源,但不能是数据接收器。AzureBlobStorageData 资源代表一个 Azure 容器。存储账号决定了 Azure 端点。在 AzureBlobStorageData 资源中,blob 的名称是 Azure Blob Storage blob 的键名称。
JSON 表示法 |
---|
{
"storageAccount": string,
"azureCredentials": {
object ( |
字段 | |
---|---|
storageAccount |
必需。Azure Storage 账号的名称。 |
azureCredentials |
必需。仅限输入。用于对向 Azure 发出的 API 请求进行身份验证的凭据。 如需了解我们的用户凭据数据保留政策,请参阅用户凭据。 |
container |
必需。要从 Azure Storage 账号中转移的容器。 |
path |
用于转移对象的根路径。 必须是空字符串或以“/”结尾的完整路径名称。此字段会被视为对象前缀。因此,它通常不应以“/”开头。 |
credentialsSecret |
可选。Secret Manager 中 Secret 的资源名称。 Azure SAS 令牌必须以 JSON 格式存储在 Secret Manager 中: { "sasToken" : "SAS_TOKEN" } 必须向 如需了解详情,请参阅配置对来源的访问权限:Microsoft Azure Blob Storage。 如果指定了 格式: |
AzureCredentials
Azure 凭据
如需了解我们的用户凭据数据保留政策,请参阅用户凭据。
JSON 表示法 |
---|
{ "sasToken": string } |
字段 | |
---|---|
sasToken |
必需。Azure 共享访问签名 (SAS)。 如需详细了解 SAS,请参阅使用共享访问签名 (SAS) 授予对 Azure Storage 资源的有限访问权限。 |
AwsS3CompatibleData
AwsS3CompatibleData 资源。
JSON 表示法 |
---|
{ "bucketName": string, "path": string, "endpoint": string, "region": string, // Union field |
字段 | |
---|---|
bucketName |
必需。指定存储分区的名称。 |
path |
指定用于传输对象的根路径。 必须是空字符串或以“/”结尾的完整路径名称。此字段会被视为对象前缀。因此,它通常不应以“/”开头。 |
endpoint |
必需。指定存储服务的端点。 |
region |
指定用于对请求签名的区域。如果请求应使用空区域进行签名,则可以将此字段留空。 |
联合字段 data_provider 。指定与 S3 兼容的数据提供程序的元数据。每个提供程序都可能包含一些不适用于所有与 S3 兼容的数据提供程序的属性。如果未指定,则默认使用 S3CompatibleMetadata。data_provider 只能是下列其中一项: |
|
s3Metadata |
与 S3 兼容的元数据。 |
S3CompatibleMetadata
S3CompatibleMetadata 包含适用于与 S3 兼容的数据提供程序基本类型的元数据字段。
JSON 表示法 |
---|
{ "authMethod": enum ( |
字段 | |
---|---|
authMethod |
指定存储服务使用的身份验证和授权方法。如果未指定,转移服务将尝试确定要使用的正确身份验证方法。 |
requestModel |
指定用于调用存储服务的 API 请求模型。如果未指定,则使用 RequestModel 的默认值 REQUEST_MODEL_VIRTUAL_HOSTED_STYLE。 |
protocol |
指定代理的网络协议。如果未指定,则使用 NetworkProtocol NETWORK_PROTOCOL_HTTPS 的默认值。 |
listApi |
用于发现对象的 Listing API。如果未指定,转移服务将尝试确定要使用的正确 API。 |
AuthMethod
存储服务使用的身份验证和授权方法。
枚举 | |
---|---|
AUTH_METHOD_UNSPECIFIED |
未指定 AuthMethod。 |
AUTH_METHOD_AWS_SIGNATURE_V4 |
使用 AWS SigV4 进行身份验证请求。 |
AUTH_METHOD_AWS_SIGNATURE_V2 |
使用 AWS SigV2 的身份验证请求。 |
RequestModel
API 的请求模型。
枚举 | |
---|---|
REQUEST_MODEL_UNSPECIFIED |
未指定 RequestModel。 |
REQUEST_MODEL_VIRTUAL_HOSTED_STYLE |
使用虚拟托管样式执行请求。示例:https://bucket-name.s3.region.amazonaws.com/key-name |
REQUEST_MODEL_PATH_STYLE |
使用路径样式执行请求。示例:https://s3.region.amazonaws.com/bucket-name/key-name |
NetworkProtocol
用于访问存储服务的代理网络协议。
枚举 | |
---|---|
NETWORK_PROTOCOL_UNSPECIFIED |
未指定 NetworkProtocol。 |
NETWORK_PROTOCOL_HTTPS |
使用 HTTPS 执行请求。 |
NETWORK_PROTOCOL_HTTP |
不建议:此方法会以明文形式发送数据。这仅适用于封闭网络或公开数据。使用 HTTP 执行请求。 |
ListApi
用于发现对象的 Listing API。
枚举 | |
---|---|
LIST_API_UNSPECIFIED |
未指定 ListApi。 |
LIST_OBJECTS_V2 |
使用 ListObjectsV2 API 执行列出操作。 |
LIST_OBJECTS |
旧版 ListObjects API。 |
HdfsData
HdfsData 资源用于指定 HDFS 实体(例如集群)中的路径。所有集群专用设置(例如名称节点和端口)都配置在处理请求的传输代理上,因此 HdfsData 仅包含传输中数据的根路径。
JSON 表示法 |
---|
{ "path": string } |
字段 | |
---|---|
path |
用于传输文件的根路径。 |
TransferManifest
指定清单的位置。
JSON 表示法 |
---|
{ "location": string } |
字段 | |
---|---|
location |
指定 Cloud Storage 中清单的路径。用于转移的 Google 管理的服务账号必须对此对象具有 |