使用 的雲端控制 API 範例 AWS CLI - AWS SDK 程式碼範例

文件 AWS SDK 範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例

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

使用 的雲端控制 API 範例 AWS CLI

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 Cloud Control API 來執行動作和實作常見案例。

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

每個範例均包含完整原始碼的連結,您可在連結中找到如何設定和執行內容中程式碼的相關指示。

主題

動作

以下程式碼範例顯示如何使用 create-resource

AWS CLI

建立資源

下列create-resource範例會建立名為 ResourceExample 的 AWS::Kinesis::Stream 資源,其保留期間為 168 小時,碎片計數為 3。

aws cloudcontrol create-resource \ --type-name AWS::Kinesis::Stream \ --desired-state "{\"Name\": \"ResourceExample\",\"RetentionPeriodHours\":168, \"ShardCount\":3}"

輸出:

{ "ProgressEvent": { "EventTime": 1632506656.706, "TypeName": "AWS::Kinesis::Stream", "OperationStatus": "IN_PROGRESS", "Operation": "CREATE", "Identifier": "ResourceExample", "RequestToken": "20999d87-e304-4725-ad84-832dcbfd7fc5" } }

如需詳細資訊,請參閱《Cloud Control API 使用者指南》中的建立資源

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateResource

以下程式碼範例顯示如何使用 delete-resource

AWS CLI

刪除資源

下列delete-resource範例會從您的帳戶刪除識別碼為 ResourceExample 的 a AWS::Kinesis::Stream 資源 AWS 。

aws cloudcontrol delete-resource \ --type-name AWS::Kinesis::Stream \ --identifier ResourceExample

輸出:

{ "ProgressEvent": { "TypeName": "AWS::Kinesis::Stream", "Identifier": "ResourceExample", "RequestToken": "e48f26ff-d0f9-4ab8-a878-120db1edf111", "Operation": "DELETE", "OperationStatus": "IN_PROGRESS", "EventTime": 1632950300.14 } }

如需詳細資訊,請參閱《Cloud Control API 使用者指南》中的刪除資源

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteResource

以下程式碼範例顯示如何使用 get-resource-request-status

AWS CLI

取得資源請求的狀態資訊

下列 get-resource-request-status 範例傳回指定資源請求的狀態資訊。

aws cloudcontrol get-resource-request-status \ --request-token "e1a6b86e-46bd-41ac-bfba-001234567890"

輸出:

{ "ProgressEvent": { "TypeName": "AWS::Kinesis::Stream", "Identifier": "Demo", "RequestToken": "e1a6b86e-46bd-41ac-bfba-001234567890", "Operation": "CREATE", "OperationStatus": "FAILED", "EventTime": 1632950268.481, "StatusMessage": "Resource of type 'AWS::Kinesis::Stream' with identifier 'Demo' already exists.", "ErrorCode": "AlreadyExists" } }

如需詳細資訊,請參閱《Cloud Control API 使用者指南》中的管理資源操作請求

以下程式碼範例顯示如何使用 get-resource

AWS CLI

取得資源的目前狀態

下列get-resource範例會傳回名為 ResourceExample 的 AWS::Kinesis::Stream 資源的目前狀態。

aws cloudcontrol get-resource \ --type-name AWS::Kinesis::Stream \ --identifier ResourceExample

輸出:

{ "TypeName": "AWS::Kinesis::Stream", "ResourceDescription": { "Identifier": "ResourceExample", "Properties": "{\"Arn\":\"arn:aws:kinesis:us-west-2:099908667365:stream/ResourceExample\",\"RetentionPeriodHours\":168,\"Name\":\"ResourceExample\",\"ShardCount\":3}" } }

如需詳細資訊,請參閱《Cloud Control API 使用者指南》中的讀取資源的目前狀態

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetResource

以下程式碼範例顯示如何使用 list-resource-requests

AWS CLI

列出作用中資源操作請求

下列list-resource-requests範例列出您 AWS 帳戶中失敗之 CREATE 和 UPDATE 操作的資源請求。

aws cloudcontrol list-resource-requests \ --resource-request-status-filter Operations=CREATE,OperationStatuses=FAILED

輸出:

{ "ResourceRequestStatusSummaries": [ { "TypeName": "AWS::Kinesis::Stream", "Identifier": "Demo", "RequestToken": "e1a6b86e-46bd-41ac-bfba-633abcdfdbd7", "Operation": "CREATE", "OperationStatus": "FAILED", "EventTime": 1632950268.481, "StatusMessage": "Resource of type 'AWS::Kinesis::Stream' with identifier 'Demo' already exists.", "ErrorCode": "AlreadyExists" } ] }

如需詳細資訊,請參閱《Cloud Control API 使用者指南》中的管理資源操作請求

以下程式碼範例顯示如何使用 list-resources

AWS CLI

列出指定類型的資源

下列list-resources範例列出您 AWS 帳戶中佈建的 AWS::Kinesis::Stream 資源。

aws cloudcontrol list-resources \ --type-name AWS::Kinesis::Stream

輸出:

{ "TypeName": "AWS::Kinesis::Stream", "ResourceDescriptions": [ { "Identifier": "MyKinesisStream", "Properties": "{\"Name\":\"MyKinesisStream\"}" }, { "Identifier": "AnotherStream", "Properties": "{\"Name\":\"AnotherStream\"}" } ] }

如需詳細資訊,請參閱《Cloud Control API 使用者指南》中的探索資源

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListResources

以下程式碼範例顯示如何使用 update-resource

AWS CLI

更新現有資源的屬性

下列update-resource範例會將名為 ExampleLogGroup 的 AWS::Logs::LogGroup 資源的保留政策更新為 90 天。 ExampleLogGroup

aws cloudcontrol update-resource \ --type-name AWS::Logs::LogGroup \ --identifier ExampleLogGroup \ --patch-document "[{\"op\":\"replace\",\"path\":\"/RetentionInDays\",\"value\":90}]"

輸出:

{ "ProgressEvent": { "EventTime": "2021-08-09T18:17:15.219Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "UPDATE", "Identifier": "ExampleLogGroup", "RequestToken": "5f40c577-3534-4b20-9599-0b0123456789" } }

如需詳細資訊,請參閱《Cloud Control API 使用者指南》中的更新資源

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UpdateResource