

# 使用 AWS CLI 的 CloudWatch Observability Access Monitor 示例
<a name="cli_oam_code_examples"></a>

以下代码示例演示如何通过将 AWS Command Line Interface 与 CloudWatch Observability Access Monitor 结合使用，来执行操作和实现常见场景。

*操作是大型程序的代码摘录*，必须在上下文中运行。您可以通过操作了解如何调用单个服务函数，还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接，您可以从中找到有关如何在上下文中设置和运行代码的说明。

**Topics**
+ [操作](#actions)

## 操作
<a name="actions"></a>

### `create-link`
<a name="oam_CreateLink_cli_topic"></a>

以下代码示例演示了如何使用 `create-link`。

**AWS CLI**  
**创建链接**  
以下 `create-link` 示例在源账户和您在监控账户中创建的接收器之间创建链接。  

```
aws oam create-link \
    --label-template sourceAccount \
    --resource-types AWS::CloudWatch::Metric \
    --sink-identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345
```
输出：  

```
{
    "Arn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111",
    "Id": "a1b2c3d4-5678-90ab-cdef-example11111",
    "Label": "sourceAccount",
    "LabelTemplate": "sourceAccount",
    "ResourceTypes": [
        "AWS::CloudWatch::Metric"
    ],
    "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345",
    "Tags": {}
}
```
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [CreateLink](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/create-link.html)。

### `create-sink`
<a name="oam_CreateSink_cli_topic"></a>

以下代码示例演示了如何使用 `create-sink`。

**AWS CLI**  
**创建接收器**  
以下 `create-sink` 示例在当前账户中创建接收器，以便该账户可用作 CloudWatch 跨账户可观测性中的监控账户。  

```
aws oam create-sink \
    --name DemoSink
```
输出：  

```
{
    "Arn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345",
    "Id": "a1b2c3d4-5678-90ab-cdef-example12345",
    "Name": "DemoSink",
    "Tags": {}
}
```
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI Command Reference》**中的 [CreateSink](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/create-sink.html)。

### `delete-link`
<a name="oam_DeleteLink_cli_topic"></a>

以下代码示例演示了如何使用 `delete-link`。

**AWS CLI**  
**删除链接**  
以下 `delete-link` 示例删除监控账户接收器和源账户之间的链接。  

```
aws oam delete-link \
    --identifier arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111
```
此命令不生成任何输出。  
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [DeleteLink](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/delete-link.html)。

### `delete-sink`
<a name="oam_DeleteSink_cli_topic"></a>

以下代码示例演示了如何使用 `delete-sink`。

**AWS CLI**  
**删除接收器**  
以下 `delete-sink` 示例删除接收器。您必须先删除所有指向接收器的链接，之后才能删除接收器。  

```
aws oam delete-sink \
    --identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345
```
此命令不生成任何输出。  
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI Command Reference》**中的 [DeleteSink](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/delete-sink.html)。

### `get-link`
<a name="oam_GetLink_cli_topic"></a>

以下代码示例演示了如何使用 `get-link`。

**AWS CLI**  
**返回有关某个链接的完整信息**  
以下 `get-link` 示例返回有关某个链接的完整信息。  

```
aws oam get-link \
    --identifier arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111
```
输出：  

```
{
    "Arn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111",
    "Id": "a1b2c3d4-5678-90ab-cdef-example11111",
    "Label": "sourceAccount",
    "LabelTemplate": "sourceAccount",
    "ResourceTypes": [
        "AWS::CloudWatch::Metric"
    ],
    "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345",
    "Tags": {}
}
```
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI Command Reference》**中的 [GetLink](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/get-link.html)。

### `get-sink-policy`
<a name="oam_GetSinkPolicy_cli_topic"></a>

以下代码示例演示了如何使用 `get-sink-policy`。

**AWS CLI**  
**返回附加到接收器的当前接收器策略**  
以下 `get-sink-policy` 示例返回附加到接收器的当前接收器策略。  

```
aws oam get-sink-policy \
    --sink-identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345
```
输出：  

```
{
    "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345",
    "SinkId": "a1b2c3d4-5678-90ab-cdef-example12345",
    "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789111:root\"},\"Action\":[\"oam:CreateLink\",\"oam:UpdateLink\"],\"Resource\":\"*\",\"Condition\":{\"ForAllValues:StringEquals\":{\"oam:ResourceTypes\":[\"AWS::Logs::LogGroup\",\"AWS::CloudWatch::Metric\",\"AWS::XRay::Trace\",\"AWS::ApplicationInsights::Application\"]}}}]}"
}
```
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI Command Reference》**中的 [GetSinkPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/get-sink-policy.html)。

### `get-sink`
<a name="oam_GetSink_cli_topic"></a>

以下代码示例演示了如何使用 `get-sink`。

**AWS CLI**  
**返回有关某个监控账户接收器的完整信息**  
以下 `get-sink` 示例返回有关某个监控账户接收器的完整信息。  

```
aws oam get-sink \
    --identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345
```
输出：  

```
{
    "Arn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345",
    "Id": "a1b2c3d4-5678-90ab-cdef-example12345",
    "Name": "DemoSink",
    "Tags": {}
}
```
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI Command Reference》**中的 [GetSink](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/get-sink.html)。

### `list-attached-links`
<a name="oam_ListAttachedLinks_cli_topic"></a>

以下代码示例演示了如何使用 `list-attached-links`。

**AWS CLI**  
**返回链接到该监控账户接收器的源账户链接的列表**  
以下 `list-attached-links` 示例返回链接到该监控账户接收器的源账户链接的列表。  

```
aws oam list-attached-links \
    --sink-identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345
```
输出：  

```
{
    "Items": [{
        "Label": "Monitoring account",
        "LinkArn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111",
        "ResourceTypes": [
            "AWS::ApplicationInsights::Application",
            "AWS::Logs::LogGroup",
            "AWS::CloudWatch::Metric",
            "AWS::XRay::Trace"
        ]
    }]
}
```
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI Command Reference》**中的 [ListAttachedLinks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/list-attached-links.html)。

### `list-links`
<a name="oam_ListLinks_cli_topic"></a>

以下代码示例演示了如何使用 `list-links`。

**AWS CLI**  
**返回某个监控账户接收器的链接列表**  
以下 `list-links` 示例返回某个监控账户接收器的链接列表。在源账户中运行此操作可返回指向该源账户拥有的监控账户接收器的链接列表。  

```
aws oam list-links
```
输出：  

```
{
    "Items": [{
        "Arn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111",
        "Id": "a1b2c3d4-5678-90ab-cdef-example11111",
        "Label": "sourceAccount",
        "ResourceTypes": [
            "AWS::CloudWatch::Metric"
        ],
        "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345"
    }]
}
```
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI Command Reference》**中的 [ListLinks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/list-links.html)。

### `list-sinks`
<a name="oam_ListSinks_cli_topic"></a>

以下代码示例演示了如何使用 `list-sinks`。

**AWS CLI**  
**返回在监控账户中创建的接收器的列表**  
以下 `list-sinks` 示例返回在监控账户中创建的接收器的列表。在监控账户中运行此操作。  

```
aws oam list-sinks
```
输出：  

```
{
    "Items": [
        {
            "Arn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345",
            "Id": "a1b2c3d4-5678-90ab-cdef-example12345",
            "Name": "DemoSink"
        }
    ]
}
```
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI Command Reference》**中的 [ListSinks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/list-sinks.html)。

### `list-tags-for-resource`
<a name="oam_ListTagsForResource_cli_topic"></a>

以下代码示例演示了如何使用 `list-tags-for-resource`。

**AWS CLI**  
**显示与资源关联的标签**  
以下 `list-tags-for-resource` 示例显示与接收器关联的标签。  

```
aws oam list-tags-for-resource \
    --resource-arn arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345
```
输出：  

```
{
    "Tags": {
        "Team": "Devops"
    }
}
```
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [ListTagsForResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/list-tags-for-resource.html)。

### `put-sink-policy`
<a name="oam_PutSinkPolicy_cli_topic"></a>

以下代码示例演示了如何使用 `put-sink-policy`。

**AWS CLI**  
**创建或更新资源策略**  
以下 `put-sink-policy` 示例创建资源策略，该策略向源账户授予链接到监控账户接收器的权限。  

```
aws oam put-sink-policy \
    --policy '{"Version":"2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::123456789111:root"},"Action":["oam:CreateLink","oam:UpdateLink"],"Resource":"*","Condition":{"ForAllValues:StringEquals":{"oam:ResourceTypes":["AWS::Logs::LogGroup","AWS::CloudWatch::Metric","AWS::XRay::Trace","AWS::ApplicationInsights::Application"]}}}]}' \
    --sink-identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345
```
输出：  

```
{
    "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345",
    "SinkId": "a1b2c3d4-5678-90ab-cdef-example12345",
    "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789111:root\"},\"Action\":[\"oam:CreateLink\",\"oam:UpdateLink\"],\"Resource\":\"*\",\"Condition\":{\"ForAllValues:StringEquals\":{\"oam:ResourceTypes\":[\"AWS::Logs::LogGroup\",\"AWS::CloudWatch::Metric\",\"AWS::XRay::Trace\",\"AWS::ApplicationInsights::Application\"]}}}]}"
}
```
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI Command Reference》**中的 [PutSinkPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/put-sink-policy.html)。

### `tag-resource`
<a name="oam_TagResource_cli_topic"></a>

以下代码示例演示了如何使用 `tag-resource`。

**AWS CLI**  
**为指定资源分配一个或多个标签**  
以下 `tag-resource` 示例标记接收器 `arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345`。  

```
aws oam tag-resource \
    --resource-arn arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345 \
    --tags team=Devops
```
此命令不生成任何输出。  
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [TagResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/tag-resource.html)。

### `untag-resource`
<a name="oam_UntagResource_cli_topic"></a>

以下代码示例演示了如何使用 `untag-resource`。

**AWS CLI**  
**从指定资源中移除一个或多个标签**  
以下 `untag-resource` 示例从接收器 `arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345` 中移除键为 `team` 的标签。  

```
aws oam untag-resource \
    --resource-arn arn:aws:oam:us-east-2:123456789012:sink/f3f42f60-f0f2-425c-1234-12347bdd821f \
    --tag-keys team
```
此命令不生成任何输出。  
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [UntagResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/untag-resource.html)。

### `update-link`
<a name="oam_UpdateLink_cli_topic"></a>

以下代码示例演示了如何使用 `update-link`。

**AWS CLI**  
**更改从源账户共享到其链接的监控账户接收器的数据类型**  
以下 `update-link` 示例使用资源类型 `AWS::CloudWatch::Metric` 和 `AWS::Logs::LogGroup` 更新链接 `arn:aws:oam:us-east-2:123456789111:link/0123e691-e7ef-43fa-1234-c57c837fced0`。  

```
aws oam update-link \
    --identifier arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111 \
    --resource-types "AWS::CloudWatch::Metric" "AWS::Logs::LogGroup"
```
输出：  

```
{
    "Arn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111",
    "Id": "a1b2c3d4-5678-90ab-cdef-example11111",
    "Label": "sourceAccount",
    "LabelTemplate": "sourceAccount",
    "ResourceTypes": [
        "AWS::CloudWatch::Metric",
        "AWS::Logs::LogGroup"
    ],
    "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345",
    "Tags": {}
}
```
有关更多信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [UpdateLink](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/oam/update-link.html)。