使用重复数据删除字符串 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用重复数据删除字符串

OpsCenter 使用内置逻辑和可配置的重复数据删除字符串的组合来帮助避免创建重复的 OpsItems。无论何时调用 CreateOpsItem API 操作,都会应用重复数据删除内置逻辑。创建 OpsItem 时,Systems Manager 会创建和存储基于重复数据删除字符串的哈希值,以及启动 OpsItem 的资源。发出创建新 OpsItem 的请求时,系统检查新请求中的删除重复数据字符串。如果此重复数据删除字符串存在匹配的哈希值,则 Systems Manager 不会创建新 OpsItem。

请注意以下有关 OpsCenter 和重复数据删除的信息:

  • 重复数据删除字符串不区分大小写。如果系统在传入的 OpsItem 中基于重复数据删除字符串找到匹配的哈希值,则不管该重复数据删除字符串的大小写如何,都不会创建新的 OpsItem。

  • 如果系统在 OpsItem 中找到匹配的重复数据删除字符串,并且 OpsItem 的状态为 Open/InProgress,则不会创建新的 OpsItem。如果在状态为 Resolved 的 OpsItem 中找到匹配的重复数据删除字符串,则系统将创建新的 OpsItem。

  • 如果系统在 OpsItem 中找到匹配的重复数据删除字符串,但资源不同,则系统会创建新的 OpsItem。

  • 如果没有为传入的 OpsItem 指定重复数据删除字符串,则始终创建 OpsItem。

配置重复数据删除字符串

OpsCenter 包含以下用于配置重复数据删除字符串的选项。

  • 编辑预配置的重复数据删除字符串:每个 OpsItem 默认 Eventbridge 规则均包含一个预配置的重复数据删除字符串。您可以在 Eventbridge 中编辑这些重复数据删除字符串。

  • 手动指定重复数据删除字符串:在使用 Amazon Command Line Interface (Amazon CLI) 或 Amazon Tools for Windows PowerShell 创建新的 OpsItem 时,您可以使用控制台中的 Deduplication string (重复数据删除字符串) 字段或 OperationalData 参数输入重复数据删除字符串。

在系统创建 OpsItem 后,如果已指定一个字符串,则系统将填充 Dedup string (重复数据删除字符串) 字段。以下为示例。


                        在 Amazon Web Services Management Console 中查看 OpsItem 重复数据删除条目

创建 OpsItem 之后,您无法 编辑或更改该 OpsItem 中的重复数据删除字符串。

此部分包含以下用于配置重复数据删除字符串的过程。

注意

有关在控制台中手动创建 OpsItem 时输入重复数据删除字符串的信息,请参阅 手动创建 OpsItems

在 OpsCenter 默认 Eventbridge 规则中编辑重复数据删除字符串

按照以下过程为将 OpsCenter 作为目标的 Eventbridge 规则指定重复数据删除字符串。

要在 OpsItem 默认 Eventbridge 规则中编辑重复数据删除字符串,请执行以下步骤:

  1. 登录 Amazon Web Services Management Console并打开 Amazon EventBridge 控制台 (https://console.aws.amazon.com/events/)。

  2. 在导航窗格中,选择 Rules (规则)

  3. 选择一个规则,然后选择 Edit (编辑)

  4. 转至 Select target(s)(选择目标)页面。

  5. Additional settings(其他设置)部分,选择 Configure input transformer(配置输入转换器)。

  6. Template(模块)对话框中,找到该 "operationalData": { "/aws/dedup" JSON 条目以及您要编辑的重复数据删除字符串。

    Eventbridge 规则中的重复数据删除字符串条目使用以下 JSON 格式。

    "operationalData": { "/aws/dedup": {"type": "SearchableString","value": "{\"dedupString\":\"Words the system should use to check for duplicate OpsItems\"}"}}

    以下是示例。

    "operationalData": { "/aws/dedup": {"type": "SearchableString","value": "{\"dedupString\":\"SSMOpsCenter-EBS-volume-performance-issue\"}"}}
  7. 编辑这些重复数据删除字符串,然后选择 Confirm(确认)。

  8. 选择 Next (下一步)

  9. 选择 Next (下一步)

  10. 选择 Update rule (更新规则)

使用 Amazon CLI 指定重复数据删除字符串

在使用 Amazon CLI 手动创建新的 OpsItem 时,可以指定重复数据删除字符串。使用 OperationalData 参数输入重复数据删除字符串。参数语法使用 JSON,如下所示。

--operational-data '{"/aws/dedup":{"Value":"{\"dedupString\": \"Words the system should use to check for duplicate OpsItems\"}","Type":"SearchableString"}}'

此处的示例命令指定重复数据删除字符串 disk full

Linux & macOS
aws ssm create-ops-item \ --title "EC2 instance disk full" \ --description "Log clean up may have failed which caused the disk to be full" \ --priority 1 \ --source ec2 \ --operational-data '{"/aws/dedup":{"Value":"{\"dedupString\": \"disk full\"}","Type":"SearchableString"}}' \ --tags "Key=EC2,Value=ProductionServers" \ --notifications Arn="arn:aws:sns:us-west-1:12345678:TestUser"
Windows
aws ssm create-ops-item ^ --title "EC2 instance disk full" ^ --description "Log clean up may have failed which caused the disk to be full" ^ --priority 1 ^ --source EC2 ^ --operational-data={\"/aws/dedup\":{\"Value\":\"{\\"""dedupString\\""":\\"""disk full\\"""}\",\"Type\":\"SearchableString\"}} ^ --tags "Key=EC2,Value=ProductionServers" --notifications Arn="arn:aws:sns:us-west-1:12345678:TestUser"