Go에서 AWS S3에 사전 서명된 POST 업로드 수행
이 가이드에서는 사전 서명된 POST 수행의 세부 사항을 살펴보겠습니다. -Go를 사용하여 AWS S3 버킷에 서명된 POST 업로드. 이 접근 방식은 PUT과 관련된 보다 일반적인 사전 서명된 업로드 메커니즘과 다릅니다.
전제 조건:
다중 부분 양식 데이터 구성 및 POST 요청:
업로드를 시작하려면 준비하세요. 서명된 정책 문서, 키 및 파일 콘텐츠를 포함하여 정책에 지정된 모든 필드를 포함하는 다중 부분 양식 데이터 요청입니다. 멀티파트 패키지의 CreateFormField 메서드를 사용하여 각 양식 필드를 생성합니다.
코드 예:
다음은 프로세스를 간략하게 설명하는 Go 코드 조각입니다.
func Upload(url string, fields Fields) error { var b bytes.Buffer w := multipart.NewWriter(&b) for _, f := range fields { fw, err := w.CreateFormField(f.Key) if err != nil { return err } if _, err := fw.Write([]byte(f.Value)); err != nil { return err } } w.Close() req, err := http.NewRequest("POST", url, &b) if err != nil { return err } req.Header.Set("Content-Type", w.FormDataContentType()) client := &http.Client{} res, err := client.Do(req) if err != nil { return err } if res.StatusCode != http.StatusOK { err = fmt.Errorf("bad status: %s", res.Status) } return nil }
이 단계를 따르면 사전 서명된 POST를 사용하여 AWS S3 버킷에 파일을 원활하게 업로드할 수 있습니다. Go의 메서드입니다.
위 내용은 Go를 사용하여 AWS S3에 미리 서명된 POST 업로드를 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!