Amazon Redshift 示例使用 AWS CLI - AWS Command Line Interface

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon Redshift 示例使用 AWS CLI

下列程式碼範例說明如何透過 AWS Command Line Interface 搭配 Amazon Redshift 使用來執行動作和實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境和跨服務範例中查看內容中的動作。

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

每個範例都包含一個連結 GitHub,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例會示範如何使用accept-reserved-node-exchange

AWS CLI

若要接受保留的節點交換

下列accept-reserved-node-exchange範例接受 DC1 保留節點的 DC1 保留節點交換給 DC2 保留的節點。

aws redshift accept-reserved-node-exchange / --reserved-node-id 12345678-12ab-12a1-1a2a-12ab-12a12EXAMPLE / --target-reserved-node-offering-id 12345678-12ab-12a1-1a2a-12ab-12a12EXAMPLE

輸出:

{ "ExchangedReservedNode": { "ReservedNodeId": "12345678-12ab-12a1-1a2a-12ab-12a12EXAMPLE", "ReservedNodeOfferingId": "12345678-12ab-12a1-1a2a-12ab-12a12EXAMPLE", "NodeType": "dc2.large", "StartTime": "2019-12-06T21:17:26Z", "Duration": 31536000, "FixedPrice": 0.0, "UsagePrice": 0.0, "CurrencyCode": "USD", "NodeCount": 1, "State": "exchanging", "OfferingType": "All Upfront", "RecurringCharges": [ { "RecurringChargeAmount": 0.0, "RecurringChargeFrequency": "Hourly" } ], "ReservedNodeOfferingType": "Regular" } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的使用 AWS CLI 升級保留節點

下列程式碼範例會示範如何使用authorize-cluster-security-group-ingress

AWS CLI

授權 EC2 安全 GroupThis 範例的存取權授權存取指定的 Amazon EC2 安全群組。命令:

aws redshift authorize-cluster-security-group-ingress --cluster-security-group-name mysecuritygroup --ec2-security-group-name myec2securitygroup --ec2-security-group-owner-id 123445677890

授權 CIDR 範圍的存取此範例授權 CIDR 範圍的存取權。命令:

aws redshift authorize-cluster-security-group-ingress --cluster-security-group-name mysecuritygroup --cidrip 192.168.100.100/32

下列程式碼範例會示範如何使用authorize-snapshot-access

AWS CLI

授權 AWS 帳戶以還原一個 SnapshotThis 範例授權 AWS 帳戶444455556666還原快照my-snapshot-id。默認情況下,輸出為 JSON 格式。命令:

aws redshift authorize-snapshot-access --snapshot-id my-snapshot-id --account-with-restore-access 444455556666

結果:

{ "Snapshot": { "Status": "available", "SnapshotCreateTime": "2013-07-17T22:04:18.947Z", "EstimatedSecondsToCompletion": 0, "AvailabilityZone": "us-east-1a", "ClusterVersion": "1.0", "MasterUsername": "adminuser", "Encrypted": false, "OwnerAccount": "111122223333", "BackupProgressInMegabytes": 11.0, "ElapsedTimeInSeconds": 0, "DBName": "dev", "CurrentBackupRateInMegabytesPerSecond: 0.1534, "ClusterCreateTime": "2013-01-22T21:59:29.559Z", "ActualIncrementalBackupSizeInMegabytes"; 11.0, "SnapshotType": "manual", "NodeType": "dw.hs1.xlarge", "ClusterIdentifier": "mycluster", "TotalBackupSizeInMegabytes": 20.0, "Port": 5439, "NumberOfNodes": 2, "SnapshotIdentifier": "my-snapshot-id" } }

下列程式碼範例會示範如何使用batch-delete-cluster-snapshots

AWS CLI

刪除一組叢集快照

下列batch-delete-cluster-snapshots範例會刪除一組手動叢集快照。

aws redshift batch-delete-cluster-snapshots \ --identifiers SnapshotIdentifier=mycluster-2019-11-06-14-12 SnapshotIdentifier=mycluster-2019-11-06-14-20

輸出:

{ "Resources": [ "mycluster-2019-11-06-14-12", "mycluster-2019-11-06-14-20" ] }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的 Amazon Redshift 快照

下列程式碼範例會示範如何使用batch-modify-cluster-snapshots

AWS CLI

修改一組叢集快照

下列batch-modify-cluster-snapshots範例會修改一組叢集快照的設定。

aws redshift batch-modify-cluster-snapshots \ --snapshot-identifier-list mycluster-2019-11-06-16-31 mycluster-2019-11-06-16-32 \ --manual-snapshot-retention-period 30

輸出:

{ "Resources": [ "mycluster-2019-11-06-16-31", "mycluster-2019-11-06-16-32" ], "Errors": [], "ResponseMetadata": { "RequestId": "12345678-12ab-12a1-1a2a-12ab-12a12EXAMPLE", "HTTPStatusCode": 200, "HTTPHeaders": { "x-amzn-requestid": "12345678-12ab-12a1-1a2a-12ab-12a12EXAMPLE, "content-type": "text/xml", "content-length": "480", "date": "Sat, 07 Dec 2019 00:36:09 GMT", "connection": "keep-alive" }, "RetryAttempts": 0 } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的 Amazon Redshift 快照

下列程式碼範例會示範如何使用cancel-resize

AWS CLI

若要取消調整叢集的大小

下列cancel-resize範例會取消叢集的傳統調整大小作業。

aws redshift cancel-resize \ --cluster-identifier mycluster

輸出:

{ "TargetNodeType": "dc2.large", "TargetNumberOfNodes": 2, "TargetClusterType": "multi-node", "Status": "CANCELLING", "ResizeType": "ClassicResize", "TargetEncryptionType": "NONE" }

如需詳細資訊,請參閱亞 Amazon Redshift 叢集管理指南中的調整叢集大小。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CancelResize中的。

下列程式碼範例會示範如何使用copy-cluster-snapshot

AWS CLI

取得所有叢集的說明 VersionsThis 範例會傳回所有叢集版本的說明。默認情況下,輸出為 JSON 格式。命令:

aws redshift copy-cluster-snapshot --source-snapshot-identifier cm:examplecluster-2013-01-22-19-27-58 --target-snapshot-identifier my-saved-snapshot-copy

結果:

{ "Snapshot": { "Status": "available", "SnapshotCreateTime": "2013-01-22T19:27:58.931Z", "AvailabilityZone": "us-east-1c", "ClusterVersion": "1.0", "MasterUsername": "adminuser", "DBName": "dev", "ClusterCreateTime": "2013-01-22T19:23:59.368Z", "SnapshotType": "manual", "NodeType": "dw.hs1.xlarge", "ClusterIdentifier": "examplecluster", "Port": 5439, "NumberOfNodes": "2", "SnapshotIdentifier": "my-saved-snapshot-copy" }, "ResponseMetadata": { "RequestId": "3b279691-64e3-11e2-bec0-17624ad140dd" } }

下列程式碼範例會示範如何使用create-cluster-parameter-group

AWS CLI

建立叢集參數 GroupThis 範例會建立新的叢集參數群組。指令:

aws redshift create-cluster-parameter-group --parameter-group-name myclusterparametergroup --parameter-group-family redshift-1.0 --description "My first cluster parameter group"

結果:

{ "ClusterParameterGroup": { "ParameterGroupFamily": "redshift-1.0", "Description": "My first cluster parameter group", "ParameterGroupName": "myclusterparametergroup" }, "ResponseMetadata": { "RequestId": "739448f0-64cc-11e2-8f7d-3b939af52818" } }

下列程式碼範例會示範如何使用create-cluster-security-group

AWS CLI

建立叢集安全性 GroupThis 範例會建立新的叢集安全性群組。默認情況下,輸出為 JSON 格式。命令:

aws redshift create-cluster-security-group --cluster-security-group-name mysecuritygroup --description "This is my cluster security group"

結果:

{ "create_cluster_security_group_response": { "create_cluster_security_group_result": { "cluster_security_group": { "description": "This is my cluster security group", "owner_id": "300454760768", "cluster_security_group_name": "mysecuritygroup", "ec2_security_groups": \[], "ip_ranges": \[] } }, "response_metadata": { "request_id": "5df486a0-343a-11e2-b0d8-d15d0ef48549" } } }

您也可以使用--output text選項以文字格式取得相同的資訊。指令:

--output text選項。命令:

選項。命令:

aws redshift create-cluster-security-group --cluster-security-group-name mysecuritygroup --description "This is my cluster security group" --output text

結果:

This is my cluster security group 300454760768 mysecuritygroup a0c0bfab-343a-11e2-95d2-c3dc9fe8ab57

下列程式碼範例會示範如何使用create-cluster-snapshot

AWS CLI

建立叢集 SnapshotThis 範例會建立新的叢集快照。默認情況下,輸出為 JSON 格式。命令:

aws redshift create-cluster-snapshot --cluster-identifier mycluster --snapshot-identifier my-snapshot-id

結果:

{ "Snapshot": { "Status": "creating", "SnapshotCreateTime": "2013-01-22T22:20:33.548Z", "AvailabilityZone": "us-east-1a", "ClusterVersion": "1.0", "MasterUsername": "adminuser", "DBName": "dev", "ClusterCreateTime": "2013-01-22T21:59:29.559Z", "SnapshotType": "manual", "NodeType": "dw.hs1.xlarge", "ClusterIdentifier": "mycluster", "Port": 5439, "NumberOfNodes": "2", "SnapshotIdentifier": "my-snapshot-id" }, "ResponseMetadata": { "RequestId": "f024d1a5-64e1-11e2-88c5-53eb05787dfb" } }

下列程式碼範例會示範如何使用create-cluster-subnet-group

AWS CLI

建立叢集子網路 GroupThis 範例會建立新的叢集子網路群組。指令:

aws redshift create-cluster-subnet-group --cluster-subnet-group-name mysubnetgroup --description "My subnet group" --subnet-ids subnet-763fdd1c

結果:

{ "ClusterSubnetGroup": { "Subnets": [ { "SubnetStatus": "Active", "SubnetIdentifier": "subnet-763fdd1c", "SubnetAvailabilityZone": { "Name": "us-east-1a" } } ], "VpcId": "vpc-7e3fdd14", "SubnetGroupStatus": "Complete", "Description": "My subnet group", "ClusterSubnetGroupName": "mysubnetgroup" }, "ResponseMetadata": { "RequestId": "500b8ce2-698f-11e2-9790-fd67517fb6fd" } }

下列程式碼範例會示範如何使用create-cluster

AWS CLI

以最小的 ParametersThis 範例建立叢集會建立具有最少組參數的叢集。默認情況下,輸出為 JSON 格式。命令:

aws redshift create-cluster --node-type dw.hs1.xlarge --number-of-nodes 2 --master-username adminuser --master-user-password TopSecret1 --cluster-identifier mycluster

結果:

{ "Cluster": { "NodeType": "dw.hs1.xlarge", "ClusterVersion": "1.0", "PubliclyAccessible": "true", "MasterUsername": "adminuser", "ClusterParameterGroups": [ { "ParameterApplyStatus": "in-sync", "ParameterGroupName": "default.redshift-1.0" } ], "ClusterSecurityGroups": [ { "Status": "active", "ClusterSecurityGroupName": "default" } ], "AllowVersionUpgrade": true, "VpcSecurityGroups": \[], "PreferredMaintenanceWindow": "sat:03:30-sat:04:00", "AutomatedSnapshotRetentionPeriod": 1, "ClusterStatus": "creating", "ClusterIdentifier": "mycluster", "DBName": "dev", "NumberOfNodes": 2, "PendingModifiedValues": { "MasterUserPassword": "\****" } }, "ResponseMetadata": { "RequestId": "7cf4bcfc-64dd-11e2-bea9-49e0ce183f07" } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreateCluster中的。

下列程式碼範例會示範如何使用create-event-subscription

AWS CLI

若要建立事件的通知訂閱

下列create-event-subscription範例會建立事件通知訂閱。

aws redshift create-event-subscription \ --subscription-name mysubscription \ --sns-topic-arn arn:aws:sns:us-west-2:123456789012:MySNStopic \ --source-type cluster \ --source-ids mycluster

輸出:

{ "EventSubscription": { "CustomerAwsId": "123456789012", "CustSubscriptionId": "mysubscription", "SnsTopicArn": "arn:aws:sns:us-west-2:123456789012:MySNStopic", "Status": "active", "SubscriptionCreationTime": "2019-12-09T20:05:19.365Z", "SourceType": "cluster", "SourceIdsList": [ "mycluster" ], "EventCategoriesList": [], "Severity": "INFO", "Enabled": true, "Tags": [] } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的訂閱 Amazon Redshift 事件通知

下列程式碼範例會示範如何使用create-hsm-client-certificate

AWS CLI

建立 HSM 用戶端憑證

下列create-hsm-client-certificate範例會產生叢集可用來連線至 HSM 的 HSM 用戶端憑證。

aws redshift create-hsm-client-certificate \ --hsm-client-certificate-identifier myhsmclientcert

輸出:

{ "HsmClientCertificate": { "HsmClientCertificateIdentifier": "myhsmclientcert", "HsmClientCertificatePublicKey": "-----BEGIN CERTIFICATE----- MIICiEXAMPLECQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTEXAMPLEwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSBDb25EXAMPLEIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb2EXAMPLETEwNDI1MjA0NTIxWhcN MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBEXAMPLEMRAwDgYD EXAMPLETZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z b2xlMRIwEAEXAMPLEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt YXpvbi5jb20wgZ8wDQYJKEXAMPLEAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk6EXAMPLE3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugEXAMPLEzZswY6786m86gpE Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEEXAMPLEEAtCu4 nUhVVxYUEXAMPLEh8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GEXAMPLEl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvw3rEXAMPLE=-----END CERTIFICATE-----\n", "Tags": [] } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的 Amazon Redshift API 許可參考

下列程式碼範例會示範如何使用create-hsm-configuration

AWS CLI

若要建立 HSM 組態

下列create-hsm-configuration範例會建立指定的 HSM 組態,其中包含叢集在硬體安全性模組 (HSM) 中儲存和使用資料庫加密金鑰所需的資訊。

aws redshift create-hsm-configuration / --hsm-configuration-identifier myhsmconnection --description "My HSM connection" --hsm-ip-address 192.0.2.09 --hsm-partition-name myhsmpartition / --hsm-partition-password A1b2c3d4 / --hsm-server-public-certificate myhsmclientcert

輸出:

{ "HsmConfiguration": { "HsmConfigurationIdentifier": "myhsmconnection", "Description": "My HSM connection", "HsmIpAddress": "192.0.2.09", "HsmPartitionName": "myhsmpartition", "Tags": [] } }

下列程式碼範例會示範如何使用create-snapshot-copy-grant

AWS CLI

建立快照副本授權

下列create-snapshot-copy-grant範例會建立快照副本授與,並加密目的地 AWS 區域中複製的快照。

aws redshift create-snapshot-copy-grant \ --snapshot-copy-grant-name mysnapshotcopygrantname

輸出:

{ "SnapshotCopyGrant": { "SnapshotCopyGrantName": "mysnapshotcopygrantname", "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/bPxRfih3yCo8nvbEXAMPLEKEY", "Tags": [] } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的 Amazon Redshift 資料庫加密

下列程式碼範例會示範如何使用create-snapshot-schedule

AWS CLI

建立快照排程

下列create-snapshot-schedule範例會以指定的說明和每 12 小時的速率建立快照排程。

aws redshift create-snapshot-schedule \ --schedule-definitions "rate(12 hours)" \ --schedule-identifier mysnapshotschedule \ --schedule-description "My schedule description"

輸出:

{ "ScheduleDefinitions": [ "rate(12 hours)" ], "ScheduleIdentifier": "mysnapshotschedule", "ScheduleDescription": "My schedule description", "Tags": [] }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的自動快照排程

下列程式碼範例會示範如何使用create-tags

AWS CLI

若要建立叢集的標記

下列create-tags範例會將指定的標籤索引鍵/值配對新增至指定叢集。

aws redshift create-tags \ --resource-name arn:aws:redshift:us-west-2:123456789012:cluster:mycluster \ --tags "Key"="mytags","Value"="tag1"

此命令不會產生任何輸出。

如需詳細資訊,請參閱亞 Amazon Redshift 叢集管理指南中的標記資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreateTags中的。

下列程式碼範例會示範如何使用delete-cluster-parameter-group

AWS CLI

刪除叢集參數 GroupThis 範例會刪除叢集參數群組。命令:

aws redshift delete-cluster-parameter-group --parameter-group-name myclusterparametergroup

下列程式碼範例會示範如何使用delete-cluster-security-group

AWS CLI

刪除叢集安全性 GroupThis 範例會刪除叢集安全性群組。命令:

aws redshift delete-cluster-security-group --cluster-security-group-name mysecuritygroup

下列程式碼範例會示範如何使用delete-cluster-snapshot

AWS CLI

刪除叢集 SnapshotThis 範例會刪除叢集快照。命令:

aws redshift delete-cluster-snapshot --snapshot-identifier my-snapshot-id

下列程式碼範例會示範如何使用delete-cluster-subnet-group

AWS CLI

刪除叢集子網路 GroupThis 範例會刪除叢集子網路群組。命令:

aws redshift delete-cluster-subnet-group --cluster-subnet-group-name mysubnetgroup

結果:

{ "ResponseMetadata": { "RequestId": "253fbffd-6993-11e2-bc3a-47431073908a" } }

下列程式碼範例會示範如何使用delete-cluster

AWS CLI

刪除沒有最終叢集的叢集 SnapshotThis 範例會刪除叢集,強制刪除資料,因此不會建立最終叢集快照。命令:

aws redshift delete-cluster --cluster-identifier mycluster --skip-final-cluster-snapshot

刪除叢集,允許最終叢集 SnapshotThis 範例刪除叢集,但指定最終的叢集快照。命令:

aws redshift delete-cluster --cluster-identifier mycluster --final-cluster-snapshot-identifier myfinalsnapshot
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteCluster中的。

下列程式碼範例會示範如何使用delete-event-subscription

AWS CLI

若要刪除事件訂閱

下列delete-event-subscription範例會刪除指定的事件通知訂閱。

aws redshift delete-event-subscription \ --subscription-name mysubscription

此命令不會產生任何輸出。

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的訂閱 Amazon Redshift 事件通知

下列程式碼範例會示範如何使用delete-hsm-client-certificate

AWS CLI

刪除 HSM 用戶端憑證

下列delete-hsm-client-certificate範例會刪除 HSM 用戶端憑證。

aws redshift delete-hsm-client-certificate \ --hsm-client-certificate-identifier myhsmclientcert

此命令不會產生任何輸出。

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的 Amazon Redshift API 許可參考

下列程式碼範例會示範如何使用delete-hsm-configuration

AWS CLI

若要刪除 HSM 組態

下列delete-hsm-configuration範例會從目前 AWS 帳戶刪除指定的 HSM 組態。

aws redshift delete-hsm-configuration / --hsm-configuration-identifier myhsmconnection

此命令不會產生任何輸出。

下列程式碼範例會示範如何使用delete-scheduled-action

AWS CLI

若要刪除排程的動作

下列delete-scheduled-action範例會刪除指定的排程動作。

aws redshift delete-scheduled-action \ --scheduled-action-name myscheduledaction

此命令不會產生任何輸出。

下列程式碼範例會示範如何使用delete-snapshot-copy-grant

AWS CLI

刪除快照複製授權

下列delete-snapshot-copy-grant範例會刪除指定的快照複製授權。

aws redshift delete-snapshot-copy-grant \ --snapshot-copy-grant-name mysnapshotcopygrantname

此命令不會產生任何輸出。

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的 Amazon Redshift 資料庫加密

下列程式碼範例會示範如何使用delete-snapshot-schedule

AWS CLI

刪除快照排程

下列delete-snapshot-schedule範例會刪除指定的快照排程。您必須先取消叢集的關聯,然後才能刪除排程。

aws redshift delete-snapshot-schedule \ --schedule-identifier mysnapshotschedule

此命令不會產生任何輸出。

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的自動快照排程

下列程式碼範例會示範如何使用delete-tags

AWS CLI

若要從叢集刪除標籤

下列delete-tags範例會從指定叢集中刪除具有指定索引鍵名稱的標籤。

aws redshift delete-tags \ --resource-name arn:aws:redshift:us-west-2:123456789012:cluster:mycluster \ --tag-keys "clustertagkey" "clustertagvalue"

此命令不會產生任何輸出。

如需詳細資訊,請參閱亞 Amazon Redshift 叢集管理指南中的標記資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteTags中的。

下列程式碼範例會示範如何使用describe-account-attributes

AWS CLI

描述 AWS 帳號的屬性

下列describe-account-attributes範例會顯示附加至呼叫 AWS 帳戶的屬性。

aws redshift describe-account-attributes

輸出:

{ "AccountAttributes": [ { "AttributeName": "max-defer-maintenance-duration", "AttributeValues": [ { "AttributeValue": "45" } ] } ] }

下列程式碼範例會示範如何使用describe-cluster-db-revisions

AWS CLI

描述叢集的資料庫修訂

下列describe-cluster-db-revisions範例會顯示指定叢集之ClusterDbRevision物件陣列的詳細資訊。

aws redshift describe-cluster-db-revisions \ --cluster-identifier mycluster

輸出:

{ "ClusterDbRevisions": [ { "ClusterIdentifier": "mycluster", "CurrentDatabaseRevision": "11420", "DatabaseRevisionReleaseDate": "2019-11-22T16:43:49.597Z", "RevisionTargets": [] } ] }

下列程式碼範例會示範如何使用describe-cluster-parameter-groups

AWS CLI

取得所有叢集參數的說明 GroupsThis 範例會傳回帳戶之所有叢集參數群組的說明,以及欄標題。默認情況下,輸出為 JSON 格式。命令:

aws redshift describe-cluster-parameter-groups

結果:

{ "ParameterGroups": [ { "ParameterGroupFamily": "redshift-1.0", "Description": "My first cluster parameter group", "ParameterGroupName": "myclusterparametergroup" } ], "ResponseMetadata": { "RequestId": "8ceb8f6f-64cc-11e2-bea9-49e0ce183f07" } }

您也可以使用--output text選項以文字格式取得相同的資訊。指令:

--output text選項。命令:

選項。命令:

aws redshift describe-cluster-parameter-groups --output text

結果:

redshift-1.0 My first cluster parameter group myclusterparametergroup RESPONSEMETADATA 9e665a36-64cc-11e2-8f7d-3b939af52818

下列程式碼範例會示範如何使用describe-cluster-parameters

AWS CLI

擷取指定叢集參數 GroupThis 範例的參數會擷取具名參數群組的參數。默認情況下,輸出為 JSON 格式。命令:

aws redshift describe-cluster-parameters --parameter-group-name myclusterparametergroup

結果:

{ "Parameters": [ { "Description": "Sets the display format for date and time values.", "DataType": "string", "IsModifiable": true, "Source": "engine-default", "ParameterValue": "ISO, MDY", "ParameterName": "datestyle" }, { "Description": "Sets the number of digits displayed for floating-point values", "DataType": "integer", "IsModifiable": true, "AllowedValues": "-15-2", "Source": "engine-default", "ParameterValue": "0", "ParameterName": "extra_float_digits" }, (...remaining output omitted...) ] }

您也可以使用--output text選項以文字格式取得相同的資訊。指令:

--output text選項。命令:

選項。命令:

aws redshift describe-cluster-parameters --parameter-group-name myclusterparametergroup --output text

結果:

RESPONSEMETADATA cdac40aa-64cc-11e2-9e70-918437dd236d Sets the display format for date and time values. string True engine-default ISO, MDY datestyle Sets the number of digits displayed for floating-point values integer True -15-2 engine-default 0 extra_float_digits This parameter applies a user-defined label to a group of queries that are run during the same session.. string True engine-default default query_group require ssl for all databaseconnections boolean True true,false engine-default false require_ssl Sets the schema search order for names that are not schema-qualified. string True engine-default $user, public search_path Aborts any statement that takes over the specified number of milliseconds. integer True engine-default 0 statement_timeout wlm json configuration string True engine-default \[{"query_concurrency":5}] wlm_json_configuration

下列程式碼範例會示範如何使用describe-cluster-security-groups

AWS CLI

取得所有叢集安全性的說明 GroupsThis 範例會傳回該帳戶之所有叢集安全性群組的說明。默認情況下,輸出為 JSON 格式。命令:

aws redshift describe-cluster-security-groups

結果:

{ "ClusterSecurityGroups": [ { "OwnerId": "100447751468", "Description": "default", "ClusterSecurityGroupName": "default", "EC2SecurityGroups": \[], "IPRanges": [ { "Status": "authorized", "CIDRIP": "0.0.0.0/0" } ] }, { "OwnerId": "100447751468", "Description": "This is my cluster security group", "ClusterSecurityGroupName": "mysecuritygroup", "EC2SecurityGroups": \[], "IPRanges": \[] }, (...remaining output omitted...) ] }

下列程式碼範例會示範如何使用describe-cluster-snapshots

AWS CLI

取得所有叢集的說明 SnapshotsThis 範例會傳回該帳戶之所有叢集快照的說明。默認情況下,輸出為 JSON 格式。命令:

aws redshift describe-cluster-snapshots

結果:

{ "Snapshots": [ { "Status": "available", "SnapshotCreateTime": "2013-07-17T22:02:22.852Z", "EstimatedSecondsToCompletion": -1, "AvailabilityZone": "us-east-1a", "ClusterVersion": "1.0", "MasterUsername": "adminuser", "Encrypted": false, "OwnerAccount": "111122223333", "BackupProgressInMegabytes": 20.0, "ElapsedTimeInSeconds": 0, "DBName": "dev", "CurrentBackupRateInMegabytesPerSecond: 0.0, "ClusterCreateTime": "2013-01-22T21:59:29.559Z", "ActualIncrementalBackupSizeInMegabytes"; 20.0 "SnapshotType": "automated", "NodeType": "dw.hs1.xlarge", "ClusterIdentifier": "mycluster", "Port": 5439, "TotalBackupSizeInMegabytes": 20.0, "NumberOfNodes": "2", "SnapshotIdentifier": "cm:mycluster-2013-01-22-22-04-18" }, { "EstimatedSecondsToCompletion": 0, "OwnerAccount": "111122223333", "CurrentBackupRateInMegabytesPerSecond: 0.1534, "ActualIncrementalBackupSizeInMegabytes"; 11.0, "NumberOfNodes": "2", "Status": "available", "ClusterVersion": "1.0", "MasterUsername": "adminuser", "AccountsWithRestoreAccess": [ { "AccountID": "444455556666" } ], "TotalBackupSizeInMegabytes": 20.0, "DBName": "dev", "BackupProgressInMegabytes": 11.0, "ClusterCreateTime": "2013-01-22T21:59:29.559Z", "ElapsedTimeInSeconds": 0, "ClusterIdentifier": "mycluster", "SnapshotCreateTime": "2013-07-17T22:04:18.947Z", "AvailabilityZone": "us-east-1a", "NodeType": "dw.hs1.xlarge", "Encrypted": false, "SnapshotType": "manual", "Port": 5439, "SnapshotIdentifier": "my-snapshot-id" } ] } (...remaining output omitted...)

下列程式碼範例會示範如何使用describe-cluster-subnet-groups

AWS CLI

取得所有叢集子網路的說明 GroupsThis 範例會傳回所有叢集子網路群組的說明。默認情況下,輸出為 JSON 格式。命令:

aws redshift describe-cluster-subnet-groups

結果:

{ "ClusterSubnetGroups": [ { "Subnets": [ { "SubnetStatus": "Active", "SubnetIdentifier": "subnet-763fdd1c", "SubnetAvailabilityZone": { "Name": "us-east-1a" } } ], "VpcId": "vpc-7e3fdd14", "SubnetGroupStatus": "Complete", "Description": "My subnet group", "ClusterSubnetGroupName": "mysubnetgroup" } ], "ResponseMetadata": { "RequestId": "37fa8c89-6990-11e2-8f75-ab4018764c77" } }

下列程式碼範例會示範如何使用describe-cluster-tracks

AWS CLI

描述叢集軌跡

下列describe-cluster-tracks範例會顯示可用維護追蹤的詳細資料。

aws redshift describe-cluster-tracks \ --maintenance-track-name current

輸出:

{ "MaintenanceTracks": [ { "MaintenanceTrackName": "current", "DatabaseVersion": "1.0.11420", "UpdateTargets": [ { "MaintenanceTrackName": "preview_features", "DatabaseVersion": "1.0.11746", "SupportedOperations": [ { "OperationName": "restore-from-cluster-snapshot" } ] }, { "MaintenanceTrackName": "trailing", "DatabaseVersion": "1.0.11116", "SupportedOperations": [ { "OperationName": "restore-from-cluster-snapshot" }, { "OperationName": "modify-cluster" } ] } ] } ] }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的選擇叢集維護軌跡

下列程式碼範例會示範如何使用describe-cluster-versions

AWS CLI

取得所有叢集的說明 VersionsThis 範例會傳回所有叢集版本的說明。默認情況下,輸出為 JSON 格式。命令:

aws redshift describe-cluster-versions

結果:

{ "ClusterVersions": [ { "ClusterVersion": "1.0", "Description": "Initial release", "ClusterParameterGroupFamily": "redshift-1.0" } ], "ResponseMetadata": { "RequestId": "16a53de3-64cc-11e2-bec0-17624ad140dd" } }

下列程式碼範例會示範如何使用describe-clusters

AWS CLI

[取得全部說明] ClustersThis 範例會傳回該帳戶之所有叢集的說明。默認情況下,輸出為 JSON 格式。命令:

aws redshift describe-clusters

結果:

{ "Clusters": [ { "NodeType": "dw.hs1.xlarge", "Endpoint": { "Port": 5439, "Address": "mycluster.coqoarplqhsn.us-east-1.redshift.amazonaws.com" }, "ClusterVersion": "1.0", "PubliclyAccessible": "true", "MasterUsername": "adminuser", "ClusterParameterGroups": [ { "ParameterApplyStatus": "in-sync", "ParameterGroupName": "default.redshift-1.0" } ], "ClusterSecurityGroups": [ { "Status": "active", "ClusterSecurityGroupName": "default" } ], "AllowVersionUpgrade": true, "VpcSecurityGroups": \[], "AvailabilityZone": "us-east-1a", "ClusterCreateTime": "2013-01-22T21:59:29.559Z", "PreferredMaintenanceWindow": "sat:03:30-sat:04:00", "AutomatedSnapshotRetentionPeriod": 1, "ClusterStatus": "available", "ClusterIdentifier": "mycluster", "DBName": "dev", "NumberOfNodes": 2, "PendingModifiedValues": {} } ], "ResponseMetadata": { "RequestId": "65b71cac-64df-11e2-8f5b-e90bd6c77476" } }

您也可以使用--output text選項以文字格式取得相同的資訊。指令:

--output text選項。命令:

選項。命令:

aws redshift describe-clusters --output text

結果:

dw.hs1.xlarge 1.0 true adminuser True us-east-1a 2013-01-22T21:59:29.559Z sat:03:30-sat:04:00 1 available mycluster dev 2 ENDPOINT 5439 mycluster.coqoarplqhsn.us-east-1.redshift.amazonaws.com in-sync default.redshift-1.0 active default PENDINGMODIFIEDVALUES RESPONSEMETADATA 934281a8-64df-11e2-b07c-f7fbdd006c67
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DescribeClusters中的。

下列程式碼範例會示範如何使用describe-default-cluster-parameters

AWS CLI

取得預設叢集的說明 ParametersThis 範例會傳回redshift-1.0族群預設叢集參數的說明。默認情況下,輸出為 JSON 格式。命令:

aws redshift describe-default-cluster-parameters --parameter-group-family redshift-1.0

結果:

{ "DefaultClusterParameters": { "ParameterGroupFamily": "redshift-1.0", "Parameters": [ { "Description": "Sets the display format for date and time values.", "DataType": "string", "IsModifiable": true, "Source": "engine-default", "ParameterValue": "ISO, MDY", "ParameterName": "datestyle" }, { "Description": "Sets the number of digits displayed for floating-point values", "DataType": "integer", "IsModifiable": true, "AllowedValues": "-15-2", "Source": "engine-default", "ParameterValue": "0", "ParameterName": "extra_float_digits" }, (...remaining output omitted...) ] } }

若要查看有效參數群組族群的清單,請使用describe-cluster-parameter-groups指令。

describe-cluster-parameter-groups指令。

指令。

下列程式碼範例會示範如何使用describe-event-categories

AWS CLI

描述叢集的事件類別

下列describe-event-categories範例顯示叢集之事件類別的詳細資料。

aws redshift describe-event-categories \ --source-type cluster

輸出:

{ "EventCategoriesMapList": [ { "SourceType": "cluster", "Events": [ { "EventId": "REDSHIFT-EVENT-2000", "EventCategories": [ "management" ], "EventDescription": "Cluster <cluster name> created at <time in UTC>.", "Severity": "INFO" }, { "EventId": "REDSHIFT-EVENT-2001", "EventCategories": [ "management" ], "EventDescription": "Cluster <cluster name> deleted at <time in UTC>.", "Severity": "INFO" }, { "EventId": "REDSHIFT-EVENT-3625", "EventCategories": [ "monitoring" ], "EventDescription": "The cluster <cluster name> can't be resumed with its previous elastic network interface <ENI id>. We will allocate a new elastic network interface and associate it with the cluster node.", "Severity": "INFO" } ] } ] }

下列程式碼範例會示範如何使用describe-event-subscriptions

AWS CLI

描述事件訂閱

下列describe-event-subscriptions範例會顯示指定訂閱的事件通知訂閱。

aws redshift describe-event-subscriptions \ --subscription-name mysubscription

輸出:

{ "EventSubscriptionsList": [ { "CustomerAwsId": "123456789012", "CustSubscriptionId": "mysubscription", "SnsTopicArn": "arn:aws:sns:us-west-2:123456789012:MySNStopic", "Status": "active", "SubscriptionCreationTime": "2019-12-09T21:50:21.332Z", "SourceIdsList": [], "EventCategoriesList": [ "management" ], "Severity": "ERROR", "Enabled": true, "Tags": [] } ] }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的訂閱 Amazon Redshift 事件通知

下列程式碼範例會示範如何使用describe-events

AWS CLI

描述所有事件此範例會傳回所有事件。默認情況下,輸出為 JSON 格式。命令:

aws redshift describe-events

結果:

{ "Events": [ { "Date": "2013-01-22T19:17:03.640Z", "SourceIdentifier": "myclusterparametergroup", "Message": "Cluster parameter group myclusterparametergroup has been created.", "SourceType": "cluster-parameter-group" } ], "ResponseMetadata": { "RequestId": "9f056111-64c9-11e2-9390-ff04f2c1e638" } }

您也可以使用--output text選項以文字格式取得相同的資訊。指令:

--output text選項。命令:

選項。命令:

aws redshift describe-events --output text

結果:

2013-01-22T19:17:03.640Z myclusterparametergroup Cluster parameter group myclusterparametergroup has been created. cluster-parameter-group RESPONSEMETADATA 8e5fe765-64c9-11e2-bce3-e56f52c50e17
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DescribeEvents中的。

下列程式碼範例會示範如何使用describe-hsm-client-certificates

AWS CLI

說明 HSM 用戶端憑證

下列describe-hsm-client-certificates範例顯示指定 HSM 用戶端憑證的詳細資料。

aws redshift describe-hsm-client-certificates \ --hsm-client-certificate-identifier myhsmclientcert

輸出:

{ "HsmClientCertificates": [ { "HsmClientCertificateIdentifier": "myhsmclientcert", "HsmClientCertificatePublicKey": "-----BEGIN CERTIFICATE-----\ EXAMPLECAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBAEXAMPLERAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSBDb25zEXAMPLEwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhEXAMPLEDI1MjA0EXAMPLEN EXAMPLE0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGEXAMPLEQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z b2xlMRIwEAYDVQQDEwlUZXN0Q2lsEXAMPLEdBgkqhkiG9w0BCQEWEG5vb25lQGFt YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIEXAMPLEMaK0dn+a4GmWIWJ 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY67EXAMPLEE EXAMPLEZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 nUhVVxYUntneD9EXAMPLE6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GuoEDEXAMPLEBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvw3rEXAMPLE=-----END CERTIFICATE-----\n", "Tags": [] } ] }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的 Amazon Redshift API 許可參考

下列程式碼範例會示範如何使用describe-hsm-configurations

AWS CLI

若要描述 HSM 組態

下列describe-hsm-configurations範例顯示呼叫 AWS 帳戶可用 HSM 組態的詳細資料。

aws redshift describe-hsm-configurations / --hsm-configuration-identifier myhsmconnection

輸出:

{ "HsmConfigurations": [ { "HsmConfigurationIdentifier": "myhsmconnection", "Description": "My HSM connection", "HsmIpAddress": "192.0.2.09", "HsmPartitionName": "myhsmpartition", "Tags": [] } ] }

下列程式碼範例會示範如何使用describe-logging-status

AWS CLI

描述叢集的記錄狀態

下列describe-logging-status範例會顯示叢集是否記錄資訊 (例如查詢和連線嘗試)。

aws redshift describe-logging-status \ --cluster-identifier mycluster

輸出:

{ "LoggingEnabled": false }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的資料庫稽核記錄

下列程式碼範例會示範如何使用describe-node-configuration-options

AWS CLI

描述節點組態選項

下列describe-node-configuration-options範例顯示可能節點組態的內容,例如指定叢集快照的節點類型、節點數目以及磁碟使用量。

aws redshift describe-node-configuration-options \ --action-type restore-cluster \ --snapshot-identifier rs:mycluster-2019-12-09-16-42-43

輸出:

{ "NodeConfigurationOptionList": [ { "NodeType": "dc2.large", "NumberOfNodes": 2, "EstimatedDiskUtilizationPercent": 19.61 }, { "NodeType": "dc2.large", "NumberOfNodes": 4, "EstimatedDiskUtilizationPercent": 9.96 }, { "NodeType": "ds2.xlarge", "NumberOfNodes": 2, "EstimatedDiskUtilizationPercent": 1.53 }, { "NodeType": "ds2.xlarge", "NumberOfNodes": 4, "EstimatedDiskUtilizationPercent": 0.78 } ] }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的購買保留節點

下列程式碼範例會示範如何使用describe-orderable-cluster-options

AWS CLI

描述所有可訂購叢集 OptionsThis 範例會傳回所有可訂購叢集選項的說明。默認情況下,輸出為 JSON 格式。命令:

aws redshift describe-orderable-cluster-options

結果:

{ "OrderableClusterOptions": [ { "NodeType": "dw.hs1.8xlarge", "AvailabilityZones": [ { "Name": "us-east-1a" }, { "Name": "us-east-1b" }, { "Name": "us-east-1c" } ], "ClusterVersion": "1.0", "ClusterType": "multi-node" }, { "NodeType": "dw.hs1.xlarge", "AvailabilityZones": [ { "Name": "us-east-1a" }, { "Name": "us-east-1b" }, { "Name": "us-east-1c" } ], "ClusterVersion": "1.0", "ClusterType": "multi-node" }, { "NodeType": "dw.hs1.xlarge", "AvailabilityZones": [ { "Name": "us-east-1a" }, { "Name": "us-east-1b" }, { "Name": "us-east-1c" } ], "ClusterVersion": "1.0", "ClusterType": "single-node" } ], "ResponseMetadata": { "RequestId": "f6000035-64cb-11e2-9135-ff82df53a51a" } }

您也可以使用--output text選項以文字格式取得相同的資訊。指令:

--output text選項。命令:

選項。命令:

aws redshift describe-orderable-cluster-options --output text

結果:

dw.hs1.8xlarge 1.0 multi-node us-east-1a us-east-1b us-east-1c dw.hs1.xlarge 1.0 multi-node us-east-1a us-east-1b us-east-1c dw.hs1.xlarge 1.0 single-node us-east-1a us-east-1b us-east-1c RESPONSEMETADATA e648696b-64cb-11e2-bec0-17624ad140dd

下列程式碼範例會示範如何使用describe-reserved-node-offerings

AWS CLI

描述預留節點 OfferingsThis 範例會顯示可供購買的所有預留節點供應項目。指令:

aws redshift describe-reserved-node-offerings

結果:

{ "ReservedNodeOfferings": [ { "OfferingType": "Heavy Utilization", "FixedPrice": "", "NodeType": "dw.hs1.xlarge", "UsagePrice": "", "RecurringCharges": [ { "RecurringChargeAmount": "", "RecurringChargeFrequency": "Hourly" } ], "Duration": 31536000, "ReservedNodeOfferingId": "ceb6a579-cf4c-4343-be8b-d832c45ab51c" }, { "OfferingType": "Heavy Utilization", "FixedPrice": "", "NodeType": "dw.hs1.8xlarge", "UsagePrice": "", "RecurringCharges": [ { "RecurringChargeAmount": "", "RecurringChargeFrequency": "Hourly" } ], "Duration": 31536000, "ReservedNodeOfferingId": "e5a2ff3b-352d-4a9c-ad7d-373c4cab5dd2" }, ...remaining output omitted... ], "ResponseMetadata": { "RequestId": "8b1a1a43-75ff-11e2-9666-e142fe91ddd1" } }

如果您想要購買預留的節點供應項目,可以purchase-reserved-node-offering使用有效的 ReservedNodeOfferingId.

purchase-reserved-node-offering使用有效的 ReservedNodeOfferingId.

使用有效的 ReservedNodeOfferingId.

ReservedNodeOfferingId.

.

下列程式碼範例會示範如何使用describe-reserved-nodes

AWS CLI

描述保留 NodesThis 範例顯示已購買的保留節點供應項目。命令:

aws redshift describe-reserved-nodes

結果:

{ "ResponseMetadata": { "RequestId": "bc29ce2e-7600-11e2-9949-4b361e7420b7" }, "ReservedNodes": [ { "OfferingType": "Heavy Utilization", "FixedPrice": "", "NodeType": "dw.hs1.xlarge", "ReservedNodeId": "1ba8e2e3-bc01-4d65-b35d-a4a3e931547e", "UsagePrice": "", "RecurringCharges": [ { "RecurringChargeAmount": "", "RecurringChargeFrequency": "Hourly" } ], "NodeCount": 1, "State": "payment-pending", "StartTime": "2013-02-13T17:08:39.051Z", "Duration": 31536000, "ReservedNodeOfferingId": "ceb6a579-cf4c-4343-be8b-d832c45ab51c" } ] }

下列程式碼範例會示範如何使用describe-resize

AWS CLI

描述 ResizeThis 範例說明叢集的最新調整大小。該請求是針對 3 個類型的節點dw.hs1.8xlarge。命令:

aws redshift describe-resize --cluster-identifier mycluster

結果:

{ "Status": "NONE", "TargetClusterType": "multi-node", "TargetNodeType": "dw.hs1.8xlarge", "ResponseMetadata": { "RequestId": "9f52b0b4-7733-11e2-aa9b-318b2909bd27" }, "TargetNumberOfNodes": "3" }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DescribeResize中的。

下列程式碼範例會示範如何使用describe-scheduled-actions

AWS CLI

描述排程的動作

下列describe-scheduled-actions範例會顯示任何目前已排程動作的詳細資訊。

aws redshift describe-scheduled-actions

輸出:

{ "ScheduledActions": [ { "ScheduledActionName": "resizecluster", "TargetAction": { "ResizeCluster": { "ClusterIdentifier": "mycluster", "NumberOfNodes": 4, "Classic": false } }, "Schedule": "at(2019-12-10T00:07:00)", "IamRole": "arn:aws:iam::123456789012:role/myRedshiftRole", "State": "ACTIVE", "NextInvocations": [ "2019-12-10T00:07:00Z" ] } ] }

下列程式碼範例會示範如何使用describe-snapshot-copy-grants

AWS CLI

說明快照複製授權

下列describe-snapshot-copy-grants範例顯示指定叢集快照副本授權的詳細資料。

aws redshift describe-snapshot-copy-grants \ --snapshot-copy-grant-name mysnapshotcopygrantname

輸出:

{ "SnapshotCopyGrants": [ { "SnapshotCopyGrantName": "mysnapshotcopygrantname", "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/bPxRfih3yCo8nvbEXAMPLEKEY", "Tags": [] } ] }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的 Amazon Redshift 資料庫加密

下列程式碼範例會示範如何使用describe-snapshot-schedules

AWS CLI

描述快照排程

下列describe-snapshot-schedules範例顯示指定叢集快照排程的詳細資訊。

aws redshift describe-snapshot-schedules \ --cluster-identifier mycluster \ --schedule-identifier mysnapshotschedule

輸出:

{ "SnapshotSchedules": [ { "ScheduleDefinitions": [ "rate(12 hours)" ], "ScheduleIdentifier": "mysnapshotschedule", "ScheduleDescription": "My schedule description", "Tags": [], "AssociatedClusterCount": 1, "AssociatedClusters": [ { "ClusterIdentifier": "mycluster", "ScheduleAssociationState": "ACTIVE" } ] } ] }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的自動快照排程

下列程式碼範例會示範如何使用describe-storage

AWS CLI

描述儲存

下列describe-storage範例會顯示有關帳戶的備份儲存體和暫時儲存體大小的詳細資料。

aws redshift describe-storage

輸出:

{ "TotalBackupSizeInMegaBytes": 193149.0, "TotalProvisionedStorageInMegaBytes": 655360.0 }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的管理快照儲存

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DescribeStorage中的。

下列程式碼範例會示範如何使用describe-table-restore-status

AWS CLI

說明叢集快照集的表格還原要求狀態

下列describe-table-restore-status範例會顯示針對指定叢集發出之資料表還原要求的詳細資訊。

aws redshift describe-table-restore-status / --cluster-identifier mycluster

輸出:

{ "TableRestoreStatusDetails": [ { "TableRestoreRequestId": "z1116630-0e80-46f4-ba86-bd9670411ebd", "Status": "IN_PROGRESS", "RequestTime": "2019-12-27T18:22:12.257Z", "ClusterIdentifier": "mycluster", "SnapshotIdentifier": "mysnapshotid", "SourceDatabaseName": "dev", "SourceSchemaName": "public", "SourceTableName": "mytable", "TargetDatabaseName": "dev", "TargetSchemaName": "public", "NewTableName": "mytable-clone" } ] }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的從快照還原表格

下列程式碼範例會示範如何使用describe-tags

AWS CLI

描述標籤

下列describe-tags範例會顯示指定叢集與指定標籤名稱和值相關聯的資源。

aws redshift describe-tags \ --resource-name arn:aws:redshift:us-west-2:123456789012:cluster:mycluster \ --tag-keys clustertagkey \ --tag-values clustertagvalue

輸出:

{ "TaggedResources": [ { "Tag": { "Key": "clustertagkey", "Value": "clustertagvalue" }, "ResourceName": "arn:aws:redshift:us-west-2:123456789012:cluster:mycluster", "ResourceType": "cluster" } ] }

如需詳細資訊,請參閱亞 Amazon Redshift 叢集管理指南中的標記資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DescribeTags中的。

下列程式碼範例會示範如何使用disable-snapshot-copy

AWS CLI

若要停用叢集的快照複製

下列disable-snapshot-copy範例會停用指定叢集的快照自動複製。

aws redshift disable-snapshot-copy \ --cluster-identifier mycluster

輸出:

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "ClusterStatus": "available", "ClusterAvailabilityStatus": "Available", "MasterUsername": "adminuser", "DBName": "dev", "Endpoint": { "Address": "mycluster.cmeaswqeuae.us-west-2.redshift.amazonaws.com", "Port": 5439 }, "ClusterCreateTime": "2019-12-05T18:44:36.991Z", "AutomatedSnapshotRetentionPeriod": 3, "ManualSnapshotRetentionPeriod": -1, "ClusterSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sh-i9b431cd", "Status": "active" } ], "ClusterParameterGroups": [ { "ParameterGroupName": "default.redshift-1.0", "ParameterApplyStatus": "in-sync" } ], "ClusterSubnetGroupName": "default", "VpcId": "vpc-b1fel7t9", "AvailabilityZone": "us-west-2f", "PreferredMaintenanceWindow": "sat:16:00-sat:16:30", "PendingModifiedValues": { "NodeType": "dc2.large", "NumberOfNodes": 2, "ClusterType": "multi-node" }, "ClusterVersion": "1.0", "AllowVersionUpgrade": true, "NumberOfNodes": 4, "PubliclyAccessible": false, "Encrypted": false, "Tags": [ { "Key": "mytags", "Value": "tag1" } ], "EnhancedVpcRouting": false, "IamRoles": [ { "IamRoleArn": "arn:aws:iam::123456789012:role/myRedshiftRole", "ApplyStatus": "in-sync" } ], "MaintenanceTrackName": "current", "DeferredMaintenanceWindows": [], "ExpectedNextSnapshotScheduleTime": "2019-12-10T04:42:43.390Z", "ExpectedNextSnapshotScheduleTimeStatus": "OnTrack", "NextMaintenanceWindowStartTime": "2019-12-14T16:00:00Z" } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的將快照複製到其他 AWS 區域

下列程式碼範例會示範如何使用enable-snapshot-copy

AWS CLI

啟用叢集的快照複製

下列enable-snapshot-copy範例會啟用指定叢集的快照自動複製。

aws redshift enable-snapshot-copy \ --cluster-identifier mycluster \ --destination-region us-west-1

輸出:

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "ClusterStatus": "available", "ClusterAvailabilityStatus": "Available", "MasterUsername": "adminuser", "DBName": "dev", "Endpoint": { "Address": "mycluster.cmeaswqeuae.us-west-2.redshift.amazonaws.com", "Port": 5439 }, "ClusterCreateTime": "2019-12-05T18:44:36.991Z", "AutomatedSnapshotRetentionPeriod": 3, "ManualSnapshotRetentionPeriod": -1, "ClusterSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sh-f4c731cd", "Status": "active" } ], "ClusterParameterGroups": [ { "ParameterGroupName": "default.redshift-1.0", "ParameterApplyStatus": "in-sync" } ], "ClusterSubnetGroupName": "default", "VpcId": "vpc-b1ael7t9", "AvailabilityZone": "us-west-2f", "PreferredMaintenanceWindow": "sat:16:00-sat:16:30", "PendingModifiedValues": { "NodeType": "dc2.large", "NumberOfNodes": 2, "ClusterType": "multi-node" }, "ClusterVersion": "1.0", "AllowVersionUpgrade": true, "NumberOfNodes": 4, "PubliclyAccessible": false, "Encrypted": false, "ClusterSnapshotCopyStatus": { "DestinationRegion": "us-west-1", "RetentionPeriod": 7, "ManualSnapshotRetentionPeriod": -1 }, "Tags": [ { "Key": "mytags", "Value": "tag1" } ], "EnhancedVpcRouting": false, "IamRoles": [ { "IamRoleArn": "arn:aws:iam::123456789012:role/myRedshiftRole", "ApplyStatus": "in-sync" } ], "MaintenanceTrackName": "current", "DeferredMaintenanceWindows": [], "ExpectedNextSnapshotScheduleTime": "2019-12-10T04:42:43.390Z", "ExpectedNextSnapshotScheduleTimeStatus": "OnTrack", "NextMaintenanceWindowStartTime": "2019-12-14T16:00:00Z" } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的將快照複製到其他 AWS 區域

下列程式碼範例會示範如何使用get-cluster-credentials

AWS CLI

取得 AWS 帳戶的叢集認證

下列get-cluster-credentials範例會擷取允許存取 Amazon Redshift 資料庫的臨時登入資料。

aws redshift get-cluster-credentials \ --db-user adminuser --db-name dev \ --cluster-identifier mycluster

輸出:

{ "DbUser": "IAM:adminuser", "DbPassword": "AMAFUyyuros/QjxPTtgzcsuQsqzIasdzJEN04aCtWDzXx1O9d6UmpkBtvEeqFly/EXAMPLE==", "Expiration": "2019-12-10T17:25:05.770Z" }

如需詳細資訊,請參閱亞馬遜紅移叢集管理指南中的使用 Amazon Redshift CLI 或 API 產生 IAM 資料庫登入資料。

下列程式碼範例會示範如何使用get-reserved-node-exchange-offerings

AWS CLI

取得預留節點交換產品

下列get-reserved-node-exchange-offerings範例會擷取符合指定DC1保留節點的DC2ReservedNodeOfferings陣列。

aws redshift get-reserved-node-exchange-offerings \ --reserved-node-id 12345678-12ab-12a1-1a2a-12ab-12a12EXAMPLE

輸出:

{ "ReservedNodeOfferings": [ { "ReservedNodeOfferingId": "12345678-12ab-12a1-1a2a-12ab-12a12EXAMPLE", "NodeType": "dc2.large", "Duration": 31536000, "FixedPrice": 0.0, "UsagePrice": 0.0, "CurrencyCode": "USD", "OfferingType": "All Upfront", "RecurringCharges": [ { "RecurringChargeAmount": 0.0, "RecurringChargeFrequency": "Hourly" } ], "ReservedNodeOfferingType": "Regular" } ] }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的使用 AWS CLI 升級保留節點

下列程式碼範例會示範如何使用modify-cluster-iam-roles

AWS CLI

若要修改叢集的 IAM 角色

下列modify-cluster-iam-roles範例會從指定的叢集移除指定的 AWS IAM 角色。

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --remove-iam-roles arn:aws:iam::123456789012:role/myRedshiftRole

輸出:

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "ClusterStatus": "available", "ClusterAvailabilityStatus": "Available", "MasterUsername": "adminuser", "DBName": "dev", "Endpoint": { "Address": "mycluster.cmeaswqeuae.us-west-2.redshift.amazonaws.com", "Port": 5439 }, "ClusterCreateTime": "2019-12-05T18:44:36.991Z", "AutomatedSnapshotRetentionPeriod": 3, "ManualSnapshotRetentionPeriod": -1, "ClusterSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sh-f9b731sd", "Status": "active" } ], "ClusterParameterGroups": [ { "ParameterGroupName": "default.redshift-1.0", "ParameterApplyStatus": "in-sync" } ], "ClusterSubnetGroupName": "default", "VpcId": "vpc-b2fal7t9", "AvailabilityZone": "us-west-2f", "PreferredMaintenanceWindow": "sat:16:00-sat:16:30", "PendingModifiedValues": { "NodeType": "dc2.large", "NumberOfNodes": 2, "ClusterType": "multi-node" }, "ClusterVersion": "1.0", "AllowVersionUpgrade": true, "NumberOfNodes": 4, "PubliclyAccessible": false, "Encrypted": false, "ClusterSnapshotCopyStatus": { "DestinationRegion": "us-west-1", "RetentionPeriod": 7, "ManualSnapshotRetentionPeriod": -1 }, "Tags": [ { "Key": "mytags", "Value": "tag1" } ], "EnhancedVpcRouting": false, "IamRoles": [], "MaintenanceTrackName": "current", "DeferredMaintenanceWindows": [], "ExpectedNextSnapshotScheduleTime": "2019-12-11T04:42:55.631Z", "ExpectedNextSnapshotScheduleTimeStatus": "OnTrack", "NextMaintenanceWindowStartTime": "2019-12-14T16:00:00Z" } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的使用以身分識別為基礎的政策 (IAM 政策)

下列程式碼範例會示範如何使用modify-cluster-maintenance

AWS CLI

若要修改叢集維護

下列modify-cluster-maintenance範例會將指定叢集的維護延遲 30 天。

aws redshift modify-cluster-maintenance \ --cluster-identifier mycluster \ --defer-maintenance \ --defer-maintenance-duration 30

輸出:

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "ClusterStatus": "available", "ClusterAvailabilityStatus": "Available", "MasterUsername": "adminuser", "DBName": "dev", "Endpoint": { "Address": "mycluster.cmeaswqeuae.us-west-2.redshift.amazonaws.com", "Port": 5439 }, "ClusterCreateTime": "2019-12-05T18:44:36.991Z", "AutomatedSnapshotRetentionPeriod": 3, "ManualSnapshotRetentionPeriod": -1, "ClusterSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sh-a1a123ab", "Status": "active" } ], "ClusterParameterGroups": [ { "ParameterGroupName": "default.redshift-1.0", "ParameterApplyStatus": "in-sync" } ], "ClusterSubnetGroupName": "default", "VpcId": "vpc-b1ael7t9", "AvailabilityZone": "us-west-2f", "PreferredMaintenanceWindow": "sat:16:00-sat:16:30", "PendingModifiedValues": { "NodeType": "dc2.large", "NumberOfNodes": 2, "ClusterType": "multi-node" }, "ClusterVersion": "1.0", "AllowVersionUpgrade": true, "NumberOfNodes": 4, "PubliclyAccessible": false, "Encrypted": false, "ClusterSnapshotCopyStatus": { "DestinationRegion": "us-west-1", "RetentionPeriod": 7, "ManualSnapshotRetentionPeriod": -1 }, "Tags": [ { "Key": "mytags", "Value": "tag1" } ], "EnhancedVpcRouting": false, "IamRoles": [], "MaintenanceTrackName": "current", "DeferredMaintenanceWindows": [ { "DeferMaintenanceIdentifier": "dfm-mUdVIfFcT1B4SGhw6fyF", "DeferMaintenanceStartTime": "2019-12-10T18:18:39.354Z", "DeferMaintenanceEndTime": "2020-01-09T18:18:39.354Z" } ], "ExpectedNextSnapshotScheduleTime": "2019-12-11T04:42:55.631Z", "ExpectedNextSnapshotScheduleTimeStatus": "OnTrack", "NextMaintenanceWindowStartTime": "2020-01-11T16:00:00Z" } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的叢集維護

