本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
开始使用 Cloud Control API
使用此简短教程开始使用执行资源操作 AWS 云端控制 API。您将学习关于使用 Cloud Control API 创建、读取、更新、删除和列出资源的基础知识。
步骤 1:创建资源
在本教程中,请创建 类型的资源。将该日志组命名为 AWS::Logs::LogGroupCloudControlExample,并将其保留策略设置为 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}'Cloud Control API 会返回一个包含有关资源操作请求状态的信息的
ProgressEvent对象。{ "ProgressEvent": { "EventTime": "2024-08-26T22:07:23.347Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "CREATE", "Identifier": "CloudControlExample", "RequestToken": "758f4a4e-fef4-491a-9b07-123456789012" } } -
-
要跟踪资源操作请求的状态,请运行带以下参数的
get-resource-request-status命令:-
将
request-token参数指定为ProgressEvent对象中返回的RequestToken属性值。
$aws cloudcontrol get-resource-request-status --request-token758f4a4e-fef4-491a-9b07-123456789012Cloud Control API 会返回一个包含有关资源操作请求状态的信息的
ProgressEvent对象。当 Cloud Control API 成功创建资源后,它会将OperationStatus值设置为SUCCESS。{ "ProgressEvent": { "EventTime": "2024-08-26T22:29:23.326Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "SUCCESS", "Operation": "CREATE", "Identifier": "CloudControlExample", "RequestToken": "758f4a4e-fef4-491a-9b07-123456789012" } } -
步骤 2:读取(描述)资源
接下来,读取您刚创建的资源的当前状态。
-
在中 AWS CLI,使用以下参数运行
get-resource命令:-
将
identifier指定为创建资源时ProgressEvent对象中返回的identifier属性值。在本例中,它是CloudControlExample,即您为日志组指定的名称。
$aws cloudcontrol get-resource --type-name AWS::Logs::LogGroup --identifier CloudControlExampleCloud Control API 返回有关资源当前状态的详细信息,包括其属性和设置的模型。在本例中,这包括资源创建时由 Amazon Ev CloudWatch ents 生成的属性。
Arn{ "TypeName": "AWS::Logs::LogGroup", "ResourceDescription": { "Identifier": "CloudControlExample", "ResourceModel": '{"RetentionInDays": 90, "LogGroupName": "CloudControlExample", "Arn": "arn:aws:logs:us-west-2:123456789012:log-group:CloudControlExample:*"}' } } -
步骤 3:更新资源
接下来,更新日志组,将保留策略天数翻一番,使其达到 180 天。
-
在中 AWS CLI,使用以下参数运行
update-resource命令:-
将
type-name指定为AWS::Logs::LogGroup。 -
将
identifier指定为创建资源时ProgressEvent对象中返回的identifier属性值。在本例中,它是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}]'Cloud Control API 会返回一个包含有关资源操作请求状态的信息的
ProgressEvent对象。{ "ProgressEvent": { "EventTime": "2024-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-123456789012" } } -
-
要跟踪资源操作请求的状态,请运行带以下参数的
get-resource-request-status命令:-
将
request-token参数指定为ProgressEvent对象中返回的RequestToken属性值。
$aws cloudcontrol get-resource-request-status --request-token2026055d-f21c-4b50-bd40-123456789012Cloud Control API 会返回一个包含有关资源操作请求状态的信息的
ProgressEvent对象。当 Cloud Control API 成功更新资源后,它会将OperationStatus值设置为SUCCESS。{ "ProgressEvent": { "EventTime": "2024-08-26T22:29:23.326Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "SUCCESS", "Operation": "UPDATE", "Identifier": "CloudControlExample", "RequestToken": "2026055d-f21c-4b50-bd40-123456789012" } } -
步骤 4:列出特定类型的所有资源
接下来,使用 Cloud Control API 发现 AWS 账户中的资源。
-
在中 AWS CLI,使用以下参数运行
list-resources命令:-
将
type-name指定为AWS::Logs::LogGroup。
$aws cloudcontrol list-resources --type-name AWS::Logs::LogGroupCloud Control 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:123456789012:log-group:CloudControlExample:*"}' }, { "Identifier": "AnotherLogGroupResourceExample", "Properties": '{"RetentionInDays": 90, "LogGroupName": "AnotherLogGroupResourceExample", "Arn": "arn:aws:logs:us-west-2:123456789012:log-group:AnotherLogGroupResourceExample:*"}' }, ] } -
第 5 步:删除资源
最后,从本教程中删除要清理的日志组。
-
在中 AWS CLI,使用以下参数运行
delete-resource命令:-
将
type-name指定为AWS::Logs::LogGroup。 -
将
identifier指定为创建资源时ProgressEvent对象中返回的identifier属性值。在本例中,它是,即您为日志组指定的名称。CloudControlExample
$aws cloudcontrol delete-resource --type-name AWS::Logs::LogGroup --identifier CloudControlExampleCloud Control API 会返回一个包含有关资源操作请求状态的信息的
ProgressEvent对象。{ "ProgressEvent": { "EventTime": "2024-08-26T22:50:20.037Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "DELETE", "Identifier": "CloudControlExample", "RequestToken": "bb0ed9cd-84f9-44c2-b638-123456789012" } } -
-
要跟踪资源操作请求的状态,请运行带以下参数的
get-resource-request-status命令:-
将
request-token参数指定为ProgressEvent对象中返回的RequestToken属性值。
$aws cloudcontrol get-resource-request-status --request-tokenbb0ed9cd-84f9-44c2-b638-123456789012Cloud Control API 会返回一个包含有关资源操作请求状态的信息的
ProgressEvent对象。当 Cloud Control API 成功删除资源后,它会将OperationStatus值设置为SUCCESS。{ "ProgressEvent": { "EventTime": "2024-08-26T22:50:20.831Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "SUCCESS", "Operation": "DELETE", "Identifier": "CloudControlExample", "RequestToken": "bb0ed9cd-84f9-44c2-b638-123456789012" } } -
后续步骤
有关在资源中使用云控制 API 的详细信息和示例,请参阅云控制 API 资源操作。