REST Resource: transferOperations

資源:TransferOperation

轉移作業的執行說明。

JSON 表示法
{
  "name": string,
  "projectId": string,
  "transferSpec": {
    object (TransferSpec)
  },
  "notificationConfig": {
    object (NotificationConfig)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "startTime": string,
  "endTime": string,
  "status": enum (Status),
  "counters": {
    object (TransferCounters)
  },
  "errorBreakdowns": [
    {
      object (ErrorSummary)
    }
  ],
  "transferJobName": string
}
欄位
name

string

系統指派的全域專屬 ID。

projectId

string

擁有作業的 Google Cloud 專案 ID。

transferSpec

object (TransferSpec)

轉移規格。

notificationConfig

object (NotificationConfig)

通知設定。

loggingConfig

object (LoggingConfig)

Cloud Logging 設定。

startTime

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"

endTime

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"

status

enum (Status)

移轉作業的狀態。

counters

object (TransferCounters)

轉移作業的進度資訊。

errorBreakdowns[]

object (ErrorSummary)

摘要說明錯誤記錄檔項目的錯誤。

transferJobName

string

觸發這項轉移作業的轉移工作名稱。

狀態

TransferOperation 的狀態。

列舉
STATUS_UNSPECIFIED 0 為無效值。
IN_PROGRESS 執行中。
PAUSED 已暫停。
SUCCESS 已順利完成。
FAILED 由於無法復原的失敗,因此終止。
ABORTED 已由使用者中止。
QUEUED 系統暫時延遲處理。使用者不必採取任何行動。
SUSPENDING 作業會暫停並排空持續進行的工作,直到完成為止。

TransferCounters

一組用於回報轉移作業進度的計數器。

JSON 表示法
{
  "objectsFoundFromSource": string,
  "bytesFoundFromSource": string,
  "objectsFoundOnlyFromSink": string,
  "bytesFoundOnlyFromSink": string,
  "objectsFromSourceSkippedBySync": string,
  "bytesFromSourceSkippedBySync": string,
  "objectsCopiedToSink": string,
  "bytesCopiedToSink": string,
  "objectsDeletedFromSource": string,
  "bytesDeletedFromSource": string,
  "objectsDeletedFromSink": string,
  "bytesDeletedFromSink": string,
  "objectsFromSourceFailed": string,
  "bytesFromSourceFailed": string,
  "objectsFailedToDeleteFromSink": string,
  "bytesFailedToDeleteFromSink": string,
  "directoriesFoundFromSource": string,
  "directoriesFailedToListFromSource": string,
  "directoriesSuccessfullyListedFromSource": string,
  "intermediateObjectsCleanedUp": string,
  "intermediateObjectsFailedCleanedUp": string
}
欄位
objectsFoundFromSource

string (int64 format)

在資料來源中找到的物件,已排定要轉移,但不包括根據物件條件篩除的物件,或因同步處理而略過的物件。

bytesFoundFromSource

string (int64 format)

在資料來源中找到的位元組,已排定要傳輸,但不包括根據物件條件篩除的位元組,或因同步作業而略過的位元組。

objectsFoundOnlyFromSink

string (int64 format)

僅在已排定刪除作業的資料接收器中找到的物件。

bytesFoundOnlyFromSink

string (int64 format)

只有在已排定要刪除的資料接收器中找到的位元組。

objectsFromSourceSkippedBySync

string (int64 format)

資料來源中的物件,由於已存在於資料接收端,因此不會轉移。

bytesFromSourceSkippedBySync

string (int64 format)

資料來源中的位元組已存在於資料接收端,因此不會轉移。

objectsCopiedToSink

string (int64 format)

複製到資料接收器的物件。

bytesCopiedToSink

string (int64 format)

複製到資料接收器的位元組。

objectsDeletedFromSource

string (int64 format)

從資料來源中刪除的物件。

bytesDeletedFromSource

string (int64 format)

從資料來源刪除的位元組。

objectsDeletedFromSink

string (int64 format)

從資料接收器中刪除的物件。

bytesDeletedFromSink

string (int64 format)

從資料接收器刪除的位元組。

objectsFromSourceFailed

string (int64 format)

資料來源中無法轉移或轉移後無法刪除的物件。

bytesFromSourceFailed

string (int64 format)

資料來源中無法轉移或轉移後無法刪除的位元組。

objectsFailedToDeleteFromSink

string (int64 format)

無法從資料接收器刪除的物件。

bytesFailedToDeleteFromSink

string (int64 format)

無法從資料接收器刪除的位元組。

directoriesFoundFromSource

string (int64 format)

僅限涉及 PosixFilesystem 的轉移作業。

列出時找到的目錄數量。舉例來說,如果轉移作業的根目錄為 base/,且該目錄下有兩個其他目錄 a/b/,則列出 base/base/a/base/b/ 後的計數為 3。

directoriesFailedToListFromSource

string (int64 format)

僅限涉及 PosixFilesystem 的轉移作業。

來源中每個目錄的清單失敗次數。列出目錄時可能會發生的失敗情形包括權限失敗或封鎖失敗。如果目錄列舉作業失敗,系統就不會轉移目錄中的任何檔案。

directoriesSuccessfullyListedFromSource

string (int64 format)

僅限涉及 PosixFilesystem 的轉移作業。

來源中每個目錄的成功刊登項目數量。

intermediateObjectsCleanedUp

string (int64 format)

成功清除的中繼物件數量。

intermediateObjectsFailedCleanedUp

string (int64 format)

未能清除的中繼物件數量。

ErrorSummary

依據錯誤代碼提供錯誤摘要,以及錯誤記錄項目的計數和範例。

JSON 表示法
{
  "errorCode": enum (Code),
  "errorCount": string,
  "errorLogEntries": [
    {
      object (ErrorLogEntry)
    }
  ]
}
欄位
errorCode

enum (Code)

必填。

errorCount

string (int64 format)

這是必要旗標,這類錯誤的計數。

errorLogEntries[]

object (ErrorLogEntry)

錯誤範例。

針對單一轉移作業的特定錯誤代碼,最多會記錄 5 個錯誤記錄項目。

程式碼

Google API 的標準錯誤代碼。

列舉
OK

非錯誤;於成功時傳回。

HTTP 對應:200 OK

CANCELLED

作業已取消,一般由呼叫者取消。

HTTP 對應:499 用戶端已關閉要求

UNKNOWN

發生不明錯誤,舉例來說,當從其他位址空間收到的 Status 值屬於這個位址空間中不明的錯誤空間時,就可能傳回此錯誤;由 API 發出但未傳回足夠錯誤資訊的錯誤也可能轉換為此錯誤。

HTTP 對應:500 內部伺服器錯誤

INVALID_ARGUMENT

用戶端指定了無效的引數。請注意,這與 FAILED_PRECONDITION 不同。INVALID_ARGUMENT 表示無論系統狀態為何,引數都存在問題 (例如格式錯誤的檔案名稱)。

HTTP 對應:400 錯誤的要求

DEADLINE_EXCEEDED

期限於作業完成之前過期。針對變更系統狀態的作業,即使作業已成功完成,也可能傳回此錯誤。例如,來自伺服器的成功回應延遲時間可能已長到足以使期限過期。

HTTP 對應:504 閘道逾時

NOT_FOUND

找不到某些要求的實體 (例如檔案或目錄)。

給伺服器開發人員的注意事項:如果某個請求遭到整個使用者類別拒絕 (例如功能逐步推出或未記錄的許可清單),您可以使用 NOT_FOUND。如果某個使用者類別中的部分使用者遭拒 (例如使用者層級存取控制),就必須使用 PERMISSION_DENIED

HTTP 對應:404 找不到

ALREADY_EXISTS

用戶端嘗試建立的實體 (例如檔案或目錄) 已存在。

HTTP 對應:409 衝突

PERMISSION_DENIED

呼叫者沒有執行指定作業的權限。不得針對因耗用某些資源所導致的拒絕情形使用 PERMISSION_DENIED (請針對這些錯誤改用 RESOURCE_EXHAUSTED)。如果無法識別呼叫端,請勿使用 PERMISSION_DENIED (若發生這類錯誤,請改用 UNAUTHENTICATED)。此錯誤代碼並不表示要求有效,或存在要求的實體,或滿足其他先決條件。

HTTP 對應:403 禁止

UNAUTHENTICATED

要求沒有作業的有效驗證憑證。

HTTP 對應:401 未授權

RESOURCE_EXHAUSTED

已耗盡某些資源,或許是每位使用者的配額,或許是完整檔案系統空間不足。

HTTP 對應:429 太多要求

FAILED_PRECONDITION

作業已遭拒絕,因為系統不在執行作業所需的狀態下。例如,要刪除的目錄還有內容、rmdir 作業套用至非目錄等。

服務導入者可以參考以下指南,決定要使用 FAILED_PRECONDITIONABORTED 還是 UNAVAILABLE:(a) 如果用戶端只能重試失敗的呼叫,請使用 UNAVAILABLE。(b) 如果用戶端應在較高層級重試,請使用 ABORTED。例如,當用戶端指定的「test-and-set」失敗時,表示用戶端應重新開始「read-modify-write」序列。(c) 如果用戶端不應在系統狀態明確修正完畢之前重試,請使用 FAILED_PRECONDITION。舉例來說,如果「rmdir」因目錄非空白而失敗,則應傳回 FAILED_PRECONDITION,因為用戶端必須等到目錄中的檔案都刪除之後才重試。

HTTP 對應:400 錯誤的要求

ABORTED

作業已取消,通常是因為例如順序器檢查失敗或交易已取消等並行問題所導致。

如要決定採用 FAILED_PRECONDITIONABORTED 還是 UNAVAILABLE,請參閱以上指南。

HTTP 對應:409 衝突

OUT_OF_RANGE

嘗試作業時超過有效範圍,例如搜尋或讀取超過檔案結尾。

INVALID_ARGUMENT 不同,此錯誤表示如果系統狀態變更則可修正的問題。舉例來說,如果 32 位元檔案系統要求讀取的偏移量不在 [0,2^32-1] 的範圍內,則會產生 INVALID_ARGUMENT;但如果要求讀取的偏移量超過目前檔案大小,則會產生 OUT_OF_RANGE

FAILED_PRECONDITIONOUT_OF_RANGE 之間有不少重疊的地方。我們建議您在適用時使用 OUT_OF_RANGE (較為特定的錯誤),這樣在空間中進行迭代作業的呼叫者就可以在完成時輕鬆找到要偵測的 OUT_OF_RANGE 錯誤。

HTTP 對應:400 錯誤的要求

UNIMPLEMENTED

未實作作業或作業在此服務中不受支援/未啟用。

HTTP 對應:501 未實作

INTERNAL

內部錯誤。這表示基礎系統預期的某些不變的情形已被打破。此錯誤代碼保留供嚴重錯誤使用。

HTTP 對應:500 內部伺服器錯誤

UNAVAILABLE

服務目前無法使用。這很可能是暫時性問題,可透過重試輪詢來解決。請注意,重試非冪等操作不一定安全。

如要決定採用 FAILED_PRECONDITIONABORTED 還是 UNAVAILABLE,請參閱以上指南。

HTTP 對應:503 服務不可用

DATA_LOSS

無法復原的資料遺失或損毀。

HTTP 對應:500 內部伺服器錯誤

ErrorLogEntry

描述發生錯誤的項目。

JSON 表示法
{
  "url": string,
  "errorDetails": [
    string
  ]
}
欄位
url

string

這是必要旗標,指向與錯誤相關聯的目標 (資料來源、資料接收端或物件) 的網址。

errorDetails[]

string

包含錯誤詳細資料的訊息清單。

方法

cancel

取消轉移。

get

取得長時間執行的作業的最新狀態。

list

列出移轉作業。

pause

暫停轉移作業。

resume

繼續暫停的轉移作業。