下列程式碼範例會示範如何使用modify-cluster-parameter-group

AWS CLI

修改參數群組中的參數

下列modify-cluster-parameter-group範例會修改工作負載管理的 wlm_json_ 組態參數。它接受來自包含如下所示 JSON 內容的文件的參數。

aws redshift modify-cluster-parameter-group \ --parameter-group-name myclusterparametergroup \ --parameters file://modify_pg.json

modify_pg.json 的內容:

[ { "ParameterName": "wlm_json_configuration", "ParameterValue": "[{\"user_group\":\"example_user_group1\",\"query_group\": \"example_query_group1\", \"query_concurrency\":7},{\"query_concurrency\":5}]" } ]

輸出:

{ "ParameterGroupStatus": "Your parameter group has been updated but changes won't get applied until you reboot the associated Clusters.", "ParameterGroupName": "myclusterparametergroup", "ResponseMetadata": { "RequestId": "09974cc0-64cd-11e2-bea9-49e0ce183f07" } }

下列程式碼範例會示範如何使用modify-cluster-snapshot-schedule

AWS CLI

修改叢集快照排程

下列modify-cluster-snapshot-schedule範例會從指定的叢集移除指定的快照排程。

aws redshift modify-cluster-snapshot-schedule \ --cluster-identifier mycluster \ --schedule-identifier mysnapshotschedule \ --disassociate-schedule

