在 Go 语言中,可以使用New函数来创建 S3 的服务客户端(svc),然后使用PutObject方法上传对象到 S3 存储桶。

以下是使用 Go 语言创建 AWS S3 服务客户端并上传对象的示例代码:

package main

import (
	"fmt"
	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/s3"
	"os"
)

func main() {
	// 创建AWS会话
	sess, err := session.NewSession(&aws.Config{
		Region: aws.String("us-west-2"), // 设置所需的AWS区域
		Endpoint: aws.String("http://<S3_IP>:<S3_PORT>"), // 设置S3的IP和端口
	})
	if err != nil {
		fmt.Println("Failed to create session", err)
		return
	}

	// 创建S3服务客户端
	svc := s3.New(sess)

	// 上传对象到S3存储桶
	_, err = svc.PutObject(&s3.PutObjectInput{
		Bucket: aws.String("<BUCKET_NAME>"), // 设置存储桶名称
		Key:    aws.String("<OBJECT_KEY>"),  // 设置对象键
		Body:   aws.ReadSeekCloser(file),     // 设置对象内容
	})
	if err != nil {
		fmt.Println("Failed to upload object", err)
		return
	}

	fmt.Println("Object uploaded successfully")
}

请将代码中的<S3_IP><S3_PORT><BUCKET_NAME><OBJECT_KEY>替换为实际的值。

Go语言 AWS S3 svc.PutObject 使用IP上传对象

原文地址: https://www.cveoy.top/t/topic/pbNY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录