【问题标题】:How to use the package AWSS3.jl to connect to an S3 bucket running on an EC2 instance?如何使用包 AWSS3.jl 连接到在 EC2 实例上运行的 S3 存储桶?
【发布时间】:2021-06-02 13:24:01
【问题描述】:

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

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

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

【问题讨论】:

  • ...粗略。我感觉 aws cli 没有安装所以你正在安装包来破解

标签: amazon-web-services amazon-s3 julia


【解决方案1】:
  1. 创建具有 S3 访问权限的 AWS 策略(特别是 PutObjectGetObject 等)

  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/

【讨论】:

  • 非常感谢,事实上,对于其他人来说,我正在使用由于某些原因无法正常工作的函数,例如 s3_list_buckets。希望这对其他人有帮助
猜你喜欢
  • 2017-06-25
  • 2016-07-23
  • 2019-09-29
  • 1970-01-01
  • 1970-01-01
  • 2016-05-18
  • 1970-01-01
  • 1970-01-01
  • 2016-01-22
相关资源
最近更新 更多