📜  不支持您提供的授权机制.请使用 AWS4-HMAC-SHA256 - Python (1)

📅  最后修改于: 2023-12-03 15:35:55.169000             🧑  作者: Mango

不支持您提供的授权机制,请使用 AWS4-HMAC-SHA256 - Python

如果您正在使用 AWS SDK for Python,并在进行 API 调用时遇到此错误信息,则表示您的 SDK 正在尝试使用一种 AWS 不支持的授权机制进行 API 调用。AWS 目前支持的 AWS SDK for Python 授权机制是 AWS4-HMAC-SHA256,因此您需要将您的 SDK 配置为使用该授权机制才能进行成功的 API 调用。

解决方法

要解决此问题,您需要将 AWS SDK for Python 配置为使用 AWS4-HMAC-SHA256 授权机制。下面是一个使用此授权机制的示例:

import boto3
from botocore.config import Config

config = Config(
    region_name = 'your-region-name',
    signature_version = 'v4',
    retries = {
        'max_attempts': 10,
        'mode': 'standard'
    }
)

s3 = boto3.client('s3', config=config)

response = s3.list_buckets()

print(response)

请注意,上述示例代码中 config 参数为 botocore.config.Config 类型的实例,用于配置 SDK 的一些运行时属性。其中,signature_version 属性用于指定 AWS SDK 使用的授权机制,默认为 'v4',即 AWS4-HMAC-SHA256。

注意事项
  • 如果您使用的是旧版的 AWS SDK for Python(boto),则需要将其更新为最新版的 boto3。

  • 如果您仍然遇到类似的错误,请检查您的凭证是否正确配置,包括您的访问密钥 ID 和密钥访问密钥是否有效、是否具有所需的权限等。

  • 如果您仍然无法解决此问题,请尝试查看 AWS 文档、使用 AWS 开发者论坛和社区寻求帮助。