AWS SDK Go

使用 AWS 官方 SDK aws-sdk-go

package main

import (
    "strings"

    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/credentials"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/s3"
)

const (
    s3endpoint = "https://api-s3.qiniu.com"
    s3region   = "cn-east-1"
    s3bucket   = "<your-qiniu-bucket>"
)

func main() {
    s3provider := credentials.StaticProvider{
        Value: credentials.Value{"<your-qiniu-access-key-id>", "<your-qiniu-access-key-secret>", ""},
    }
    s3credential := credentials.NewCredentials(&s3provider)

    s3payload := &s3.PutObjectInput{
        Bucket:      aws.String(s3bucket),
        Key:         aws.String("s3.txt"),
        ContentType: aws.String("text/plain"),
        Body:        strings.NewReader("Hello, world!"),
    }

    s3session := session.New()
    s3session.Config.WithEndpoint(s3endpoint)
    s3session.Config.WithRegion(s3region)
    s3session.Config.WithCredentials(s3credential)
    s3session.Config.WithMaxRetries(1)
    s3session.Config.WithS3ForcePathStyle(true)

    s3service := s3.New(s3session, nil)

    s3response, s3err := s3service.PutObject(s3payload)
    if s3err != nil {
        panic(s3err.Error())
    }

    println(s3response.String())
}

results matching ""

    No results matching ""