创建运行脚本的 Runbook(命令行) - Amazon Web Services Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建运行脚本的 Runbook(命令行)

以下示例演示如何使用AmazonCLI 或AmazonPowerShell 用于创建运行手册的工具,该手册使用Attachment参数。

开始前的准备工作

在开始之前,请确保您准备好了以下资源。

  • 在具有 .yaml 扩展名的 YAML 格式文件中的运行手册的内容,例如MyAutomationDocument.yaml

  • 要附加到运行手册的文件。您可以附加脚本文件或 .zip 文件。

    对于脚本,Automation 支持 Python 3.6 和 3.7 以及 PowerShell Core 6.0。

  • 安装和配置AmazonCLI 或AmazonTools for PowerShell,如果您还没有。

    想要了解有关信息,请参阅安装或升级Amazon命令行工具

附加 S3 存储桶中的单个文件

运行以下命令,以使用 S3 存储桶中存储的脚本文件创建 Runbook。

Linux & macOS
aws ssm create-document \ --name CustomAutomationScript \ --content file://Runbook.yaml \ --document-format YAML \ --attachments "Key=S3FileUrl,Name=script.py,Values=https://DOC-EXAMPLE-BUCKET.s3-aws-region.amazonaws.com/filePath" \ --document-type Automation
Windows
aws ssm create-document ^ --name CustomAutomationScript ^ --content file://AutomationDocument.yaml ^ --document-format YAML ^ --attachments Key=S3FileUrl,Name=script.py,Values="https://DOC-EXAMPLE-BUCKET.s3-aws-region.amazonaws.com/filePath" ^ --document-type Automation
PowerShell
New-SSMDocument ` -Name CustomAutomationScript ` -Content file://AutomationDocument.yaml ` -DocumentFormat YAML ` -Attachments @{ "Key"="S3FileUrl"; "Name"="script.py"; "Values"="https://DOC-EXAMPLE-BUCKET.s3-aws-region.amazonaws.com/filePath" }, @{ "Key"="S3FileUrl"; "Name"="Zip-file.zip"; "Values"="https://DOC-EXAMPLE-BUCKET.s3-aws-region.amazonaws.com/filePath" } ` -DocumentType Automation

附加 S3 存储桶中的文件

运行以下命令,以使用 S3 存储桶中存储的一个或多个脚本文件创建 Runbook。AName键,未指定文件。该命令附加 S3 存储桶位置中的所有支持的文件。

Linux & macOS
aws ssm create-document \ --name CustomAutomationScript \ --content file://Runbook.yaml \ --document-format YAML \ --attachments Key=SourceUrl,Values="https://DOC-EXAMPLE-BUCKET.s3-aws-region.amazonaws.com/filePath" \ --document-type Automation
Windows
aws ssm create-document ^ --name CustomAutomationScript ^ --content file://Runbook.yaml ^ --document-format YAML ^ --attachments Key=SourceUrl,Values="https://DOC-EXAMPLE-BUCKET.s3-aws-region.amazonaws.com/filePath" ^ --document-type Automation
PowerShell
New-SSMDocument ` -Name CustomAutomationScript ` -Content file://Runbook.yaml ` -DocumentFormat YAML ` -Attachments @{ "Key"="SourceUrl"; "Values"="https://DOC-EXAMPLE-BUCKET.s3-aws-region.amazonaws.com/filePath" } ` -DocumentType Automation

从另一个 Runbook 附加文件Amazon Web Services 账户

运行以下命令以使用已附加到您账户中另一个 Runbook 的脚本创建 Runbook。

此命令中键值的格式为runbook 名称/runbook 版本号/file-name。请参阅以下 示例。

"MyDocument/2/script.py"
Linux & macOS
aws ssm create-document \ --name CustomAutomationScript \ --content file://Runbook.yaml \ --document-format YAML \ --attachments Key=AttachmentReference,Values="runbook-name/runbook-version-number/file-name" \ --document-type Automation
Windows
aws ssm create-document ^ --name CustomAutomationScript ^ --content file://Runbook.yaml ^ --document-format YAML ^ --attachments Key=AttachmentReference,Values="runbook-name/runbook-version-number/file-name" ^ --document-type Automation
PowerShell
New-SSMDocument ` -Name CustomAutomationScript ` -Content file://Runbook.yaml ` -DocumentFormat YAML ` -Attachments @{ "Key"="AttachmentReference"; "Values"="runbook-name/runbook-version-number/file-name" } ` -DocumentType Automation

从另一个 Runbook 附加文件Amazon Web Services 账户

运行以下命令以使用已附加到从另一个 Runbook 与您共享的脚本创建 Runbook。Amazon Web Services 账户。

此命令中键值的格式为runbook arn/runbook 版本号/file-name。请参阅以下 示例。

"arn:aws:ssm:us-east-2:123456789012:document/OtherAccountDocument/2/script.py"
Linux & macOS
aws ssm create-document \ --name CustomAutomationScript \ --content file://Runbook.yaml \ --document-format YAML \ --attachments Key=AttachmentReference,Values="runbook-arn/runbook-version-number/file-name/file-name" \ --document-type Automation
Windows
aws ssm create-document ^ --name CustomAutomationScript ^ --content file://Runbook.yaml ^ --document-format YAML ^ --attachments Key=AttachmentReference,Values="runbook-arn/runbook-version-number/file-name" ^ --document-type Automation
PowerShell
New-SSMDocument ` -Name CustomAutomationScript ` -Content file://Runbook.yaml ` -DocumentFormat YAML ` -Attachments @{ "Key"="AttachmentReference"; "Values"="runbook-arn/runbook-version-number/file-name" } ` -DocumentType Automation