我正试图为可用于数字海洋空间的长生不老药找到aws客户端。 我尝试了aws-elixir(因为它允许使用不同的端点),但是我找不到执行S3操作的方法。
我问
答案 0 :(得分:3)
mix.exs
文件中添加以下依赖项:
defp deps() do
[
{:ex_aws, "~> 2.0"},
{:ex_aws_s3, "~> 2.0"},
{:poison, "~> 3.0"},
{:hackney, "~> 1.9"},
{:sweet_xml, "~> 0.6"},
]
end
请注意,ex_aws
和ex_aws_s3
都需要添加到依赖项中。 hackney
是HTTP客户端,poison
用于JSON解析,sweet_xml
用于XML解析。
现在添加了依赖关系,接下来需要配置S3以连接到DigitalOcean空间。
在您的config.exs文件中输入以下内容:
config :ex_aws, :s3,
%{
access_key_id: "access key",
secret_access_key: "secret key",
scheme: "https://",
host: %{"sfo2" => "your-space-name.sfo2.digitaloceanspaces.com"},
region: "sfo2"
}
"access key"
和"secret key"
需要替换为从DigitalOcean获得的实际密钥。
请确保将"sfo2"
替换为您正在使用的实际Spaces区域。当然,请输入您的实际空间名称而不是your-space-name
。
别忘了运行mix deps.get
,一切就绪。
您可以通过运行iex
,然后键入以下内容来启动iex -S mix
会话并验证所有文件是否正常工作:
ExAws.S3.list_objects("bucket") |> ExAws.request!