>백엔드 개발 >Golang >AWS S3의 객체를 메모리로 다운로드하고 Go에서 요청을 통해 보내는 방법은 무엇입니까?

AWS S3의 객체를 메모리로 다운로드하고 Go에서 요청을 통해 보내는 방법은 무엇입니까?

WBOY
WBOY앞으로
2024-02-08 20:51:09867검색

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

질문 내용

s3에서 파일을 다운로드하려고 할 때 나타나는 이 오류를 해결하도록 도와줄 수 있는 사람이 있나요?

그래서 go gin을 통해 스토리지 서비스 API를 생성하고 s3 객체 키를 사용하여 객체를 다운로드한 다음 이 객체를 클라이언트로 다시 보내는 경로를 원합니다.

으아악 으아악

위 코드에서 다음 오류가 발생합니다. 작업 오류 s3: getobject, https 응답 오류 상태 코드: 403, 요청 ID: 8khyw3rcs2za7d95, 호스트 ID: kolo+gy/dtzrrovswsb1bxinln8w+xdl0lnmysuwjnhupmbvk4itdfp+mq2xuo8ehasnx/fai4i=, api 오류 액세스 거부: 액세스 거부 phpcnendc 씨앤

요청 내용은 다음과 같습니다.

으아악

이 모든 aws_s3_bucket_name, aws_region, aws_access_key_id, aws_secret_access_key가 .env 파일에 저장되어 있고 s3에 파일을 업로드하는 다른 경로가 있기 때문에 올바르게 설정한 것 같습니다(훌륭하게 작동함).


정답


파일 키는 다음 URL입니다:

으아악

웹 브라우저나 컬과 같은 http 클라이언트에서만 사용할 수 있습니다.

구체적으로 말하면 유효한 s3 객체 키가 아닙니다. getobject 또는 유사한 s3 API를 사용하는 경우 agcies/photo/xyz.pngagcies/photo/xyz.png와 같은 유효한 키여야 하며 URL로 인코딩되어서는 안 됩니다.

위 내용은 AWS S3의 객체를 메모리로 다운로드하고 Go에서 요청을 통해 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제