참고: 자격 증명의 config 필드가 제공되지 않으면 환경 변수, ~/.aws/credentials 또는 EC2 인스턴스 역할에서 자격 증명을 사용합니다. 자격 증명의 config 필드가 제공되면 config에서 자격 증명을 사용합니다. 자세한 내용은 자격 증명 지정을 참조하세요.
참고: Go 1.19 이상이 필요합니다.
Table of Contents
Signatures
Installation
Examples
Config
Default Config
Signatures
func New(config ...Config) Storage
func (s *Storage) Get(key string) ([]byte, error)
func (s *Storage) Set(key string, val []byte, exp time.Duration) error
func (s *Storage) Delete(key string) error
func (s *Storage) Reset() error
func (s *Storage) Close() error
func (s *Storage) Conn() *s3.Client
// 유용한 추가 메서드
func (s *Storage) CreateBucket(bucket string) error
func (s *Storage) DeleteBucket(bucket string) error
func (s *Storage) SetWithChecksum(key string, val []byte, checksum map[types.ChecksumAlgorithm][]byte) error
Installation
S3는 모듈을 지원하는 최신 Go 버전 2개에서 테스트되었습니다. 아직 모듈을 초기화하지 않았다면 다음과 같이 먼저 초기화해야 합니다:
go mod init github.com/<user>/<repo>
그런 다음 s3 구현을 설치합니다:
go get github.com/gofiber/storage/s3/v2
Examples
스토리지 패키지를 가져옵니다.
import "github.com/gofiber/storage/s3/v2"
다음과 같은 방법으로 스토리지를 생성할 수 있습니다:
// 기본 config 초기화
store := s3.New()
// 사용자 정의 config 초기화
store := s3.New(s3.Config{
Bucket: "my-bucket-url",
Endpoint: "my-endpoint",
Region: "my-region",
Reset: false,
})
Set()을 사용하여 객체를 생성합니다:
err := store.Set("my-key", []byte("my-value"))
또는 SetWithChecksum()을 호출하여 서버 측에서 데이터 무결성을 확인하도록 S3 서버에 요청하는 체크섬과 함께 객체를 생성할 수 있습니다:
// Config는 스토리지에 대한 config를 정의합니다.
type Config struct {
// S3 버킷 이름
Bucket string
// AWS 엔드포인트
Endpoint string
// AWS 리전
Region string
// 요청 시간 초과
//
// 선택 사항. 기본값은 0(시간 초과 없음)
RequestTimeout time.Duration
// Reset은 기존 Bucket에 있는 기존 키를 모두 지웁니다.
//
// 선택 사항. 기본값은 false
Reset bool
// Credentials는 AWS 액세스 키와 AWS 비밀 액세스 키를 재정의합니다. 권장하지 않습니다.
//
// 선택 사항. 기본값은 Credentials{}
Credentials Credentials
// 재시도 가능한 실패가 발생한 요청을 시도해야 하는 최대 횟수.
//
// 선택 사항. 기본값은 3
MaxAttempts int
}
type Credentials struct {
AccessKey string
SecretAccessKey string
}
Default Config
기본 구성에는 필수이며 덮어써야 하는 Bucket, Region 및 Endpoint가 없습니다: