本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
雲端控制 API 入門
使用此簡短教學課程開始執行資源作業AWS Cloud Control API。您將學習使用 Cloud Control API 建立、讀取、更新、刪除和列出資源的基本知識。
步驟 1:建立資源
針對本教學課程,請建立類型的資源AWS::Logs::LogGroup
。將命名為日誌群組CloudControlExample
,並將其保留政策設定為 90 天。
-
在 中AWS Command Line Interface(AWS CLI),執行
create-resource
有下列參數的命令:-
指定
type-name
如AWS::Logs::LogGroup
。 -
指定
desired-state
作為包含 JSON 的字符串,該字符串設置所需的屬性:{"LogGroupName": "CloudControlExample", "RetentionInDays": 90}
aws cloudcontrol create-resource --type-name AWS::Logs::LogGroup --desired-state "{"LogGroupName": "CloudControlExample","RetentionInDays":90}"
雲控制 API 傳回 API 傳回 API 傳回 API
ProgressEvent
包含您資源操作請求狀態相關資訊的物件。{ "ProgressEvent": { "EventTime": "2021-08-26T22:07:23.347Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "CREATE", "Identifier": "CloudControlExample", "RequestToken": "758f4a4e-fef4-491a-9b07-00123456789" } }
-
-
若要追蹤資源操作請求的狀態,請執行
get-resource-request-status
有下列參數的命令:-
指定
request-token
參數為RequestToken
中傳回的屬性值ProgressEvent
物件。
aws cloudcontrol get-resource-request-status --request-token
758f4a4e-fef4-491a-9b07-00123456789
雲控制 API 傳回 API 傳回 API 傳回 API
ProgressEvent
包含您資源操作請求狀態相關資訊的物件。當雲端控制 API 成功建立資源時,會設定OperationStatus
值為SUCCESS
。{ "ProgressEvent": { "EventTime": "2021-08-26T22:29:23.326Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "SUCCESS", "Operation": "CREATE", "Identifier": "CloudControlExample", "RequestToken": "758f4a4e-fef4-491a-9b07-00123456789" } }
-
步驟 2:讀取(描述)資源
接下來,請讀取您剛建立資源的目前狀態。
-
在 中AWS CLI,請執行
get-resource
有下列參數的命令:-
指定
identifier
作為identifier
中傳回的屬性值ProgressEvent
創建資源時的對象。在這種情況下,它是CloudControlExample
,您為日誌群組指定的名稱。
aws cloudcontrol get-resource --type-name AWS::Logs::LogGroup --identifier CloudControlExample
Cloud Control API 會傳回有關資源目前狀態的詳細資訊,包括其屬性和設定的模型。在這種情況下,這包括一個屬性,
Arn
,這是由亞馬遜產生的 CloudWatch 建立資源時的事件。{ "TypeName": "AWS::Logs::LogGroup", "ResourceDescription": { "Identifier": "CloudControlExample", "ResourceModel": "{"RetentionInDays": 90, "LogGroupName": "CloudControlExample", "Arn": "arn:aws:logs:us-west-2:090123456789:log-group:CloudControlExample:*"}" } }
-
步驟 3:更新資源
接下來,請更新您的記錄群組,將保留原則加倍至 180 天。
-
在 中AWS CLI,請執行
update-resource
有下列參數的命令:-
指定
type-name
如AWS::Logs::LogGroup
。 -
指定
identifier
作為identifier
中傳回的屬性值ProgressEvent
創建資源時的對象。在這種情況下,它是CloudControlExample
,您為日誌群組指定的名稱。 -
指定
patch-document
參數為包含 JSON 的字串,代表將保留原則更新為 180 天的取代作業。[{"op": "replace", "path": "RetentionInDays", "value": 180}]
如需有關構成修補文件的詳細資訊,請參閱構成修補文件。
aws cloudcontrol update-resource --type-name AWS::Logs::LogGroup --identifier CloudControlExample --patch-document "[{"op": "replace", "path": "RetentionInDays", "value":180}]"
雲控制 API 傳回 API 傳回 API 傳回 API
ProgressEvent
包含您資源操作請求狀態相關資訊的物件。{ "ProgressEvent": { "EventTime": "2021-08-26T22:29:22.547Z", "ResourceModel": "{"RetentionInDays":180,"LogGroupName":"CloudControlExample"}", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "UPDATE", "Identifier": "CloudControlExample", "RequestToken": "2026055d-f21c-4b50-bd40-111111111111" } }
-
-
若要追蹤資源操作請求的狀態,請執行
get-resource-request-status
有下列參數的命令:-
指定
request-token
參數為RequestToken
中傳回的屬性值ProgressEvent
物件。
aws cloudcontrol get-resource-request-status --request-token 2026055d-f21c-4b50-bd40-123456789012
雲控制 API 傳回 API 傳回 API 傳回 API
ProgressEvent
包含您資源操作請求狀態相關資訊的物件。當雲端控制 API 成功更新資源時,會設定OperationStatus
值為SUCCESS
。{ "ProgressEvent": { "EventTime": "2021-08-26T22:29:23.326Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "SUCCESS", "Operation": "UPDATE", "Identifier": "CloudControlExample", "RequestToken": "2026055d-f21c-4b50-bd40-123456789012" } }
-
步驟 4:列出特定類型的所有資源
接下來,使用雲端控制 API 探索您的資源AWS 帳戶。
-
在 中AWS CLI,請執行
list-resources
有下列參數的命令:-
指定
type-name
如AWS::Logs::LogGroup
。
aws cloudcontrol list-resources --type-name AWS::Logs::LogGroup
雲端控制 API 傳回清單
AWS::Logs::LogGroup
您帳戶中的資源,按主要識別碼顯示。其中包括CloudControlExample
,您在本教學課程中建立的資源,以及帳戶中已存在的任何其他記錄群組。另外,對於AWS::Logs::LogGroup
資源,傳回的資訊list-resources
包括每個資源的屬性。{ "TypeName": "AWS::Logs::LogGroup", "ResourceDescriptions": [ { "Identifier": "CloudControlExample", "Properties": "{"RetentionInDays":180, "LogGroupName": "CloudControlExample", "Arn":"arn:aws:logs:us-west-2:090123456789:log-group:CloudControlExample:*"}" }, { "Identifier": "AnotherLogGroupResourceExample", "Properties": "{"RetentionInDays": 90, "LogGroupName": "AnotherLogGroupResourceExample", "Arn": "arn:aws:logs:us-west-2:011111111111:log-group:AnotherLogGroupResourceExample:*"}" }, ] }
-
步驟 5:刪除資源
最後,從本教學課程中刪除要清理的日誌群組。
-
在 中AWS CLI,請執行
delete-resource
有下列參數的命令:-
指定
type-name
如AWS::Logs::LogGroup
。 -
指定
identifier
作為identifier
中傳回的屬性值ProgressEvent
創建資源時的對象。在這種情況下,它是
,您為日誌群組指定的名稱。CloudControlExample
aws cloudcontrol delete-resource --type-name AWS::Logs::LogGroup --identifier CloudControlExample
雲控制 API 傳回 API 傳回 API 傳回 API
ProgressEvent
包含您資源操作請求狀態相關資訊的物件。{ "ProgressEvent": { "EventTime": "2021-08-26T22:50:20.037Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "DELETE", "Identifier": "CloudControlExample", "RequestToken": "bb0ed9cd-84f9-44c2-b638-000000000000" } }
-
-
若要追蹤資源操作請求的狀態,請執行
get-resource-request-status
有下列參數的命令:-
指定
request-token
參數為RequestToken
中傳回的屬性值ProgressEvent
物件。
aws cloudcontrol get-resource-request-status --request-token 2026055d-f21c-4b50-bd40-111111111111
雲控制 API 傳回 API 傳回 API 傳回 API
ProgressEvent
包含您資源操作請求狀態相關資訊的物件。當雲端控制 API 成功刪除資源時,它會設定OperationStatus
值為SUCCESS
。{ "ProgressEvent": { "EventTime": "2021-08-26T22:50:20.831Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "SUCCESS", "Operation": "DELETE", "Identifier": "CloudControlExample", "RequestToken": "bb0ed9cd-84f9-44c2-b638-000000000000" } }
-
後續步驟
如需將雲端控制 API 與資源搭配使用的詳細資訊和範例,請參閱執行資源操作。