此命令不會產生任何輸出。

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的自動快照排程

下列程式碼範例會示範如何使用modify-cluster-snapshot

AWS CLI

修改叢集快照

下列modify-cluster-snapshot範例會將指定叢集快照的手動保留期間設定值設定為 10 天。

aws redshift modify-cluster-snapshot \ --snapshot-identifier mycluster-2019-11-06-16-32 \ --manual-snapshot-retention-period 10

輸出:

{ "Snapshot": { "SnapshotIdentifier": "mycluster-2019-11-06-16-32", "ClusterIdentifier": "mycluster", "SnapshotCreateTime": "2019-12-07T00:34:05.633Z", "Status": "available", "Port": 5439, "AvailabilityZone": "us-west-2f", "ClusterCreateTime": "2019-12-05T18:44:36.991Z", "MasterUsername": "adminuser", "ClusterVersion": "1.0", "SnapshotType": "manual", "NodeType": "dc2.large", "NumberOfNodes": 2, "DBName": "dev", "VpcId": "vpc-b1cel7t9", "Encrypted": false, "EncryptedWithHSM": false, "OwnerAccount": "123456789012", "TotalBackupSizeInMegaBytes": 64384.0, "ActualIncrementalBackupSizeInMegaBytes": 24.0, "BackupProgressInMegaBytes": 24.0, "CurrentBackupRateInMegaBytesPerSecond": 13.0011, "EstimatedSecondsToCompletion": 0, "ElapsedTimeInSeconds": 1, "Tags": [ { "Key": "mytagkey", "Value": "mytagvalue" } ], "EnhancedVpcRouting": false, "MaintenanceTrackName": "current", "ManualSnapshotRetentionPeriod": 10, "ManualSnapshotRemainingDays": 6, "SnapshotRetentionStartTime": "2019-12-07T00:34:07.479Z" } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的 Amazon Redshift 快照

下列程式碼範例會示範如何使用modify-cluster-subnet-group

AWS CLI

修改叢集子網路中的子網路 GroupThis 範例顯示如何修改快取子網路群組中的子網路清單。默認情況下,輸出為 JSON 格式。命令:

aws redshift modify-cluster-subnet-group --cluster-subnet-group-name mysubnetgroup --subnet-ids subnet-763fdd1 subnet-ac830e9

結果:

{ "ClusterSubnetGroup": { "Subnets": [ { "SubnetStatus": "Active", "SubnetIdentifier": "subnet-763fdd1c", "SubnetAvailabilityZone": { "Name": "us-east-1a" } }, { "SubnetStatus": "Active", "SubnetIdentifier": "subnet-ac830e9", "SubnetAvailabilityZone": { "Name": "us-east-1b" } } ], "VpcId": "vpc-7e3fdd14", "SubnetGroupStatus": "Complete", "Description": "My subnet group", "ClusterSubnetGroupName": "mysubnetgroup" }, "ResponseMetadata": { "RequestId": "8da93e89-8372-f936-93a8-873918938197a" } }

下列程式碼範例會示範如何使用modify-cluster

AWS CLI

將「安全群組」與 ClusterThis 範例產生關聯,顯示如何將叢集安全性群組與指定的叢集產生關聯。命令:

aws redshift modify-cluster --cluster-identifier mycluster --cluster-security-groups mysecuritygroup

修改「維護時段」,以 ClusterThis 顯示如何將叢集的每週偏好維護時段變更為從星期日晚上 11:15 開始至少 4 小時的時段,並在星期一凌晨 3:15 結束。命令:

aws redshift modify-cluster --cluster-identifier mycluster --preferred-maintenance-window Sun:23:15-Mon:03:15

變更主要密碼的 ClusterThis 範例顯示如何變更叢集的主要密碼。命令:

aws redshift modify-cluster --cluster-identifier mycluster --master-user-password A1b2c3d4
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ModifyCluster中的。

下列程式碼範例會示範如何使用modify-event-subscription

AWS CLI

若要修改事件訂閱

下列modify-event-subscription範例會停用指定的事件通知訂閱。

aws redshift modify-event-subscription \ --subscription-name mysubscription \ --no-enabled

輸出:

{ "EventSubscription": { "CustomerAwsId": "123456789012", "CustSubscriptionId": "mysubscription", "SnsTopicArn": "arn:aws:sns:us-west-2:123456789012:MySNStopic", "Status": "active", "SubscriptionCreationTime": "2019-12-09T21:50:21.332Z", "SourceIdsList": [], "EventCategoriesList": [ "management" ], "Severity": "ERROR", "Enabled": false, "Tags": [] } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的訂閱 Amazon Redshift 事件通知

下列程式碼範例會示範如何使用modify-scheduled-action

AWS CLI

若要修改排程的動作

下列modify-scheduled-action範例會將說明新增至指定的現有排程動作。

aws redshift modify-scheduled-action \ --scheduled-action-name myscheduledaction \ --scheduled-action-description "My scheduled action"

輸出:

{ "ScheduledActionName": "myscheduledaction", "TargetAction": { "ResizeCluster": { "ClusterIdentifier": "mycluster", "NumberOfNodes": 2, "Classic": false } }, "Schedule": "at(2019-12-25T00:00:00)", "IamRole": "arn:aws:iam::123456789012:role/myRedshiftRole", "ScheduledActionDescription": "My scheduled action", "State": "ACTIVE", "NextInvocations": [ "2019-12-25T00:00:00Z" ] }

下列程式碼範例會示範如何使用modify-snapshot-copy-retention-period

AWS CLI

修改快照副本保留期

下列modify-snapshot-copy-retention-period範例會修改目的地區域中指定叢集的快照從來源 AWS AWS 區域複製後保留快照的天數。

aws redshift modify-snapshot-copy-retention-period \ --cluster-identifier mycluster \ --retention-period 15

輸出:

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "ClusterStatus": "available", "ClusterAvailabilityStatus": "Available", "MasterUsername": "adminuser", "DBName": "dev", "Endpoint": { "Address": "mycluster.cmeaswqeuae.us-west-2.redshift.amazonaws.com", "Port": 5439 }, "ClusterCreateTime": "2019-12-05T18:44:36.991Z", "AutomatedSnapshotRetentionPeriod": 3, "ManualSnapshotRetentionPeriod": -1, "ClusterSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sh-a1a123ab", "Status": "active" } ], "ClusterParameterGroups": [ { "ParameterGroupName": "default.redshift-1.0", "ParameterApplyStatus": "in-sync" } ], "ClusterSubnetGroupName": "default", "VpcId": "vpc-b1fet7t9", "AvailabilityZone": "us-west-2f", "PreferredMaintenanceWindow": "sat:16:00-sat:16:30", "PendingModifiedValues": { "NodeType": "dc2.large", "NumberOfNodes": 2, "ClusterType": "multi-node" }, "ClusterVersion": "1.0", "AllowVersionUpgrade": true, "NumberOfNodes": 4, "PubliclyAccessible": false, "Encrypted": false, "ClusterSnapshotCopyStatus": { "DestinationRegion": "us-west-1", "RetentionPeriod": 15, "ManualSnapshotRetentionPeriod": -1 }, "Tags": [ { "Key": "mytags", "Value": "tag1" } ], "EnhancedVpcRouting": false, "IamRoles": [], "MaintenanceTrackName": "current", "DeferredMaintenanceWindows": [ { "DeferMaintenanceIdentifier": "dfm-mUdVSfDcT1F4SGhw6fyF", "DeferMaintenanceStartTime": "2019-12-10T18:18:39.354Z", "DeferMaintenanceEndTime": "2020-01-09T18:18:39.354Z" } ], "NextMaintenanceWindowStartTime": "2020-01-11T16:00:00Z" } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的快照排程格式

