我正在尝试使用 MinIO。我尝试将 REST API 调用直接发送到 MinIO 端口 9000。到目前为止,我了解到身份验证的工作方式与 Amazon S3 API 身份验证的工作方式相同 - 对吗?不幸的是,我也是 S3 的新手。
这是我的问题:
- MinIO 的请求标头是什么样的?
- 我读到我还需要一个需要以某种方式计算的签名。这个计算是如何进行的?
我在 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>
我通读了 S3 Api 参考“https://docs.aws.amazon.com/pdfs/AmazonS3/latest/API/s3-api.pdf#Type_API_Reference”,但说实话,我迷路了。
有人可以帮我吗?
您需要设置身份验证值。
URL
GET http://localhost:9099/{bucket name}/{file name}
Select Authorization
tab
选择类型AWS Signature
访问密钥:从 minio UI 复制
密钥:从 minio UI 复制
服务名称:s3
邮递员访问
迷你浏览器
创建密钥
访问密钥/秘密密钥
本地 docker 撰写文件
save as 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
发射容器
$ docker compose up
URL
http://localhost:9000/
机密已匹配docker-compose.yml
user name : admin
password: admin-strong
卷曲访问
curl --location 'http://localhost:9000/api/v1/login' \
--silent \
--header 'Content-Type: application/json' \
--cookie-jar cookies.txt \
--data '{"accessKey":"admin","secretKey":"admin-strong"}
cookies.txt
:通过curl登录命令保存cookie文件
它将保存下一次curl API 调用的访问令牌。
这个curl示例获取内容demo
桶与饼干。
curl --cookie cookies.txt --silent --location 'http://localhost:9000/api/v1/buckets/demo/objects?with_versions=true' | json_pp
详细信息在here https://stackoverflow.com/questions/76787003/restore-version-of-file-with-minio-js/76824907#76824907
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)