REST Resource: transferJobs

리소스: TransferJob

이 리소스는 주기적으로 실행되는 전송 작업의 구성을 나타냅니다.

JSON 표현
{
  "name": string,
  "description": string,
  "projectId": string,
  "transferSpec": {
    object (TransferSpec)
  },
  "replicationSpec": {
    object (ReplicationSpec)
  },
  "notificationConfig": {
    object (NotificationConfig)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "schedule": {
    object (Schedule)
  },
  "eventStream": {
    object (EventStream)
  },
  "status": enum (Status),
  "creationTime": string,
  "lastModificationTime": string,
  "deletionTime": string,
  "latestOperationName": string
}
필드
name

string

작업이 생성될 때 할당되는 전송 프로젝트 내의 고유한 이름입니다. CreateTransferJobRequest에서 이 필드가 비어 있으면 Storage Transfer Service에서 고유한 이름을 할당합니다. 그렇지 않으면 지정된 이름이 이 작업의 고유한 이름으로 사용됩니다.

지정된 이름이 작업에서 사용 중이면 ALREADY_EXISTS 오류가 발생하여 생성 요청이 실패합니다.

이 이름은 "transferJobs/" 접두사로 시작하고 문자 또는 숫자로 끝나야 하며 128자(영문 기준) 이하여야 합니다. PosixFilesystem이 포함된 전송의 경우 이 이름은 특히 transferJobs/OPI로 시작해야 합니다. 다른 모든 전송 유형의 경우 이 이름이 transferJobs/OPI로 시작하면 안 됩니다.

비PosixFilesystem 예: "transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$"

PosixFilesystem 예: "transferJobs/OPI^[A-Za-z0-9-._~]*[A-Za-z0-9]$"

애플리케이션은 OPI와 관련된 이름 지정 요구사항의 시행에 의존해서는 안 됩니다.

잘못된 작업 이름은 INVALID_ARGUMENT 오류와 함께 실패합니다.

description

string

사용자가 작업에 대해 제공한 설명입니다. Unicode로 인코딩된 경우 최대 길이는 1,024바이트입니다.

projectId

string

작업을 소유한 Google Cloud 프로젝트의 ID입니다.

transferSpec

object (TransferSpec)

전송 사양

replicationSpec

object (ReplicationSpec)

복제 사양

notificationConfig

object (NotificationConfig)

알림 구성

loggingConfig

object (LoggingConfig)

로깅 구성입니다.

schedule

object (Schedule)

전송 작업의 일정을 지정합니다. 이 필드는 선택 사항입니다. 이 필드가 설정되지 않으면 transferJobs.run을 호출하거나 비어 있지 않은 일정을 갖도록 작업을 업데이트하지 않는 한 작업이 전송을 실행하지 않습니다.

eventStream

object (EventStream)

이벤트 기반 전송의 전송 작업에 대한 이벤트 스트림을 지정합니다. EventStream가 지정되면 Schedule 필드는 무시됩니다.

status

enum (Status)

작업 상태입니다. 이 값은 CreateTransferJobRequests에 지정해야 합니다.

참고: 새 작업 상태의 효과는 후속 작업 실행 중에 적용됩니다. 예를 들어 작업 상태를 ENABLED에서 DISABLED로 변경하고 전송에서 생성된 작업이 실행 중인 경우 상태 변경은 현재 작업에 영향을 미치지 않습니다.

creationTime

string (Timestamp format)

출력 전용입니다. 전송 작업이 생성된 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 자릿수가 0, 3, 6 또는 9인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

lastModificationTime

string (Timestamp format)

출력 전용입니다. 전송 작업이 마지막으로 수정된 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 자릿수가 0, 3, 6 또는 9인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

deletionTime

string (Timestamp format)

출력 전용입니다. 전송 작업이 삭제된 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 자릿수가 0, 3, 6 또는 9인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

latestOperationName

string

이 JobConfig에서 가장 최근에 시작된 TransferOperation의 이름입니다. 이 JobConfig에 대해 TransferOperation이 생성된 경우 표시됩니다.

ReplicationSpec

버킷 간 복제 작업의 구성을 지정합니다. 교차 버킷 복제는 새 객체 또는 업데이트된 객체를 소스 Cloud Storage 버킷에서 대상 Cloud Storage 버킷으로 복사합니다. 새 버킷 간 복제 작업은 소스 버킷의 기존 객체를 복사하지 않습니다.

JSON 표현
{
  "objectConditions": {
    object (ObjectConditions)
  },
  "transferOptions": {
    object (TransferOptions)
  },

  // Union field data_source can be only one of the following:
  "gcsDataSource": {
    object (GcsData)
  }
  // End of list of possible types for union field data_source.

  // Union field data_sink can be only one of the following:
  "gcsDataSink": {
    object (GcsData)
  }
  // End of list of possible types for union field data_sink.
}
필드
objectConditions

object (ObjectConditions)

전송되는 객체를 결정하는 객체 조건입니다. 복제 작업의 경우 includePrefixesexcludePrefixes만 지원됩니다.

transferOptions

object (TransferOptions)

복제 중에 적용할 메타데이터 옵션을 지정합니다. 삭제 옵션은 지원되지 않습니다. 삭제 옵션을 지정하면 INVALID_ARGUMENT 오류가 발생하여 요청이 실패합니다.

통합 필드 data_source. 복제할 데이터 소스입니다. data_source은 다음 중 하나여야 합니다.
gcsDataSource

object (GcsData)

객체를 복제할 Cloud Storage 버킷입니다.

통합 필드 data_sink. 복제된 객체의 대상입니다. data_sink은 다음 중 하나여야 합니다.
gcsDataSink

object (GcsData)

객체를 복제할 Cloud Storage 버킷입니다.

일정

전송은 반복되도록 예약하거나 한 번만 실행하도록 예약할 수 있습니다.

JSON 표현
{
  "scheduleStartDate": {
    object (Date)
  },
  "scheduleEndDate": {
    object (Date)
  },
  "startTimeOfDay": {
    object (TimeOfDay)
  },
  "endTimeOfDay": {
    object (TimeOfDay)
  },
  "repeatInterval": string
}
필드
scheduleStartDate

object (Date)

필수 입력란입니다. 이전의 시작일입니다. 날짜 경계는 UTC 시간을 기준으로 결정됩니다. scheduleStartDatestartTimeOfDay가 작업 생성 시간과 비교하여 과거인 경우 이전 요청을 예약한 다음 날 이전이 시작됩니다.

참고: UTC 자정 또는 그 직후에 작업을 시작하면 예상보다 늦게 시작될 수 있습니다. 예를 들어 6월 1일 자정(UTC) 1밀리초 전에 아웃바운드 요청을 전송하고 Storage Transfer Service 서버가 6월 2일에 요청을 수신하면 scheduleStartDate이 6월 2일로 설정되고 startTimeOfDay이 자정(UTC)으로 설정된 TransferJob이 생성됩니다. 첫 번째로 예약된 TransferOperation는 6월 3일 자정(UTC)에 실행됩니다.

scheduleEndDate

object (Date)

이전이 실행되는 마지막 날입니다. 날짜 경계는 UTC 시간을 기준으로 결정됩니다. 작업은 다음 가이드라인에 따라 24시간마다 한 번 실행됩니다.

  • scheduleEndDatescheduleStartDate가 동일하고 UTC를 기준으로 미래인 경우 전송은 한 번만 실행됩니다.
  • scheduleEndDatescheduleStartDate보다 나중에 있고 scheduleEndDate가 UTC 기준으로 미래인 경우 작업은 매일 startTimeOfDay에서 scheduleEndDate까지 실행됩니다.
startTimeOfDay

object (TimeOfDay)

전송 작업이 실행되도록 예약된 시간(UTC)입니다. 전송은 이 시간보다 늦게 시작될 수 있습니다.

startTimeOfDay가 지정되지 않은 경우:

  • 일회성 전송은 즉시 실행됩니다.
  • 반복 전송은 즉시 실행되며 매일 자정(UTC)에 scheduleEndDate를 통해 실행됩니다.

startTimeOfDay가 지정된 경우:

  • 일회성 전송은 지정된 시간에 실행됩니다.
  • 반복 전송은 매일 지정된 시간에 scheduleEndDate를 통해 실행됩니다.
endTimeOfDay

object (TimeOfDay)

더 이상 전송 작업이 예약되지 않은 시간(UTC)입니다. scheduleEndDate와 함께 사용하면 endTimeOfDay은 새 전송 작업을 시작할 종료 날짜와 시간을 지정합니다. 이 필드는 scheduleStartDatestartTimeOfDay 조합에 해당하는 타임스탬프보다 크거나 같아야 하며 다음과 같은 규칙이 적용됩니다.

  • endTimeOfDay가 설정되지 않고 scheduleEndDate가 설정된 경우 endTimeOfDay에 기본값 23:59:59이 사용됩니다.

  • endTimeOfDay가 설정되고 scheduleEndDate가 설정되지 않은 경우 INVALID_ARGUMENT이 반환됩니다.

repeatInterval

string (Duration format)

예약된 각 TransferOperation 시작 간격입니다. 지정하지 않으면 기본값은 24시간입니다. 이 값은 1시간 미만일 수 없습니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

날짜

생일과 같은 전체 또는 부분 달력 날짜를 나타냅니다. 시간과 시간대는 아무 곳으로 지정되거나 중요하지 않습니다. 날짜는 그레고리력을 기준으로 합니다. 다음 중 하나를 나타낼 수 있습니다.

  • 연도, 월, 일 값이 0이 아닌 전체 날짜
  • 월과 일, 연도는 0(예: 기념일)
  • 연도만, 월과 일은 0
  • 연도와 월, 일은 0(예: 신용카드 만료일)

관련 유형:

JSON 표현
{
  "year": integer,
  "month": integer,
  "day": integer
}
필드
year

integer

날짜의 연도입니다. 1~9999 사이여야 하며, 연도 없이 날짜를 지정하려면 0이어야 합니다.

month

integer

연도의 월입니다. 1~12 사이여야 하며, 월과 일 없이 연도를 지정하려면 0이어야 합니다.

day

integer

월의 일입니다. 1~31 사이여야 하고 해당 연도 및 월에 유효해야 합니다. 또는 연도만 지정하거나 일이 중요하지 않아 연도와 월을 지정하려면 0이어야 합니다.

TimeOfDay

하루 중 특정 시간을 나타냅니다. 날짜와 시간대가 중요하지 않거나 아무 곳으로 지정됩니다. API는 윤초를 허용하도록 선택할 수 있습니다. 관련된 유형은 google.type.Dategoogle.protobuf.Timestamp입니다.

JSON 표현
{
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer
}
필드
hours

integer

24시간 형식의 시간입니다. 0보다 크거나 같고 일반적으로 23보다 작거나 같아야 합니다. API는 비즈니스 종료 시간과 같은 시나리오에서 '24:00:00' 값을 허용하도록 선택할 수 있습니다.

minutes

integer

시간의 분입니다. 0 이상, 59 이하여야 합니다.

seconds

integer

1분의 초입니다. 0보다 크거나 같고 일반적으로 59보다 작거나 같아야 합니다. API가 윤초를 허용하는 경우 값에 60을 사용할 수 있습니다.

nanos

integer

나노초 단위의 초수입니다. 0 이상, 999,999,999 이하여야 합니다.

EventStream

이벤트 기반 전송 옵션을 지정합니다. 이벤트 기반 전송은 이벤트 스트림을 리슨하여 업데이트된 파일을 전송합니다.

JSON 표현
{
  "name": string,
  "eventStreamStartTime": string,
  "eventStreamExpirationTime": string
}
필드
name

string

필수 입력란입니다. 'arn:aws:sqs:region:account_id:queue_name' 형식의 AWS SQS ARN 또는 'projects/{project}/subscriptions/{sub}' 형식의 Pub/Sub 구독 리소스 이름과 같은 리소스의 고유한 이름을 지정합니다.

eventStreamStartTime

string (Timestamp format)

Storage Transfer Service가 이 스트림의 이벤트 수신을 시작하는 날짜 및 시간을 지정합니다. 시작 시간이 지정되지 않았거나 시작 시간이 과거인 경우 Storage Transfer Service가 즉시 리슨을 시작합니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 자릿수가 0, 3, 6 또는 9인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

eventStreamExpirationTime

string (Timestamp format)

Storage Transfer Service가 이 스트림의 이벤트 수신을 중지하는 데이터와 시간을 지정합니다. 이 시간이 지나면 진행 중인 전송은 완료되지만 새 전송은 시작되지 않습니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 자릿수가 0, 3, 6 또는 9인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

상태

전송 작업의 상태입니다.

열거형
STATUS_UNSPECIFIED 0은 잘못된 값입니다.
ENABLED 새 전송은 일정에 따라 실행됩니다.
DISABLED 새 전송은 예약되지 않습니다.
DELETED 소프트 삭제 상태입니다. 전송 작업이 이 상태로 설정되면 작업과 모든 전송 실행에 가비지 컬렉션이 적용됩니다. 전송 작업의 상태가 DELETED로 설정된 후 30일이 지나면 가비지 컬렉션 대상이 됩니다.

메서드

create

주기적으로 실행되는 전송 작업을 만듭니다.

delete

전송 작업을 삭제합니다.

get

전송 작업을 가져옵니다.

list

전송 작업을 나열합니다.

patch

전송 작업을 업데이트합니다.

run

지정된 전송 작업에 대한 새 작업을 시작합니다.