You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Boto3恢复Redshift快照?标识符获取与参数疑问

关于Boto3恢复Redshift快照的问题

问题说明

我尝试用Boto3编程恢复Redshift快照,已经自行设置了Cluster Identifier,但不清楚如何获取快照标识符或ARN(二者选其一即可);同时想确认:除非IAM用户策略里的快照资源元素指定了非*的集群名称,否则除Cluster Identifier外,是不是只需要提供快照标识符/ARN这一个必填参数?

我运行了以下代码,但因缺少快照标识符或ARN报错:

import boto3
redshift = boto3.client('redshift', 
                        region_name='us-west-2',
                        aws_access_key_id=KEY,
                        aws_secret_access_key=SECRET)    
response = redshift.restore_from_cluster_snapshot(
    ClusterIdentifier=DWH_CLUSTER_IDENTIFIER) #from a config file

解决方案

1. 获取快照标识符或ARN

可以通过Boto3的describe_cluster_snapshots方法查询所有可用的Redshift快照,从中提取所需的快照标识符或ARN:

import boto3

redshift = boto3.client('redshift', 
                        region_name='us-west-2',
                        aws_access_key_id=KEY,
                        aws_secret_access_key=SECRET)

# 查询所有快照,可添加过滤条件缩小范围
snapshots = redshift.describe_cluster_snapshots()

# 遍历快照列表提取关键信息
for snapshot in snapshots['Snapshots']:
    print(f"快照标识符: {snapshot['SnapshotIdentifier']}")
    print(f"快照ARN: {snapshot['SnapshotArn']}")
    print(f"关联集群ID: {snapshot['ClusterIdentifier']}")
    print("---")

如果只需要查询特定集群的快照,可添加ClusterIdentifier过滤参数:

snapshots = redshift.describe_cluster_snapshots(ClusterIdentifier="你的原集群ID")

2. 必填参数确认

根据Redshift API规范,restore_from_cluster_snapshot方法的必填参数是ClusterIdentifier(新集群的标识符)和SnapshotIdentifier/SnapshotArn(二选一),这和IAM策略的资源配置无关。IAM策略的资源限制仅控制用户是否有权限操作目标快照,不会改变API本身的必填参数要求。

修正后的代码示例:

import boto3
redshift = boto3.client('redshift', 
                        region_name='us-west-2',
                        aws_access_key_id=KEY,
                        aws_secret_access_key=SECRET)    

response = redshift.restore_from_cluster_snapshot(
    ClusterIdentifier=DWH_CLUSTER_IDENTIFIER,
    SnapshotIdentifier="你的快照标识符"  # 也可以替换为SnapshotArn="你的快照ARN"
)

内容的提问来源于stack exchange,提问作者Dev_Reka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 05:52:33