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 開頭。

非 POSIX 檔案系統範例:"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 編碼時,長度上限為 1024 個位元組。

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)

僅供輸出。建立轉移工作的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 小數位數。系統也接受「Z」以外的偏移值。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

lastModificationTime

string (Timestamp format)

僅供輸出。上次修改轉移作業的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 小數位數。系統也接受「Z」以外的偏移值。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

deletionTime

string (Timestamp format)

僅供輸出。刪除轉移工作的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 小數位數。系統也接受「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 值區。新的跨 bucket 複製工作不會複製來源值區中的現有物件。

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)

這是必要旗標,轉移作業的開始日期。日期邊界會根據世界標準時間判定。如果 scheduleStartDatestartTimeOfDay 相對於工作建立時間而言已過時,轉移作業會在排定轉移要求的隔天開始。

注意:如果在世界標準時間午夜或午夜附近啟動工作,工作可能會比預期晚啟動。舉例來說,如果您在 6 月 1 日世界標準時間午夜前 1 毫秒傳送外寄要求,且 Storage 移轉服務伺服器在 6 月 2 日收到要求,則會建立 TransferJob,並將 scheduleStartDate 設為 6 月 2 日,startTimeOfDay 設為世界標準時間午夜。第一個預定的 TransferOperation 將在 6 月 3 日世界標準時間午夜發生。

scheduleEndDate

object (Date)

上次執行轉移作業的日期。日期邊界會根據世界標準時間判定。工作會依照下列規範,每 24 小時執行一次:

  • 如果 scheduleEndDatescheduleStartDate 相同,且相對於 UTC 的時區在未來,轉移作業只會執行一次。
  • 如果 scheduleEndDate 晚於 scheduleStartDate,且 scheduleEndDate 相對於世界標準時間來說是未來的時間,則工作會在每天 startTimeOfDayscheduleEndDate 之間執行。
startTimeOfDay

object (TimeOfDay)

系統排定移轉工作執行時間,以世界標準時間為準。轉移作業可能會在這個時間過後才開始。

如未指定 startTimeOfDay

  • 單次轉帳會立即執行。
  • 透過 scheduleEndDate 執行的週期性轉移作業會立即執行,並且每天在世界標準時間午夜執行。

如果指定 startTimeOfDay

  • 一次性轉帳會在指定時間執行。
  • 週期性轉移作業會在每天指定的時間透過 scheduleEndDate 執行。
endTimeOfDay

object (TimeOfDay)

系統不會再安排其他移轉作業的時間 (以世界標準時間為準)。endTimeOfDayscheduleEndDate 搭配使用時,可指定開始新的轉移作業的結束日期和時間。這個欄位必須大於或等於 scheduleStartDatestartTimeOfDay 組合對應的時間戳記,並遵守下列規定:

  • 如果未設定 endTimeOfDay,但已設定 scheduleEndDate,則 endTimeOfDay 會使用預設值 23:59:59

  • 如果已設定 endTimeOfDay,但未設定 scheduleEndDate,則會傳回 INVALID_ARGUMENT

repeatInterval

string (Duration format)

每個排定 TransferOperation 開始執行之間的間隔。如未指定,預設值為 24 小時。這個值不得小於 1 小時。

以秒為單位的時間長度,最多可有 9 個小數位數,結尾為「s」,例如:"3.5s"

日期

表示完整或部分的日曆日期,例如生日。您可以視重要性決定是否要在別處指定時段和時區。日期以公曆為主,可代表下列任一項目:

  • 完整日期,具有非零的年、月和日值。
  • 月和日值,年值為零 (例如週年紀念日)。
  • 只有年,月和日值為零。
  • 年和月,日值為零 (例如信用卡到期日)。

相關類型:

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

分鐘內的秒數。必須大於或等於 0,且通常必須小於或等於 59。如果 API 允許閏秒,則可允許值為 60。

nanos

integer

秒數的小數,以奈秒為單位。必須大於或等於 0,且小於或等於 999,999,999。

EventStream

指定事件導向轉移選項。事件導向轉移作業會監聽事件串流,以便傳輸更新的檔案。

JSON 表示法
{
  "name": string,
  "eventStreamStartTime": string,
  "eventStreamExpirationTime": string
}
欄位
name

string

這是必要旗標,指定資源的專屬名稱,例如 AWS SQS ARN,格式為「arn:aws:sqs:region:account_id:queue_name」;或 Pub/Sub 訂閱資源名稱,格式為「projects/{project}/subscriptions/{sub}」。

eventStreamStartTime

string (Timestamp format)

指定 Storage 移轉服務開始監聽此串流事件的日期和時間。如果未指定開始時間,或開始時間已過,Storage Transfer Service 會立即開始監聽。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 小數位數。系統也接受「Z」以外的偏移值。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

eventStreamExpirationTime

string (Timestamp format)

指定 Storage 移轉服務停止監聽此串流事件的日期和時間。在這個時間過後,系統會完成所有進行中的轉移作業,但不會啟動新的轉移作業。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 小數位數。系統也接受「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

為指定的轉移工作啟動新作業。