如何使用包 AWSS3.jl 连接到在 EC2 实例上运行的 S3 存储桶?

2024-01-20

我正在尝试在 AWS 计算集群上使用 Julia,处理来自 Amazon S3 存储桶的数据。

我如何在 Julia 中使用AWSS3.jl打开与 S3 存储桶的连接?

我特别想知道配置连接并随后使用 Julia 的该配置的最佳方法是什么。


  1. 创建具有 S3 访问权限的 AWS 策略(特别是PutObject, GetObject etc.)

  2. 创建面向 EC2 的 IAM 角色并将第一步中的策略添加到该角色

  3. 将 IAM 角色分配给 EC2 实例(或者在为集群创建 EC2 实例时将其配置为在实例配置文件中使用)

  4. 现在您已准备好在 Julia 中完成您的工作。下面是一个简单的示例,它将任何 Julia 对象序列化和反序列化到 S3 存储桶。

using AWS, AWSS3, Serialization
struct SampleData
  a::Int
  b::String
end

d=SampleData(1,"sss")
aws = global_aws_config(; region="us-east-1")
b = IOBuffer()
serialize(b, d)

s3_put(aws, "your-s3-bucket-name","myfile.bin", b.data)

ddat = s3_get(aws, "your-s3-bucket-name","myfile.bin")
d2 = deserialize(IOBuffer(ddat))

@assert d == d2

如果您对第 1-3 点有任何问题,请参阅以下教程:https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-access-s3-bucket/ https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-access-s3-bucket/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用包 AWSS3.jl 连接到在 EC2 实例上运行的 S3 存储桶? 的相关文章

随机推荐