首页 > 其他分享 >通过S3使用Minio

通过S3使用Minio

时间:2024-07-19 14:45:43浏览次数:6  
标签:minio S3 aws s3 使用 arn Minio

通过S3使用Minio

Minio是一种开源的对象存储系统,提供了简单易用的存储解决方案。由于minio使用了S3兼容的API, 所以可以直接通过aws s3的sdk进行接入。

以下, 是基于golang的代码示例, 只在于初始化aws配置时的参数略有区分, 其他操作和功能暂未发现差异, 此处不再单独列举。

// gen aws config for minio
func (m *Minio) config() *aws.Config {
	conf := &aws.Config{
		Credentials: credentials.NewStaticCredentials(m.Credentials.AccessKeyId, m.Credentials.AccessKeySecret, ""),
		Region:      aws.String(m.Region),
		S3ForcePathStyle: aws.Bool(true),
		Endpoint:         aws.String(m.Endpoint),
	}
	if m.Debug {
		conf.LogLevel = aws.LogLevel(aws.LogDebugWithHTTPBody)
	}
	return conf
}

注意以上代码, 和对接s3官方的区别在于:

  • 将minio的api地址, 设置为aws中的Endpoint​。
  • S3ForcePathStyle​需要设置为true​. 因为s3官方访问资源时, 会将region​作为子域名部分, 通过设置此项参数, 可以按照设定的Endpoint​来访问资源。
  • 关于arn, 可以直接使用arn:aws:s3:::{bucket}/*​, 例如arn:aws:s3:::cs-dev/*

在minio中创建用户

登录到minio管理后台后, 我们先创建一个存储桶

  • 菜单栏 Administrator > Buckets, 右侧"Create Bucket"按钮.

image

创建一个存储桶对应的策略配置

  • 菜单栏 Administrator > Polices, 右侧"Create Policy"按钮.

  • 键入策略名称, 复制以下策略配置,保存

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "sts-cs-dev",
                "Effect": "Allow",
                "Action": [
                    "s3:*"
                ],
                "Resource": [
                    "arn:aws:s3:::cs-dev/*"
                ]
            }
        ]
    }
    

image

创建一个sts用户, 此用户将是我们在程序中使用的主账户

  • 菜单栏 Administrator > Identify > Users, 右侧"Create User"按钮.
  • 键入用户名称和密码, 选择刚才创建的策略配置,保存

在开发中, 使用刚才创建的用户名称作为AccessKeyId​, 用户密码作为AccessKeySecret

image

标签:minio,S3,aws,s3,使用,arn,Minio
From: https://www.cnblogs.com/coolewang/p/18311401/use-minio-via-s3-w5ghv

相关文章

  • CSS3案例--制作服装软文推广
    效果图:先使用通配符消除样式:字体倾斜效果使用font-style:italic;导入自定义字体样式:其中font-family属性值为自定义名src属性值存放字体样式所在位置 补充知识点:1.后代选择器表示方法:父选择器与后代选择器用空格隔开,或者用>隔开2.并集选择器表示方法:选择器之间用","隔开3.......
  • .NET单元测试使用AutoFixture按需填充属性的几种方式,以及最佳实践
    AutoFixture是一个.NET库,旨在简化单元测试中的数据设置过程。通过自动生成测试数据,它帮助开发者减少测试代码的编写量,使得单元测试更加简洁、易读和易维护。AutoFixture可以用于任何.NET测试框架,如xUnit、NUnit或MSTest。默认情况下AutoFixture生成的字段值很多时候都满足不了测......
  • 使用 useLazyAsyncData 提升数据加载体验
    title:使用useLazyAsyncData提升数据加载体验date:2024/7/19updated:2024/7/19author:cmdragonexcerpt:摘要:本文介绍useLazyAsyncData函数在Nuxt3中的使用,以提升数据加载体验。此函数支持异步获取数据并在组件中处理挂起与错误状态,通过pending、error和data属性实......
  • Spring AI(使用Ollama大模型进行AI验证)
    接上篇:SpringAI(大模型工具Ollama介绍)1、Ollama大模型代码验证pom.xml引入jar<!--spring-ai-ollama的starter依赖,启动依赖--><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama-......
  • postman断言使用
    Postman使用1)基础篇1.常规断言-断言testsTests为执行断言后的测试结果tests["Bodymatchesstring"]=responseBody.has("2018-05-15");测试返回的状态码tests["Statuscodeis200"]=responseCode.code===200;测试返回的状态信息测试响应时间是否低于200ms检查响应body中等......
  • python之初识函数(函数的使用、可变长度参数*args和**kwargs、return的作用),了解函数的
    文章目录前言1、函数1.1函数的本质1.2定义函数1.3调用函数1.4深入解析函数1.5定义函数的完整语法1.5.1参数1.5.1.1参数的分类(位置、默认、关键字、可变长度)1.5.1.2参数的书写顺序1.5.2关键字:return前言本篇文章的目的是带领大家从零开始认识函数,作为函数......
  • 如何从节点js使用AWS s3实施AWS Media Convert?
    我正在构建一个应用程序,用户可以在其中上传和观看视频。我将视频以.mp4容器格式存储在S3中,但是,我想将视频转换为m3u8格式以进行自适应流式传输。我发现有一个名为“AmazonMediaConvert”的东西(https://docs.aws.amazon.com/mediaconvert/index.html)可以......
  • ActiViz实战:使用vtkStreamTracer生成流线
    文章目录1、vtkStreamTracer流线2、实例效果:3、代码实现1、vtkStreamTracer流线  vtkStreamTracer是VisualizationToolkit(VTK)中的一个类,用于在流场数据中生成流线。VTK是一个开源软件系统,用于三维计算机图形学、图像处理和可视化。它广泛应用于科学......
  • Go Context的使用详解
    GoContext的使用在Gohttp包的Server中,每一个请求在都有一个对应的goroutine去处理。请求处理函数通常会启动额外的goroutine用来访问后端服务,比如数据库和RPC服务。用来处理一个请求的goroutine通常需要访问一些与请求特定的数据,比如终端用户的身份认证信息、验证......
  • 使用Pytorch中从头实现去噪扩散概率模型(DDPM)
    扩散模型通常是一种生成式深度学习模型,它通过学习去噪过程来创建数据。扩散模型有许多变体,其中最流行的是条件文本模型,能够根据提示生成特定的图像。某些扩散模型(如Control-Net)甚至能将图像与某些艺术风格融合。在本文中,我们将构建基础的无条件扩散模型,即去噪扩散概率模型(DDPM)。......