適用シナリオ

簡易アップロードフォームアップロード、およびマルチパートアップロードでは、normal-type オブジェクトが作成され、アップロードされたコンテンツは変更されることがありません。読み取ることのみでき、変更を加えることはできません。 オブジェクトのコンテンツを変更するには、ユーザーは同じ名前のオブジェクトを再アップロードすることにより、コンテンツを上書きする必要があります。ここが、OSS とファイルシステムの大きく異なる点です。

上記の方法は、多くのアプリケーションシナリオでは非常に不便です。また、ビデオモニタリングやビデオのライブ配信では、リアルタイムにビデオデータが生成され続けます。上述の方法でアップロードすると、ユーザーはビデオストリームを小さく分割し、新規オブジェクトとしてアップロードし続けなければなりません。あまり現実的ではありません。

  • ソフトウェアのアーキテクチャはかなり複雑なため、ユーザーは、分割されたパーツといった細かなことに気を配る必要があります。
  • 生成済みオブジェクトのリストといったメタデータ用のストレージ領域が必要になります。また、メタデータを読み取り、新規オブジェクトが生成されたかどうかを確認する必要もあります。サーバーに非常に負荷がかかります。また、クライアント側はリクエストを毎回 2 回送信する必要があるため、一定の遅延が発生します。
  • オブジェクトを小さく分割すれば、遅延は少なくて済みますが、オブジェクトの管理は複雑になります。 大きく分割すれば、データ遅延が大きくなります。

上述のシナリオにおいて、開発を容易にして開発コストを下げられるよう、オブジェクトに追加コンテンツを付加することのできる、追加アップロードが OSS には用意されています。 追加アップロードされた追加オブジェクトは、通常のオブジェクトとは異なります。 なお、追加アップロードされたデータはアップロードされ次第読み取ることができます。

追加オブジェクトにより、上記シナリオのアーキテクチャは簡素化されます。 ビデオデータが生成されると、そのオブジェクトに追加アップロードされます。クライアント側は、定期的にオブジェクトのサイズを取得し、前に取得した値と比較するだけで済みます。読み取り可能なデータが新たに検出されると、新たにアップロードされたデータセグメントの読み取りがトリガーされます。 このように、アプリケーションのアーキテクチャは非常にシンプルになり、拡張性も高まります。

追加アップロードは、ビデオシナリオだけでなく、ログデータの追加アップロードにも適用できます。

アップロードの制約事項

  • サイズの制限:追加アップロードのオブジェクトの上限は 5 GB です。
  • 命名規則
    • オブジェクト名は、UTF-8 でエンコードされている必要があります。
    • オブジェクト名は 1 バイト以上 1,023 バイト未満である必要があります。
    • オブジェクト名をスラッシュ (/) またはバックスラッシュ (\) で始めることはできません。
  • ファイルタイプ:追加アップロードで作成されたファイルに対してのみ新規データを付加できます。 簡易アップロード、フォームアップロード、またはマルチアップロードによって作成されたファイルに、新規データを付加することはできません。
  • アップロードしたオブジェクトに対する制約:追加アップロードで作成されたファイルをコピーすることはできませんが、メタ情報を変更することはできます。

アップロードにおけるセキュリティと認証

開発者のバケットに、サードパーティによってオブジェクトがアップロードされることのないよう、OSS ではバケットおよびオブジェクトへのアクセス権を管理できます。詳細については、「アクセス管理」をご参照ください。バケットやオブジェクトのアクセス権管理だけでなく、OSS では、アカウント認証によるサードパーティのアップロード可否を管理できます。詳細については、「サードパーティにアップロードを許可」をご参照ください。

アップロード後の操作

アップロードした画像は、イメージ処理できます。Media Processing (MPS) で、オーディファイルやビデオファイルの形式を変換できます。

関数の参照先

注意 追加アップロードは、アップロードコールバックに対応していません。

ベストプラクティス