我正在尝试使用 MinIO。我尝试将 REST API 调用直接发送到 MinIO 端口 9000。到目前为止,我了解到身份验证的工作方式与 Amazon S3 API 身份验证的工作方式相同 - 对吗?不幸的是,我也是 S3 的新手。
这是我的问题:
我在 Windows 10 上进行实验并在 Docker 容器中运行 MinIO。我的实验目标是“ http://localhost:9000/”
到目前为止,我只收到 GET 请求的 403 错误:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied.</Message>
<Resource>/</Resource>
<RequestId>173BACCB19FAF4C4</RequestId>
<HostId>d200d104-da55-44e2-a94d-ce68ee959272</HostId>
</Error>
Run Code Online (Sandbox Code Playgroud)
我通读了 S3 Api 参考“https://docs.aws.amazon.com/pdfs/AmazonS3/latest/API/s3-api.pdf#Type_API_Reference”,但说实话,我迷路了。
有人可以帮我吗?
Ben*_*Vue 14
您需要设置身份验证值。
网址
GET http://localhost:9099/{bucket name}/{file name}
Run Code Online (Sandbox Code Playgroud)
选择Authorization选项卡
选择类型AWS Signature
访问密钥:从 minio UI 复制
密钥:从 minio UI 复制
服务名称:s3
另存为docker-compose.yml
version: "3"
services:
minio-service:
image: minio/minio:latest
volumes:
- ./storage/minio:/data
ports:
- "9000:9000"
- "9099:9099"
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: admin-strong
command: server --address ":9099" --console-address ":9000" /data
restart: always # necessary since it's failing to start sometimes
Run Code Online (Sandbox Code Playgroud)
发射容器
$ docker compose up
Run Code Online (Sandbox Code Playgroud)
网址
http://localhost:9000/
Run Code Online (Sandbox Code Playgroud)
机密已匹配docker-compose.yml
user name : admin
password: admin-strong
Run Code Online (Sandbox Code Playgroud)
curl --location 'http://localhost:9000/api/v1/login' \
--silent \
--header 'Content-Type: application/json' \
--cookie-jar cookies.txt \
--data '{"accessKey":"admin","secretKey":"admin-strong"}
Run Code Online (Sandbox Code Playgroud)
cookies.txt:通过curl 保存登录命令的cookie 文件它将保存下一次curl API 调用的访问令牌。
demo这个curl示例使用cookie获取bucket的内容。
curl --cookie cookies.txt --silent --location 'http://localhost:9000/api/v1/buckets/demo/objects?with_versions=true' | json_pp
Run Code Online (Sandbox Code Playgroud)
详细信息在这里
| 归档时间: |
|
| 查看次数: |
6769 次 |
| 最近记录: |