下列程式碼範例會示範如何使用modify-snapshot-schedule

AWS CLI

修改快照排程

下列modify-snapshot-schedule範例會將指定快照排程的速率修改為每 10 小時一次。

aws redshift modify-snapshot-schedule \ --schedule-identifier mysnapshotschedule \ --schedule-definitions "rate(10 hours)"

輸出:

{ "ScheduleDefinitions": [ "rate(10 hours)" ], "ScheduleIdentifier": "mysnapshotschedule", "ScheduleDescription": "My schedule description", "Tags": [] }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的快照排程格式

下列程式碼範例會示範如何使用purchase-reserved-node-offering

AWS CLI

購買保留 NodeThis 範例會示範如何購買預留節點供應項目。通過調用describe-reserved-node-offerings. 命令獲得:reserved-node-offering-id

aws redshift purchase-reserved-node-offering --reserved-node-offering-id ceb6a579-cf4c-4343-be8b-d832c45ab51c

結果:

{ "ReservedNode": { "OfferingType": "Heavy Utilization", "FixedPrice": "", "NodeType": "dw.hs1.xlarge", "ReservedNodeId": "1ba8e2e3-bc01-4d65-b35d-a4a3e931547e", "UsagePrice": "", "RecurringCharges": [ { "RecurringChargeAmount": "", "RecurringChargeFrequency": "Hourly" } ], "NodeCount": 1, "State": "payment-pending", "StartTime": "2013-02-13T17:08:39.051Z", "Duration": 31536000, "ReservedNodeOfferingId": "ceb6a579-cf4c-4343-be8b-d832c45ab51c" }, "ResponseMetadata": { "RequestId": "01bda7bf-7600-11e2-b605-2568d7396e7f" } }

