ホームページ >バックエンド開発 >Golang >AWS S3 からオブジェクトをメモリにダウンロードし、Go のリクエスト経由で送信するにはどうすればよいですか?

AWS S3 からオブジェクトをメモリにダウンロードし、Go のリクエスト経由で送信するにはどうすればよいですか?

WBOY
WBOY転載
2024-02-08 20:51:09862ブラウズ

如何从AWS S3下载对象到内存中并通过Go中的请求发送它?

質問の内容

誰かが s3 からファイルをダウンロードしようとしているときに発生するこのエラーを解決するのを手伝ってくれませんか?

そこで、go gin を介してストレージ サービス API を作成したいのですが、s3 オブジェクト キーを使用してオブジェクトをダウンロードし、このオブジェクトをクライアントに送り返すルートが必要です。

リーリー リーリー

上記のコードでは次のエラーが発生します。 操作エラーS3:getobject、https応答エラーステータスコード:403、requestID:8KHYW3RCS2ZA7D95、HOSTID:KOLO GY/DTZRROVSWSB1BXINLN8W XDL0LNMYSUWJNHUPMBVVK4ITDFP MQ2XDIDFIDDFP MQ2XDL0LNMYSUWJNHUPMBVK4ITDFP MQ2XDL0LNMYSUWJNHUPMBVK4ITDFP MQ2XUCACCESNX cnendc phpcn ###

リクエスト本文は次のようになります:

リーリー

これらの aws_s3_bucket_name、aws_region、aws_access_key_id、aws_secret_access_key はすべて .env ファイルに保存されています。ファイルを s3 にアップロードする別のルートがあるため (これはうまく機能します)、正しく設定されていると思います。


正解


あなたのファイルキーはこのURLです:

リーリー

これは、Web ブラウザや CURL などの http クライアントからのみ使用できます。

具体的には、これは有効な s3 オブジェクト キーではありません。 getobject または同様の s3 API を使用する場合は、

agcies/photo/xyz.png などの有効なキーである必要があり、URL エンコードしないでください。

以上がAWS S3 からオブジェクトをメモリにダウンロードし、Go のリクエスト経由で送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。