Google Cloud Storage を使用して、再開可能なアップロードを行うために必要な情報をクライアントに渡したいと考えています。これは可能ですか?
2 に答える
はい、可能です。
Cloud Storage サービスに対して認証されたサーバーと、アクセスを許可したいクライアントの場合、典型的な署名付き URL のアップロード ワークフローは次のようになります。
- クライアントは、PUT を実行できるように署名を要求します
- サーバーは、ここで説明され
URL
ている方法を使用して署名付きを作成し、返します - クライアントは、返された値で PUT を実行します
URL
再開可能なワークフローは次のようになります。
- クライアントは、PUT を実行できるように署名を要求します
- サーバーは、ここで説明され
URL
ている方法を使用して署名されたを作成して返します - ここで説明されているように、サーバーは再開可能なアップロードを開始するために POST 要求を行います
- サーバーは
URL
と の両方Upload ID
をクライアントに返します - クライアントは、提供された
URL
およびUpload ID
ここのドキュメントでこのメモを見つけました:
注: ユーザーがアクセス制御されたバケットにリソースをアップロード (書き込み) するだけの場合は、Google Cloud Storage の再開可能なアップロード機能を使用して、URL への署名や Google アカウントの要求を回避できます。再開可能なアップロードのシナリオでは、(サーバー側の) コードが認証され、実際にデータをアップロードすることなく、Google Cloud Storage へのアップロードが開始されます。開始リクエストはアップロード ID を返します。これをクライアント リクエストで使用して、データをアップロードできます。アップロード ID は実質的に認証トークンとして機能するため、クライアント要求に署名する必要はありません。このパスを選択する場合は、必ず HTTPS 経由でアップロード ID を送信してください。
したがって、基本的に署名付き URL は必要ありません。アップロード ID で十分です。手順は次のとおりです。
- クライアントは、PUT を実行できるようにアップロードを要求します
- サーバーは POST リクエストを作成して、再開可能なアップロードを開始します。
- サーバーはアップロード ID をクライアントに返します。
- クライアントは、提供されたアップロード ID を使用してファイルをアップロードするために PUT を実行します。