ossimport は、Object Storage Service (OSS) にデータを移行するためのツールです。ossimport をローカルサーバーまたは Elastic Compute Service (ECS) インスタンスにデプロイすることで、ローカルストレージや他のクラウドストレージサービスから OSS へデータを移行できます。Alibaba Cloud では、標準的な Data Online Migration サービスおよびクロスリージョンレプリケーション サービスも提供しています。これらのサービスは、グラフィカルユーザーインターフェース (GUI) を備えており、クラウドへのデータ移行や OSS バケット間でのデータレプリケーションを支援します。
ossimport は移行後にファイルを検証しません。移行結果の正確性や整合性は保証されません。移行タスクの完了後、ソースとデスティネーション間のデータ整合性を検証する必要があります。
データ整合性を検証する前にソースデータを削除した場合、それによって生じるデータ損失については、お客様の責任となります。
他のサードパーティのデータソースからデータを移行するには、Data Online Migration の使用を推奨します。
2 つの異なるバケット間で OSS データのほぼリアルタイムなレプリケーションを行うには、OSS のクロスリージョンレプリケーション機能の使用を推奨します。
機能
ローカルファイル、Qiniu Kodo、Baidu BOS、Amazon S3、Azure Blob、UPYUN USS、Tencent Cloud COS、Kingsoft KS3、HTTP または HTTPS の URL リスト、Alibaba Cloud OSS など、幅広いデータソースをサポートしています。また、必要に応じて他のソースをサポートするよう拡張することも可能です。
スタンドアロンモードと分散モードをサポートしています。スタンドアロンモードはデプロイが簡単で使いやすく、分散モードは大規模なデータ移行に適しています。
説明スタンドアロンモードでは、一度に 1 つのバケットのみ移行できます。
レジューム可能なアップロードをサポートしています。
トラフィックシェーピングをサポートしています。
特定の時刻以降に変更されたファイル、または特定のプレフィックスを持つファイルの移行をサポートしています。
データダウンロードとデータアップロードの同時実行をサポートしています。
課金
ossimport ツールは無料です。パブリッククラウド環境では、データソース側でアウトバウンドトラフィック料金やリクエスト料金などのコストが発生する場合があります。デスティネーションの OSS バケットでは、リクエスト料金が発生します。OSS の転送アクセラレーションを有効化して使用する場合は、転送アクセラレーション料金も発生します。
使用上の注意
移行速度
ossimport の移行速度は、ソースの読み取り帯域幅、ローカルネットワーク帯域幅、ファイルサイズなどの要因によって異なります。200 KB 未満のファイルを移行する場合、1 秒あたりの入出力操作数 (IOPS) が高いため、処理が遅くなることがあります。
アーカイブストレージクラスのソースデータ
ossimport を使用してデータを移行する際、ソースデータがアーカイブストレージクラスにある場合は、移行を開始する前にデータを復元する必要があります。
ローカルステージング
ossimport を使用してデータを移行する場合、データストリームはデスティネーション にアップロードされる前に、ローカルメモリ にステージングされます。
ソースデータの保持
ossimport を使用してデータを移行する場合、ソースデータに対して読み取り操作のみを実行します。ソースデータを変更または削除することはありません。
その他の移行ツール (ossutil)
30 TB 未満のデータを移行する場合は、ossutil の使用を推奨します。このツールはシンプルで便利です。-u, --update および --snapshot-path オプションを使用して、増分ファイル移行を実行できます。詳細については、「cp」をご参照ください。
ランタイム環境
ossimport は、以下の要件を満たす Linux または Windows システムにデプロイできます。
Windows 7 以降
CentOS 6 または CentOS 7
Java 7 または Java 8
Windows システムでは分散デプロイメントはサポートされていません。
デプロイモードの選択
ossimport は、スタンドアロンモードと分散モードという 2 つのデプロイモードをサポートします。
スタンドアロンモード:30 TB 以下のデータを移行する場合、スタンドアロンモードでのデプロイを推奨します。移行したいデータと OSS の両方にアクセスできる任意のマシンに ossimport をデプロイできます。
分散モード:30 TB を超えるデータを移行する場合、分散モードでのデプロイを推奨します。移行したいデータと OSS の両方にアクセスできる複数のマシンに ossimport をデプロイできます。
説明移行するデータ量が非常に大きい場合は、OSS バケットと同じリージョンにある Elastic Compute Service (ECS) インスタンスに ossimport をデプロイすることで、移行時間を短縮できます。次に、専用線を使用して、ソースデータを格納するサーバーを Alibaba Cloud VPC ネットワークに接続します。内部ネットワークを介して複数の ECS インスタンスから OSS にデータを移行すると、移行効率が大幅に向上します。
また、ossimport を使用してインターネット経由でデータを転送することもできます。ローカルサーバーの帯域幅が転送速度に影響します。
スタンドアロンモード
マスター、ワーカー、トラッカー、コンソールモジュールは単一のマシンで実行され、ossimport2.jar にパッケージ化されます。システムにはワーカーが 1 つしかありません。
以下に、スタンドアロンモードのファイル構造を示します:
ossimport
├── bin
│ └── ossimport2.jar # マスター、ワーカー、トラッカー、コンソールモジュールを含む JAR パッケージ。
├── conf
│ ├── local_job.cfg # スタンドアロンモード用のジョブ設定ファイル。
│ └── sys.properties # システムパラメーターの設定ファイル。
├── console.bat # Windows 用のコマンドラインツール。インポートタスクをステップバイステップで実行できます。
├── console.sh # Linux 用のコマンドラインツール。インポートタスクをステップバイステップで実行できます。
├── import.bat # Windows 用のワンクリックインポートスクリプト。conf/local_job.cfg で設定されたデータ移行タスク (タスクの開始、移行、検証、再試行を含む) を実行します。
├── import.sh # Linux 用のワンクリックインポートスクリプト。conf/local_job.cfg で設定されたデータ移行タスク (タスクの開始、移行、検証、再試行を含む) を実行します。
├── logs # ログディレクトリ。
└── README.md # README ファイル。ご使用前に必ずお読みいただくことを強く推奨します。import.bat および import.sh ファイルはワンクリックインポートスクリプトです。
local_job.cfgファイルを変更した後、直接実行できます。console.bat および console.sh ファイルは、コマンドをステップバイステップで実行するためのコマンドラインツールです。
スクリプトまたはコマンドは、
*.bat/*.shファイルが配置されているossimportディレクトリで実行します。
分散モード
ossimport は、マスター/ワーカーモデルに基づく分散アーキテクチャを使用します。構造は次のとおりです。
Master --------- Job --------- Console
|
|
TaskTracker
|_____________________
|Task | Task | Task
| | |
Worker Worker Workerパラメーター | 説明 |
マスター | データサイズとファイル数に基づいて、ジョブをタスクに分割します。データサイズとファイル数は、sys.properties ファイルで設定できます。ジョブがタスクに分割される手順は次のとおりです。
|
ワーカー |
|
TaskTracker | Tracker と略されます。タスクを分散し、タスクのステータスを追跡します。 |
コンソール | ユーザーと対話し、コマンドを受け付けて、結果を表示します。deploy、start、stop などのシステム管理コマンドと、submit、リトライ、clean などのジョブ管理コマンドをサポートしています。 |
ジョブ | ユーザーが送信するデータ移行ジョブです。ユーザーにとって、1 つのジョブは 1 つの |
タスク | ジョブは、データサイズとファイル数に基づいて複数のタスクに分割できます。各タスクは一部のファイルを移行します。ジョブを分割する最小単位は 1 つのファイルです。1 つのファイルが複数のタスクに分割されることはありません。 |
分散モードでは、データ移行用に複数のマシンを起動できます。各マシンで起動できるワーカーは 1 つのみです。タスクはワーカー間で均等に分散されます。各ワーカーは複数のタスクを実行できます。
分散モードのファイル構造は次のとおりです。
ossimport
├── bin
│ ├── console.jar # コンソールモジュール用の JAR パッケージ。
│ ├── master.jar # マスターモジュール用の JAR パッケージ。
│ ├── tracker.jar # Tracker モジュール用の JAR パッケージ。
│ └── worker.jar # ワーカーモジュール用の JAR パッケージ。
├── conf
│ ├── job.cfg # ジョブ設定ファイルのテンプレート。
│ ├── sys.properties # システムパラメーター用の設定ファイル。
│ └── workers # ワーカーのリスト。
├── console.sh # コマンドラインツール。現在は Linux のみサポートされています。
├── logs # ログディレクトリ。
└── README.md # README ファイル。ご使用前に本ファイルをお読みいただくことを強く推奨します。設定ファイル
スタンドアロンモードでは、設定ファイルは sys.properties と local_job.cfg の 2 つです。分散モードでは、設定ファイルは sys.properties、job.cfg、workers の 3 つです。local_job.cfg と job.cfg の設定項目は同一で、名前のみが異なります。workers ファイルは分散環境専用です。
sys.properties:システムのランタイムパラメーターです。
パラメーター
説明
詳細
workingDir
作業ディレクトリ
ツールパッケージを解凍するディレクトリです。スタンドアロンモードでは、このパラメーターを変更しないでください。分散モードでは、各マシンの作業ディレクトリを同一にする必要があります。
workerUser
ワーカーマシンの SSH ユーザー名
privateKeyFileが設定されている場合、それが優先的に使用されます。privateKeyFileが設定されていない場合は、workerUserとworkerPasswordが使用されます。スタンドアロンモードでは、このパラメーターを変更しないでください。
workerPassword
ワーカーマシンの SSH パスワード
スタンドアロンモードでは、このパラメーターを変更しないでください。
privateKeyFile
秘密鍵ファイルのパス
SSH チャネルがすでに確立されている場合は、このパラメーターを指定できます。それ以外の場合は空のままにしてください。
privateKeyFileが設定されている場合、それが優先的に使用されます。privateKeyFileが設定されていない場合は、workerUserとworkerPasswordが使用されます。スタンドアロンモードでは、このパラメーターを変更しないでください。
sshPort
SSH ポート
デフォルト値は 22 です。必要がない限り、この値を変更しないでください。スタンドアロンモードでは、このパラメーターを変更しないでください。
workerTaskThreadNum
ワーカーがタスクを実行するスレッドの最大数
このパラメーターは、マシンのメモリとネットワークに依存します。推奨値は 60 です。
物理マシンでは、例えば 150 まで値を増やすことができます。ネットワーク帯域幅が上限まで使用されている場合は、これ以上増やさないでください。
ネットワーク接続が不安定な場合は、この値を 30 などに減らしてください。これにより、ネットワーク競合によるリクエストタイムアウトを防止できます。
workerMaxThroughput (KB/s)
ワーカーでのデータ移行における最大スループット
この値はトラフィックシェーピングに使用できます。デフォルト値は 0 で、トラフィックシェーピングを行わないことを示します。
dispatcherThreadNum
Tracker がタスクをディスパッチし、ステータスを確認するスレッド数
通常はデフォルト値で十分です。必要がない限り、デフォルト値を変更しないでください。
workerAbortWhenUncatchedException
不明なエラーが発生した場合にタスクをスキップするか、終了するかを指定します
デフォルトでは、タスクはスキップされます。
workerRecordMd5
x-oss-meta-md5 メタデータを使用して、移行したファイルの MD5 ハッシュを OSS に記録するかどうかを指定します。デフォルトでは、MD5 ハッシュは記録されません。
これはファイルの MD5 検証に使用されます。
job.cfg:データ移行タスクの設定です。
local_job.cfgとjob.cfgの設定項目は同一で、名前のみが異なります。パラメーター
説明
詳細
jobName
タスク名。文字列。
タスクの一意識別子です。名前は命名規則
[a-zA-Z0-9_-]{4,128}に従う必要があります。異なる名前で複数のタスクを送信できます。既存のタスクと同じ名前のタスクを送信すると、タスクがすでに存在することを示すメッセージが表示されます。既存のタスクをクリーンアップするまで、同じ名前のタスクを送信できません。
jobType
タスクの種類。文字列。
デフォルト値は
importです。
isIncremental
増分移行モードを有効にするかどうかを指定します。ブール値。
デフォルト値は false です。
true に設定すると、システムは
incrementalModeInterval(秒) で指定された間隔で増分データを再スキャンし、増分データを OSS に移行します。
incrementalModeInterval
増分モードの同期間隔。整数。単位:秒。
このパラメーターは、
isIncrementalを true に設定した場合にのみ有効です。設定可能な最小間隔は 900 秒です。この値を 3600 秒未満に設定しないことを推奨します。これにより、過剰なリクエストと追加のシステムオーバーヘッドを防止できます。importSince
この時刻以降に変更されたデータを移行します。整数。単位:秒。
この時刻は UNIX タイムスタンプで、1970 年 1 月 1 日 00:00:00 UTC からの経過秒数です。
date +%sコマンドを実行してタイムスタンプを取得します。デフォルト値は 0 で、すべてのデータを移行することを示します。
srcType
データソースの種類。文字列。このパラメーターは大文字と小文字を区別します。
次の種類をサポートしています:
local:ローカルファイルから OSS にデータを移行します。このオプションでは、srcPrefixのみを指定するだけでよく、srcAccessKey、srcSecretKey、srcDomain、srcBucketを指定する必要はありません。oss:ある OSS バケットから別の OSS バケットにデータを移行します。qiniu:Qiniu Kodo から OSS にデータを移行します。bos:Baidu BOS から OSS にデータを移行します。ks3:Kingsoft KS3 から OSS にデータを移行します。s3:Amazon S3 から OSS にデータを移行します。youpai:UPYUN USS から OSS にデータを移行します。http:指定された HTTP または HTTPS リンクのリストから OSS にデータを移行します。cos:Tencent Cloud COS から OSS にデータを移行します。azure:Azure BLOB から OSS にデータを移行します。
srcAccessKey
ソースの AccessKey ID。文字列。
srcTypeをoss、qiniu、bos、ks3、またはs3に設定した場合は、データソースの AccessKey ID を入力します。srcTypeをlocalまたはhttpに設定した場合は、このパラメーターを指定する必要はありません。srcTypeをyoupaiまたはazureに設定した場合は、ユーザー名 (AccountName) を入力します。
srcSecretKey
ソースの AccessKey Secret。文字列。
srcTypeをoss、qiniu、bos、ks3、またはs3に設定した場合は、データソースの AccessKey Secret を入力します。srcTypeをlocalまたはhttpに設定した場合は、このパラメーターを指定する必要はありません。srcTypeをyoupaiに設定した場合は、オペレーターパスワードを入力します。srcTypeをazureに設定した場合は、AccountKey を入力します。
srcDomain
ソースのエンドポイント
srcTypeをlocalまたはhttpに設定した場合は、このパラメーターを指定する必要はありません。srcTypeをossに設定した場合は、コンソールで取得したエンドポイントを入力します。これはバケットプレフィックスを含む第 2 レベルドメイン名ではありません。srcTypeをqiniuに設定した場合は、Qiniu のコンソールで取得した該当バケットのエンドポイントを入力します。srcTypeをbosに設定した場合は、Baidu BOS のエンドポイント (例:http://bj.bcebos.com、http://gz.bcebos.com) を入力します。srcTypeをks3に設定した場合は、Kingsoft KS3 のエンドポイント (例:http://kss.ksyun.com、http://ks3-cn-beijing.ksyun.com、http://ks3-us-west-1.ksyun.com) を入力します。srcTypeをs3に設定した場合は、Amazon S3 のリージョンのエンドポイントを入力します。srcTypeをyoupaiに設定した場合は、UPYUN のエンドポイントを入力します。例えば、http://v0.api.upyun.comは最適な回線を自動判定します。http://v1.api.upyun.comは China Telecom または China Netcom 回線、http://v2.api.upyun.comは China Unicom または China Netcom 回線、http://v3.api.upyun.comは China Mobile または China Tietong 回線に使用します。srcTypeをcosに設定した場合は、Tencent Cloud のバケットが存在するリージョンを入力します。例えば、華南リージョンはap-guangzhouです。srcTypeをazureに設定した場合は、Azure Blob 接続文字列の EndpointSuffix 値 (例:core.chinacloudapi.cn) を入力します。
srcBucket
ソースのバケットまたはコンテナ名
srcTypeをlocalまたはhttpに設定した場合は、このパラメーターを指定する必要はありません。srcTypeをazureに設定した場合は、コンテナ名を入力します。それ以外のソースの種類では、バケット名を入力します。
srcPrefix
ソースオブジェクトのプレフィックス。文字列。デフォルト:空。
srcTypeをlocalに設定する場合は、ローカルディレクトリを入力します。フルパスを指定し、区切りには単一のスラッシュ (/) を使用し、末尾は単一のスラッシュ (/) で終える必要があります。c:/example/または/data/example/の形式のみサポートしています。重要c:/example//、/data//example/、/data/example//などのパスは無効です。srcTypeをoss、qiniu、bos、ks3、youpai、またはs3に設定する場合は、同期するオブジェクトのプレフィックスを入力します (バケット名は含めません)。例:data/to/oss/。すべてのファイルを同期するには、
srcPrefixを空のままにします。
destAccessKey
宛先の AccessKey ID。文字列。
OSS サービスへのアクセスに使用する AccessKey ID です。確認するには、Alibaba Cloud Management Console に移動します。
OSS サービスへのアクセスに使用する AccessKey ID です。Alibaba Cloud 管理コンソールで確認できます。
destSecretKey
宛先の AccessKey Secret。文字列。
OSS へのアクセスに使用する AccessKey Secret です。確認するには、Alibaba Cloud Management Console に移動します。
OSS へのアクセスに使用する AccessKey シークレットです。確認するには、Alibaba Cloud 管理コンソールに移動します。
destDomain
宛先のエンドポイント。文字列。
Alibaba Cloud Management Console で取得します。これはバケットプレフィックスを含む第 2 レベルドメイン名ではありません。エンドポイントの一覧については、「ドメイン名」をご参照ください。
Alibaba Cloud 管理コンソールから取得します。これは、バケットプレフィックスを含むセカンドレベルドメイン名ではありません。エンドポイントのリストについては、ドメイン名をご参照ください。
destBucket
宛先バケット。文字列。
destPrefix
宛先オブジェクトのプレフィックス。文字列。デフォルト:空。
宛先オブジェクトのプレフィックスです。デフォルトではこのパラメーターは空で、オブジェクトは宛先バケット直下に配置されます。
OSSの特定のディレクトリにデータを同期する場合は、プレフィックスの末尾にスラッシュ (/) を付けます (例:data/in/oss/)。OSSでは、先頭がスラッシュ (/) のオブジェクト名はサポートされません。そのため、destPrefixの先頭にスラッシュ (/) を設定しないでください。パスsrcPrefix+relativePathのローカルファイルは、
OSSのパスdestDomain/destBucket/destPrefix +relativePathに移行されます。パス srcDomain/srcBucket/srcPrefix+relativePath のクラウドファイルは、パス destDomain/destBucket/destPrefix+relativePath で
OSSに移行されます。
taskObjectCountLimit
各タスクのファイル数の上限。整数。デフォルト:10000。
このパラメーターは、タスク実行の並列度に影響します。一般的な計算式は、(ファイル総数) / (ワーカーの総数) / (
workerTaskThreadNum) です。最大値は 50000 です。ファイル総数が不明な場合は、デフォルト値を使用してください。taskObjectSizeLimit
The maximum data size for each task. Integer. Unit: bytes. Default: 1 GB.
This parameter affects the degree of parallelism for task execution. A general formula for this value is: (Total data size) / (Total number of Workers) / (workerTaskThreadNum). If you do not know the total data size, use the default value.
isSkipExistFile
データ移行中に既存ファイルをスキップするかどうかを指定します。ブール値。
trueに設定すると、システムはファイルサイズとLastModifiedTimeに基づいて、ファイルをスキップするかどうかを判断します。falseに設定すると、OSS の既存ファイルを常に上書きします。デフォルト値はfalseです。scanThreadCount
同時ファイルスキャン用のスレッド数。整数。
デフォルト値:1
有効な値:1 ~ 32
このパラメーターは、ファイルスキャンの効率に影響します。特別な要件がない限り、変更しないでください。
maxMultiThreadScanDepth
同時スキャンするディレクトリの最大深度。整数。
デフォルト値:1
有効な値:1 ~ 16
デフォルト値の 1 は、トップレベルディレクトリ間での同時スキャンを示します。
特別な要件がない限り、この値を変更しないでください。値が大きすぎると、タスクが失敗する可能性があります。
appId
Tencent Cloud COS の app ID。整数。
このパラメーターは、
srcTypeをcosに設定した場合にのみ有効です。httpListFilePath
HTTP URL のリストを含むファイルの絶対パス。文字列。
このパラメーターは、
srcTypeをhttpに設定した場合にのみ有効です。ソースが HTTP URL のリストである場合は、HTTP URL のリストを含むファイルの絶対パス (例:c:/example/http.list) を指定する必要があります。このファイル内の HTTP リンクは、1つ以上のスペースで区切った2列形式で指定する必要があります。1列目はダウンロードするソースファイルの URL を、2列目は OSS での宛先オブジェクトの相対パスを表します。例えば、
c:/example/http.listファイルの内容が次のとおりの場合:http://xxx.xxx.com/aa/ bb.jpg http://xxx.xxx.com/cc/ dd.jpgdestPrefixをee/に指定すると、OSS に移行されるファイル名は次のとおりになります:ee/bb.jpg ee/dd.jpg
workers:分散モード専用です。1 行につき 1 つの IP アドレスを入力します。例:
192.168.1.6 192.168.1.7 192.168.1.8上記の設定では、1 行目の
192.168.1.6がマスターである必要があります。つまり、マスター、ワーカー、TaskTracker はすべて192.168.1.6上で起動します。コンソールもこのマシン上で実行する必要があります。複数のワーカーマシンで、ユーザー名、ログイン方法、および作業ディレクトリが同じであることを確認してください。
設定ファイルの例
次の表に、分散モードでのデータ移行タスク用の設定ファイルを示します。スタンドアロンモード用の設定ファイル名は local_job.cfg で、その設定項目は分散モードの場合と同じです。
移行タイプ | 設定ファイル | 説明 |
ローカルサーバーから OSS へのデータ移行 |
| |
Qiniu Kodo から OSS へのデータ移行 |
| |
Baidu BOS から OSS へのデータ移行 |
| |
Amazon S3 から OSS へデータを移行する | 詳細については、「S3 endpoints」をご参照ください。 | |
UPYUN USS から OSS へのデータ移行 |
| |
Tencent Cloud COS から OSS へのデータ移行 | V4 バージョンの要件に基づいて | |
Azure Blob から OSS へのデータ移行 |
| |
OSS から OSS へのデータ移行 | 異なるリージョン間、異なるストレージクラス間、または異なるプレフィックス間のデータ移行に適しています。ECS インスタンスにデプロイし、内部エンドポイントを使用してトラフィックコストを削減することを推奨します。 |
詳細設定
時間ベースの速度制限
sys.properties 内の workerMaxThroughput(KB/s) は、Worker のトラフィックの上限を表します。ソース側のスロットリングやネットワークの制限など、ビジネスでトラフィックシェーピングが必要な場合は、このパラメーターを設定します。このパラメーターの値は、マシンの最大ネットワークトラフィックより小さい値にし、ビジネスニーズに基づいて評価する必要があります。値を変更した後は、変更を反映させるためにサービスを再起動する必要があります。
分散デプロイでは、各 ワーカーの $OSS_IMPORT_WORK_DIR/conf ディレクトリにある sys.properties ファイルを変更し、サービスを再起動する必要があります。
時間ベースのスロットリングを実装するには、crontab を使用して sys.properties の変更をスケジュールし、サービスを再起動して変更を有効にします。
タスクの同時実行数の変更
sys.properties 内の workerTaskThreadNum は、Worker が同時に実行できるタスクの数を表します。ネットワーク接続が悪く、同時実行性が高い場合、多くのタイムアウトエラーが発生する可能性があります。この場合、このパラメーターを変更して同時実行レベルを下げてから、サービスを再起動できます。
sys.properties では、workerMaxThroughput(KB/s) はワーカーのトラフィックの上限を表します。ビジネスで、ソース側のスロットリングやネットワークの制限などのトラフィックシェーピングが必要な場合は、このパラメーターを設定します。このパラメーターの値は、マシンの最大ネットワークトラフィック未満にし、ビジネスニーズに基づいて評価する必要があります。
job.cfg では、taskObjectCountLimit はタスクあたりの最大ファイル数で、デフォルトは 10000 です。このパラメーターはタスク数に影響します。値が小さすぎると、効果的な同時実行を実現できません。
job.cfg において、taskObjectSizeLimit はタスクあたりの最大データサイズであり、デフォルト値は 1 GB です。このパラメーターはタスク数に影響します。値が小さすぎると、効果的な同時実行を達成できません。
重要移行タスクを開始する前に、すべてのパラメーターを設定してください。
sys.propertiesのパラメーターを変更した後は、変更を反映させるには移行サーバーを再起動する必要があります。ジョブをサブミットした後は、
job.cfgの設定パラメーターは変更できません。
移行しないデータ検証
ossimport では、データを移行せずに検証できます。これを行うには、job.cfg または local_job.cfg ファイルの jobType 設定項目を、import の代わりに audit に設定します。その他の設定は、データ移行の場合と同じです。
増分データ移行モード
増分データ移行モードでは、タスクはまず完全移行を実行します。その後、指定された間隔で自動的に増分データ移行を実行します。最初の完全移行は、タスクをサブミットした直後に開始されます。その後の増分移行は、サイクルごとに 1 回実行されます。このモードは、データバックアップとデータ同期に適しています。
増分モードには 2 つの設定項目があります。
job.cfg の isIncremental は、増分移行モードを有効にするかどうかを指定します。true は増分モードを有効にし、false は無効にします。デフォルトでは無効になっています。
job.cfg では、incrementalModeInterval は増分モードでの同期間隔、つまり増分データ移行間の期間を秒単位で指定します。 これは
isIncremental=trueの場合にのみ有効です。 設定可能な最小値は900 秒です。 この値を3600秒未満に設定しないことを推奨します。 これにより、過剰なリクエストや余分なシステムオーバーヘッドを防ぐことができます。
移行のフィルター条件の指定
フィルター条件を使用すると、特定の条件を満たすファイルのみを移行できます。ossimport では、プレフィックスと最終更新日時によるフィルタリングが可能です。
job.cfg では、srcPrefix は移行するファイルのプレフィックスを指定するために使用されます。デフォルトでは空です。
srcType=localの場合は、完全なパスで、区切り文字として単一のスラッシュ (/) を使用し、末尾に単一のスラッシュ (/) を付けたローカルディレクトリ (c:/example/や/data/example/など) を入力します。srcTypeがoss、qiniu、bos、ks3、youpai、またはs3の場合、これは同期対象オブジェクトのプレフィックスであり、バケット名は含まれません。 たとえば、data/to/oss/です。 すべてのファイルを移行するには、srcPrefixを空に設定します。
job.cfg では、importSince を使用して、移行するファイルの最終更新時刻を秒単位で指定します。importSince は UNIX タイムスタンプで、1970年1月1日 00:00:00 (UTC) からの経過秒数です。タイムスタンプは date +%s コマンドを実行して取得します。デフォルト値は 0 で、すべてのデータが移行されることを意味します。増分モードでは、このパラメーターは最初の完全移行にのみ適用されます。非増分モードでは、移行タスク全体に適用されます。
ファイルの
LastModified TimeがimportSinceより前の場合、そのファイルは移行されません。ファイルの
LastModified TimeがimportSinceより後である場合、そのファイルは移行されます。