下列程式碼範例會示範如何使用reboot-cluster

AWS CLI

重新啟動 ClusterThis 範例會重新啟動叢集。默認情況下,輸出為 JSON 格式。命令:

aws redshift reboot-cluster --cluster-identifier mycluster

結果:

{ "Cluster": { "NodeType": "dw.hs1.xlarge", "Endpoint": { "Port": 5439, "Address": "mycluster.coqoarplqhsn.us-east-1.redshift.amazonaws.com" }, "ClusterVersion": "1.0", "PubliclyAccessible": "true", "MasterUsername": "adminuser", "ClusterParameterGroups": [ { "ParameterApplyStatus": "in-sync", "ParameterGroupName": "default.redshift-1.0" } ], "ClusterSecurityGroups": [ { "Status": "active", "ClusterSecurityGroupName": "default" } ], "AllowVersionUpgrade": true, "VpcSecurityGroups": \[], "AvailabilityZone": "us-east-1a", "ClusterCreateTime": "2013-01-22T21:59:29.559Z", "PreferredMaintenanceWindow": "sun:23:15-mon:03:15", "AutomatedSnapshotRetentionPeriod": 1, "ClusterStatus": "rebooting", "ClusterIdentifier": "mycluster", "DBName": "dev", "NumberOfNodes": 2, "PendingModifiedValues": {} }, "ResponseMetadata": { "RequestId": "61c8b564-64e8-11e2-8f7d-3b939af52818" } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考RebootCluster中的。

下列程式碼範例會示範如何使用reset-cluster-parameter-group

AWS CLI

「參數」 GroupThis 範例中的「重設參數」顯示如何重設參數群組中的所有參數。指令:

aws redshift reset-cluster-parameter-group --parameter-group-name myclusterparametergroup --reset-all-parameters

下列程式碼範例會示範如何使用resize-cluster

AWS CLI

調整叢集大小

下列resize-cluster範例會調整指定叢集的大小。

aws redshift resize-cluster \ --cluster-identifier mycluster \ --cluster-type multi-node \ --node-type dc2.large \ --number-of-nodes 6 \ --classic

輸出:

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "ClusterStatus": "resizing", "ClusterAvailabilityStatus": "Modifying", "MasterUsername": "adminuser", "DBName": "dev", "Endpoint": { "Address": "mycluster.cmeaswqeuae.us-west-2.redshift.amazonaws.com", "Port": 5439 }, "ClusterCreateTime": "2019-12-05T18:44:36.991Z", "AutomatedSnapshotRetentionPeriod": 3, "ManualSnapshotRetentionPeriod": -1, "ClusterSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sh-a1a123ab", "Status": "active" } ], "ClusterParameterGroups": [ { "ParameterGroupName": "default.redshift-1.0", "ParameterApplyStatus": "in-sync" } ], "ClusterSubnetGroupName": "default", "VpcId": "vpc-a1abc1a1", "AvailabilityZone": "us-west-2f", "PreferredMaintenanceWindow": "sat:16:00-sat:16:30", "PendingModifiedValues": { "NodeType": "dc2.large", "NumberOfNodes": 6, "ClusterType": "multi-node" }, "ClusterVersion": "1.0", "AllowVersionUpgrade": true, "NumberOfNodes": 4, "PubliclyAccessible": false, "Encrypted": false, "ClusterSnapshotCopyStatus": { "DestinationRegion": "us-west-1", "RetentionPeriod": 15, "ManualSnapshotRetentionPeriod": -1 }, "Tags": [ { "Key": "mytags", "Value": "tag1" } ], "EnhancedVpcRouting": false, "IamRoles": [], "MaintenanceTrackName": "current", "DeferredMaintenanceWindows": [ { "DeferMaintenanceIdentifier": "dfm-mUdVCfDcT1B4SGhw6fyF", "DeferMaintenanceStartTime": "2019-12-10T18:18:39.354Z", "DeferMaintenanceEndTime": "2020-01-09T18:18:39.354Z" } ], "NextMaintenanceWindowStartTime": "2020-01-11T16:00:00Z", "ResizeInfo": { "ResizeType": "ClassicResize", "AllowCancelResize": true } } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的調整叢集大小。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ResizeCluster中的。

