問題タブ [ibm-cloud-storage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - IBM COS (Cloud Object Storage) から直接ストリーミングしますか?
私はnodejsサーバーでビデオストリーミングに取り組んでいます。動画ストレージとして IBM Cloud Object Storage (COS) バケットを使用しています。Nodejs アプリは Cloud Foundry (PAAS) インスタンスで実行されています。クライアントのリクエストに応じて特定の動画ファイルをストリーミングするには、ファイルを COS バケットから Cloud Foundry インスタンス (nodejs サーバーの一時フォルダー、ディスク容量制限付き) にダウンロードする必要があります。これは時間のかかるプロセスであり、クライアントはビデオの再生までに長時間待たなければなりません。ダウンロードの時間間隔を削除する方法を探しています。
IBM COS バケットから直接ストリーミングする方法はありますか?
ありがとう
ibm-cloud-storage - COS の既存のオブジェクトを更新する
https://console.bluemix.net/docs/services/cloud-object-storage/で説明されているように、.putObject() API を呼び出してオブジェクト (ファイル) を既存のバケットに正常に追加する nodeJS アプリを作成しました 。 libraries/node.html#using-node-js
これは正常に機能し、新しいオブジェクトを正常にアップロードして作成します。ただし、後日、そのオブジェクトに関する一部のメタデータを更新したいと考えています。{} これを .putObject() でパラメーターとして指定できるようですが、.updateObject() API がないようです。それでよろしいですか? https://ibm.github.io/ibm-cos-sdk-js/AWS/S3.html#putObject-property
Metadata{} を使用して .putObject() API を再度呼び出すと、その情報は追加されますが、Body コンテンツが吹き飛ばされるため、6Mb ファイルは 0kb になります。これを行う唯一の方法は、オブジェクト コンテンツをダウンロードし、メタデータを追加してから、すべてを再度アップロードすることですか?{}
それとも、Metadata{} を更新して元のオブジェクト (ファイル) をそのままにしておくために使用できる別の方法はありますか?
答えの 1 つが「リンクされたメタデータを保存するためにデータベースを使用する」であることはありがたいのですが、可能であれば、その議論から逸脱するのではなく、上記の質問に対する答えを希望します。