URL リストの作成

このページでは、URL リストを作成し、MD5 ハッシュを生成するプロセスをテストする方法について説明します。Storage Transfer Service を使用すると、一般公開データのロケーションのリストから、Cloud Storage バケットにデータを転送できます。転送を構成するときは、その URL リストを参照するだけです。

要件

URL リストの要件は次のとおりです。

  • URL リストは、タブ区切りの値(TSV)ファイルである必要があります。

  • URL は、UTF-8 の辞書順でソートする必要があります。

  • サーバーは URL リストを返すときに、HTTP レスポンスに強力な Etag ヘッダーを設定します。

  • URL リストには、http または https で始まる URL からアクセスできます。

データが確実に転送されるようにするために、次のことを確認します。

  • 指定した各 URL が一般公開されていること。

    たとえば、Cloud Storage では、オブジェクトを一般公開で共有し、そのオブジェクトへのリンクを取得します。

  • サーバーの robots.txt ファイルが各 URL へのアクセスを許可していること。

  • 各オブジェクトをホストするサーバーが:

    • Range リクエストをサポートしていること。
    • 各レスポンスで Content-Length ヘッダーを返すこと。

URL リストの形式の整理

URL リストの形式を整理するには、次の手順に従います。

  1. タブ区切り値(TSV)ファイルを作成します。

  2. 1 行目に形式指定子 TsvHttpData-1.0 を挿入します。

  3. 転送するオブジェクトごと行を追加します。各行では、次のタブ区切りフィールドをこの順番で指定します。

    • 転送元オブジェクトの HTTP または HTTPS URL。

      http(s)://[HOSTNAME]:[PORT]/[URL_PATH] にあるオブジェクトが Cloud Storage に転送されると、Cloud Storage 内のオブジェクトの名前は [HOSTNAME]/[URL_PATH] になります。

    • オブジェクトのサイズ(バイト単位)。

      指定されたサイズが、フェッチされたときのオブジェクトの実際のサイズと一致することを確認します。Cloud Storage が受け取ったオブジェクトのサイズが指定されたサイズと一致しない場合、オブジェクトの転送は失敗となります。

    • オブジェクトの Base64 でエンコードされた MD5 チェックサム。

      指定された MD5 チェックサムが、転送されたバイトから計算された MD5 チェックサムと一致することを確認します。Cloud Storage が受け取ったオブジェクトの MD5 チェックサムが、指定された MD5 チェックサムと一致しない場合、オブジェクトの転送は失敗となります。

      MD5 チェックサムの生成については、MD5 チェックサムの生成をご覧ください。

    以下は、転送する 2 つのオブジェクトを指定するサンプル TSV ファイルです。

    TsvHttpData-1.0
    https://example.com/buckets/obj1      1357      wHENa08V36iPYAsOa2JAdw==
    https://example.com/buckets/obj2      2468      R9acAaveoPd2y8nniLUYbw==
    

MD5 チェックサムの生成

Cloud Storage は、それぞれに提供された MD5 チェックサムを使用して、データの整合性を検証します。

次の一般公開のオブジェクトを使用して、MD5 チェックサムが正しく生成されていることを確認します。

https://storage.googleapis.com/md5-test/md5-test

このオブジェクトは、Base64 でエンコードされた BfnRTwvHpofMOn2Pq7EVyQ== の MD5 ハッシュです。

オブジェクトを md5-test というローカル ファイルにコピーし、OpenSSL を使用してハッシュを確認します。

openssl md5 -binary md5-test | openssl enc -base64

次のステップ