下列程式碼範例會示範如何使用restore-from-cluster-snapshot

AWS CLI

還原叢集從 SnapshotThis 範例從快照還原叢集。命令:

aws redshift restore-from-cluster-snapshot --cluster-identifier mycluster-clone --snapshot-identifier my-snapshot-id

結果:

{ "Cluster": { "NodeType": "dw.hs1.xlarge", "ClusterVersion": "1.0", "PubliclyAccessible": "true", "MasterUsername": "adminuser", "ClusterParameterGroups": [ { "ParameterApplyStatus": "in-sync", "ParameterGroupName": "default.redshift-1.0" } ], "ClusterSecurityGroups": [ { "Status": "active", "ClusterSecurityGroupName": "default" } ], "AllowVersionUpgrade": true, "VpcSecurityGroups": \[], "PreferredMaintenanceWindow": "sun:23:15-mon:03:15", "AutomatedSnapshotRetentionPeriod": 1, "ClusterStatus": "creating", "ClusterIdentifier": "mycluster-clone", "DBName": "dev", "NumberOfNodes": 2, "PendingModifiedValues": {} }, "ResponseMetadata": { "RequestId": "77fd512b-64e3-11e2-8f5b-e90bd6c77476" } }

下列程式碼範例會示範如何使用restore-table-from-cluster-snapshot

