一千萬個為什麽

搜索

Aurora快照的跨區域副本



current_date = str(dt.now().strftime('%Y-%m-%d'))
target_cluster_snapshot_arn= current_date+'_Development_Aurora'

response = TARGET_CLIENT.copy_db_cluster_snapshot(
    SourceDBClusterSnapshotIdentifier=source_cluster_snapshot_arn,
    TargetDBClusterSnapshotIdentifier=target_cluster_snapshot_arn,
    KmsKeyId='arn:aws:kms:us-west-2:xxxxxxx:key/axxxxxx-e326-4df2-8274-73f87ff02f37',
    CopyTags=True,
    Tags=[
        {
            'Key': 'Deletion_Date',
            'Value': (dt.now() + datetime.timedelta(days=30)).strftime('%Y-%m-%d')
        },
    ],
    SourceRegion=SOURCE_REGION
)

在Python中使用上面的代碼我得到錯誤

botocore.exceptions.ClientError: An error occurred (InvalidParameterValue) when calling the CopyDBClusterSnapshot operation: Invalid cluster snapshot identifier:  2018-05-22_Development_Aurora

但是當我在下面對TargerDBClusterSnapshotIdnetifier中的值進行硬編碼時,它的工作正常

response = TARGET_CLIENT.copy_db_cluster_snapshot(
    SourceDBClusterSnapshotIdentifier=source_cluster_snapshot_arn,
    TargetDBClusterSnapshotIdentifier='PrashastTest',
    KmsKeyId='arn:aws:kms:us-west-2:xxxxxxx:key/xxxxxxb3-e326-4df2-8274-73f87ff02f37',
    CopyTags=True,
    Tags=[
        {
            'Key': 'Deletion_Date',
            'Value': (dt.now() + datetime.timedelta(days=30)).strftime('%Y-%m-%d')
        },
    ],
    SourceRegion=SOURCE_REGION
)

任何指針為什麽會發生這種情況?

轉載註明原文: Aurora快照的跨區域副本

一共有 1 個回答:

您提出的snapshot-id在語法上無效。當您嘗試對值進行硬編碼時,您使用了有效的標識符。

不允許使用下劃線,標識符不能以數字開頭。

以下是API參考中對快照標識符的限制:

<�強> <�代碼> DBClusterSnapshotIdentifier </代碼> </強>

     

數據庫集群快照的標識符。此參數存儲為小寫字符串。

     

約束:

     
      
  • 必須包含1到63個字母,數字或連字符。

  •   
  • 第一個字必須是一個字母。

  •   
  • 不能以連字符結尾或包含兩個連續的連字符。

  •   
     

https://docs.aws.amazon.com/AmazonRDS /latest/APIReference/API_CreateDBClusterSnapshot.html