1

我正在尝试在 Ceph 中创建一个主题,以便在将对象上传到存储桶时接收通知。

当我在没有任何 AWS 凭证的情况下(作为匿名用户)调用 CreateTopic 端点​​时,调用成功。

但是,为了接收有关主题的通知,主题和存储桶必须具有相同的所有者。因此,我需要将主题创建为具有凭据的经过身份验证的用户。但是,为 AWS 授权标头使用不同的服务名称时,我会收到SignatureDoesNotMatch错误或NotImplemented错误消息。我认为该NotImplemented错误是不准确的,因为在没有传递凭据时端点似乎正在运行。

我应该如何授权此请求以用户身份创建主题?

我正在使用 Insomnia REST 客户端和 Ceph 14.2.5。

CreateTopic 请求使用的参数

当服务为 s3 时,导致 NotImplemented 错误

当服务是 sns(或任何其他字符串,包括空白字符串)时,会导致 SignatureDoesNotMatch 错误

禁用身份验证时,请求成功

4

1 回答 1

0

我的问题是我正在尝试 AWS V2 和 V4 身份验证,但您需要将此端点与 V3 一起使用。

邮件列表中的某个人向我指出了如何使用 Python 执行此操作的示例:https ://github.com/ceph/ceph/blob/master/examples/boto3/topic_with_endpoint.py

于 2020-05-16T01:31:54.533 回答