AWS CLI

若要從叢集快照還原表格

下列restore-table-from-cluster-snapshot範例會從指定叢集快照中的指定資料表建立新資料表。

aws redshift restore-table-from-cluster-snapshot / --cluster-identifier mycluster / --snapshot-identifier mycluster-2019-11-19-16-17 / --source-database-name dev / --source-schema-name public / --source-table-name mytable / --target-database-name dev / --target-schema-name public / --new-table-name mytable-clone

輸出:

{ "TableRestoreStatus": { "TableRestoreRequestId": "a123a12b-abc1-1a1a-a123-a1234ab12345", "Status": "PENDING", "RequestTime": "2019-12-20T00:20:16.402Z", "ClusterIdentifier": "mycluster", "SnapshotIdentifier": "mycluster-2019-11-19-16-17", "SourceDatabaseName": "dev", "SourceSchemaName": "public", "SourceTableName": "mytable", "TargetDatabaseName": "dev", "TargetSchemaName": "public", "NewTableName": "mytable-clone" } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的從快照還原表格

下列程式碼範例會示範如何使用revoke-cluster-security-group-ingress

AWS CLI

撤銷 EC2 安全性 GroupThis 範例的存取權限會撤銷對具名 Amazon EC2 安全群組的存取權。命令:

aws redshift revoke-cluster-security-group-ingress --cluster-security-group-name mysecuritygroup --ec2-security-group-name myec2securitygroup --ec2-security-group-owner-id 123445677890

撤銷 CIDR 範圍的存取權此範例會撤銷 CIDR 範圍的存取權。命令:

aws redshift revoke-cluster-security-group-ingress --cluster-security-group-name mysecuritygroup --cidrip 192.168.100.100/32

下列程式碼範例會示範如何使用revoke-snapshot-access

AWS CLI

撤銷要還原的 AWS 帳戶授權 SnapshotThis 範例會撤銷 AWS 帳戶的授權444455556666以還原快照my-snapshot-id。依預設,輸出為 JSON 格式。指令:

aws redshift revoke-snapshot-access --snapshot-id my-snapshot-id --account-with-restore-access 444455556666

結果:

{ "Snapshot": { "Status": "available", "SnapshotCreateTime": "2013-07-17T22:04:18.947Z", "EstimatedSecondsToCompletion": 0, "AvailabilityZone": "us-east-1a", "ClusterVersion": "1.0", "MasterUsername": "adminuser", "Encrypted": false, "OwnerAccount": "111122223333", "BackupProgressInMegabytes": 11.0, "ElapsedTimeInSeconds": 0, "DBName": "dev", "CurrentBackupRateInMegabytesPerSecond: 0.1534, "ClusterCreateTime": "2013-01-22T21:59:29.559Z", "ActualIncrementalBackupSizeInMegabytes"; 11.0, "SnapshotType": "manual", "NodeType": "dw.hs1.xlarge", "ClusterIdentifier": "mycluster", "TotalBackupSizeInMegabytes": 20.0, "Port": 5439, "NumberOfNodes": 2, "SnapshotIdentifier": "my-snapshot-id" } }

下列程式碼範例會示範如何使用rotate-encryption-key

AWS CLI

輪替叢集的加密金鑰

下列rotate-encryption-key範例會輪替指定叢集的加密金鑰。

aws redshift rotate-encryption-key \ --cluster-identifier mycluster

輸出:

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "ClusterStatus": "rotating-keys", "ClusterAvailabilityStatus": "Modifying", "MasterUsername": "adminuser", "DBName": "dev", "Endpoint": { "Address": "mycluster.cmeaswqeuae.us-west-2.redshift.amazonaws.com", "Port": 5439 }, "ClusterCreateTime": "2019-12-10T19:25:45.886Z", "AutomatedSnapshotRetentionPeriod": 30, "ManualSnapshotRetentionPeriod": -1, "ClusterSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sh-a1a123ab", "Status": "active" } ], "ClusterParameterGroups": [ { "ParameterGroupName": "default.redshift-1.0", "ParameterApplyStatus": "in-sync" } ], "ClusterSubnetGroupName": "default", "VpcId": "vpc-a1abc1a1", "AvailabilityZone": "us-west-2a", "PreferredMaintenanceWindow": "sat:16:00-sat:16:30", "PendingModifiedValues": {}, "ClusterVersion": "1.0", "AllowVersionUpgrade": true, "NumberOfNodes": 2, "PubliclyAccessible": false, "Encrypted": true, "Tags": [], "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/bPxRfih3yCo8nvbEXAMPLEKEY", "EnhancedVpcRouting": false, "IamRoles": [ { "IamRoleArn": "arn:aws:iam::123456789012:role/myRedshiftRole", "ApplyStatus": "in-sync" } ], "MaintenanceTrackName": "current", "DeferredMaintenanceWindows": [], "NextMaintenanceWindowStartTime": "2019-12-14T16:00:00Z" } }

如需詳細資訊,請參閱 Amazon Redshift 叢集管理指南中的 Amazon Redshift 資料庫加密