在Go语言中使用AWS S3服务创建文件夹时,可以通过使用IP连接而不是存储桶名+endpoint的连接方式来实现。以下是一个示例代码:

package main

import (
	"fmt"
	"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"
	"log"
)

func main() {
	// 创建AWS S3服务的会话
	sess, err := session.NewSession(&aws.Config{
		Region:      aws.String("us-west-2"),
		Credentials: credentials.NewStaticCredentials("YOUR_ACCESS_KEY_ID", "YOUR_SECRET_ACCESS_KEY", ""),
		Endpoint:    aws.String("http://x.x.x.x"), // 使用IP连接
	})

	if err != nil {
		log.Fatal(err)
	}

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

	// 创建文件夹
	_, err = svc.PutObject(&s3.PutObjectInput{
		Bucket: aws.String("YOUR_BUCKET_NAME"), // 存储桶名称
		Key:    aws.String("folder/"),           // 文件夹路径以斜杠结尾
	})

	if err != nil {
		log.Fatal(err)
	}

	fmt.Println("文件夹创建成功!")
}

请确保按照实际情况将YOUR_ACCESS_KEY_IDYOUR_SECRET_ACCESS_KEYYOUR_BUCKET_NAME替换为您自己的凭证和存储桶名称。同时,将http://x.x.x.x替换为您S3服务的IP地址。

使用以上代码,您将能够在已有的存储桶中通过IP连接的方式创建文件夹。

Go语言AWS S3 使用IP连接创建文件夹 (无需存储桶名+endpoint)

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

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