# CARファイルの配布

ストレージプロバイダがデータに簡単にアクセスできるようにするためには、CAR（コンテンツアドレス指向アーカイブ）ファイルを効果的に配布する必要があります。

## 1. コンテンツプロバイダーサービスの起動

まず、コンテンツプロバイダーサービスを起動します。このサービスは、準備したデータセットからのピースのダウンロードを容易にします。

```sh
singularity run content-provider
```

## 2. CARファイルのダウンロード方法

ストレージプロバイダは、CARファイルをダウンロードするための複数の方法を利用することができます:

### 直接のHTTPダウンロード

プロバイダは、コンテンツプロバイダーサービスが公開するHTTP APIを使用して、CARファイルを直接ダウンロードすることができます:

```shell
wget http://127.0.0.1:7777/piece/bagaxxxxxxxxxxx
```

準備中に出力ディレクトリを指定した場合は、CARファイルはそのディレクトリから直接取得されます。ただし、インラインの準備を使用した場合やCARファイルを誤って削除した場合は、サービスが元のデータソースからコンテンツを取得して提供します。

### Singularityダウンロードユーティリティ

特にS3やFTPなどのリモートデータソースを扱う場合、別のダウンロード方法をお探しの場合、Singularityには専用のダウンロードユーティリティがあります:

```shell
singularity download bagaxxxxxxxxxxx
```

このユーティリティは、コンテンツプロバイダーサービスと通信してピースのメタデータを取得します。取得したメタデータを使用して、元のデータソースからピースを直接再構築します。
