确认您的 IAM 用户或角色具有将指标数据发布到 CloudWatch 的权限。在 IAM 控制台中检查策略附加到您的用户或角色,以确保包含 cloudwatch:PutMetricData 操作。
在应用程序中使用正确的 AWS 凭证。您可以在代码中指定适当的访问密钥 ID 和 secret access key,或通过配置 AWS CLI 或 SDK 配置文件使用正确的身份验证凭据。例如:
import boto3
from botocore.exceptions import NoCredentialsError
ACCESS_KEY = 'your_access_key'
SECRET_KEY = 'your_secret_key'
kinesis_client = boto3.client('kinesis', aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY)
# put records to Kinesis stream
kinesis_client.put_records(Records=records, StreamName=stream_name)
import boto3
# create CloudWatch client
cloudwatch_client = boto3.client('cloudwatch')
# put custom metric data
response = cloudwatch_client.put_metric_data(
Namespace='YourCloudWatchNamespace',
MetricData=[
{
'MetricName': 'YourCustomMetric',
'Value': 1.0,
'Unit': 'Count'
},
]
)
请注意,以上代码示例中的 AWS 访问密钥 ID 和 secret access key 应该是从有效的 AWS IAM 用户或角色中获取的,并且 CloudWatch 命名空间和指标名称应该与您在 AWS 控制台中配置的相匹配。