ArchiveDirectRead を使用すると、OSS-HDFS サービスのアーカイブストレージタイプのファイルに直接アクセスできるため、事前にリストアする必要がなくなります。 この機能は、アクセス頻度が極めて低いデータへのアクセスに適しています。
前提条件
Elastic Compute Service (ECS) インスタンスが作成されていること。 詳細については、「ECS インスタンスを選択する」をご参照ください。
OSS-HDFS がアクティブ化されていること。 具体的な手順については、「OSS-HDFS サービスをアクティブ化する」をご参照ください。
デフォルトでは、Alibaba Cloud アカウントには、バケットに対して ArchiveDirectRead 機能を有効にする権限があります。 RAM ユーザーを介してこの機能を有効にするには、RAM ユーザーに必要な権限が必要です。 詳細については、「EMR 以外のクラスターを介して OSS-HDFS サービスにアクセスするように RAM ユーザーを承認する」をご参照ください。
制限事項
アーカイブオブジェクトのリアルタイムアクセスは、OSS-HDFS が有効になっているバケットに保存されているアーカイブオブジェクトへのアクセスにのみ使用できます。
課金
バケットに対してアーカイブオブジェクトのリアルタイムアクセスを有効にした後、バケット内でリストアされていないアーカイブオブジェクトにアクセスすると、アクセスしたアーカイブデータのサイズ (RetrievalDataArchiveDirect) に基づいてアーカイブデータ取得料金が課金されます。 バケット内でリストアされているアーカイブオブジェクトにアクセスする場合、アーカイブデータ取得料金は発生しません。 詳細については、「データ処理料金」をご参照ください。
直接アクセスされるアーカイブデータのサイズは、HTTP 接続の確立時にリクエストヘッダーで指定されたデータ範囲によって異なります。 接続を早期に切断しても、リクエスト済みの直接アクセスされるデータのサイズには影響しません。 たとえば、1 バイトのデータが読み取られた後に切断が発生し、リクエストで指定されたデータ範囲が 100 MB~200 MB の場合、直接アクセスされるアーカイブデータのサイズは 100 MB~200 MB として計算されます。
手順
ECS インスタンスに接続します。 詳細な手順については、「ECS インスタンスに接続する」をご参照ください。
Jindofs SDK をダウンロードします。
AccessKey ペアと環境変数を構成します。
インストールされている JindoFS SDK JAR パッケージの bin ディレクトリに移動します。
次のサンプルコードは、
jindofs-sdk-x.x.x-linux
JAR パッケージの bin ディレクトリに移動する方法の例を示しています。 別のバージョンの JindoFS SDK を使用している場合は、パッケージ名を対応する JindoFS SDK JAR パッケージの名前に置き換えてください。cd jindofs-sdk-x.x.x-linux/bin/
bin ディレクトリに jindofs.cfg という名前の構成ファイルを作成し、Alibaba Cloud アカウントの AccessKey ペア、または必要な権限を持つ RAM ユーザーの AccessKey ペアを構成します。
[client] fs.oss.accessKeyId = <key> // AccessKey ID fs.oss.accessKeySecret = <secret> // AccessKey Secret
環境変数を構成します。
説明<JINDOSDK_CONF_DIR> は、
jindofs.cfg
構成ファイルの絶対パスに置き換えてください。export JINDOSDK_CONF_DIR=<JINDOSDK_CONF_DIR>
アーカイブオブジェクトのリアルタイムアクセスを有効にします。
中国東部 1 (上海) リージョンの examplebucket に対して ArchiveDirectRead を有効にするには、次の例を使用します。 他のリージョンでは、リージョンとバケット名を必要に応じて調整してください。
./jindofs admin -putConfig -dlsUri oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/ -conf namespace.archive.directread.enable=true
バケットの ArchiveDirectRead 構成を確認します。
./jindofs admin -putConfig -dlsUri oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/ -name namespace.archive.directread.enable
以下の応答は、バケットに対してアーカイブオブジェクトのリアルタイムアクセスが有効になっていることを示しています。
namespace.archive.directread.enable: true
次の手順
バケットに対してアーカイブオブジェクトのリアルタイムアクセスを有効にすると、事前にリストアすることなく、アーカイブオブジェクトに対してダウンロード、メタデータの表示、コピーなどの読み取り操作を直接実行できます。
関連情報
アーカイブオブジェクトのリアルタイムアクセスが有効になっていない場合は、アクセスする前にアーカイブオブジェクトをリストアする必要があります。 アーカイブオブジェクトのリストア方法については、「アーカイブオブジェクトを一時的にリストアする」をご参照ください。