전송 실행을 위한 구성입니다.
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 URL 데이터 소스 |
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의 보안 비밀 리소스 이름입니다. 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를 통해 전송할 웹의 객체 목록을 지정합니다. 전송할 객체의 정보는 URL이 참조하는 파일에 포함되어 있습니다. 파일의 첫 번째 줄은 파일 형식을 지정하는 "TsvHttpData-1.0"
여야 합니다. 후속 행은 객체 목록의 정보를 지정하며 목록 항목당 하나의 객체입니다. 각 항목에는 다음과 같이 탭으로 구분된 필드가 있습니다.
HTTP URL: 객체의 위치입니다.
길이: 객체 크기(바이트)입니다.
MD5: 객체의 base64로 인코딩된 MD5 해시입니다.
유효한 TSV 파일의 예는 URL에서 데이터 전송을 참고하세요.
URL 목록을 기반으로 데이터를 전송할 때는 다음 사항에 유의하세요.
http(s)://hostname:port/<URL-path>
에 있는 객체가 데이터 싱크로 전송되면 데이터 싱크의 객체 이름은<hostname>/<URL-path>
입니다.객체의 지정된 크기가 가져온 객체의 실제 크기와 일치하지 않으면 객체가 전송되지 않습니다.
지정된 MD5가 전송된 바이트에서 계산된 MD5와 일치하지 않으면 객체 전송이 실패합니다.
지정한 각 URL에 공개적으로 액세스할 수 있습니다. 예를 들어 Cloud Storage에서 객체를 공개적으로 공유하고 이 객체에 대한 링크를 가져올 수 있습니다.
저장소 전송 서비스는
robots.txt
규칙을 따르며 소스 HTTP 서버가Range
요청을 지원하고 각 응답에서Content-Length
헤더를 반환해야 합니다.ObjectConditions
는 전송할 객체를 필터링할 때 아무런 영향을 미치지 않습니다.
JSON 표현 |
---|
{ "listUrl": string } |
필드 | |
---|---|
listUrl |
필수 입력란입니다. 객체 목록 항목을 저장하는 파일을 가리키는 URL입니다. 이 파일은 공개 액세스를 허용해야 합니다. 현재 HTTP 및 HTTPS 스키마가 있는 URL만 지원됩니다. |
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의 보안 비밀 리소스 이름입니다. 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 관리형 서비스 계정에는 이 객체에 대한 |