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

创建运行脚本的 Automation 文档(命令行)

以下示例说明了如何使用 AWS CLI(在 Linux 或 Windows Server 上)或 AWS Tools for PowerShell 创建使用 Attachment 参数运行脚本的 Automation 文档。

开始前的准备工作

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

  • 作为具有 .yaml 扩展名的 YAML 格式文件的 Automation 文档的内容,例如 MyAutomationDocument.yaml

  • 要附加到文档的文件。您可以附加脚本文件或 .zip 文件。

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

  • 安装并配置 AWS CLI 或 AWS Tools for PowerShell(如果尚未执行该操作)。

    有关信息,请参阅安装或升级 AWS 命令行工具

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

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

Linux
aws ssm create-document \ --name CustomAutomationScript \ --content file://AutomationDocument.yaml \ --document-format YAML \ --attachments "Key=S3FileUrl,Name=script.py,Values=https://bucket-name.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://bucket-name.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://bucket-name.s3-aws-region.amazonaws.com/filePath" }, @{ "Key"="S3FileUrl"; "Name"="Zip-file.zip"; "Values"="https://bucket-name.s3-aws-region.amazonaws.com/filePath" } ` -DocumentType Automation

附加 S3 存储桶中的文件

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

Linux
aws ssm create-document \ --name CustomAutomationScript \ --content file://AutomationDocument.yaml \ --document-format YAML \ --attachments Key=SourceUrl,Values="https://bucket-name.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=SourceUrl,Values="https://bucket-name.s3-aws-region.amazonaws.com/filePath" ^ --document-type Automation
PowerShell
New-SSMDocument ` -Name CustomAutomationScript ` -Content file://AutomationDocument.yaml ` -DocumentFormat YAML ` -Attachments @{ "Key"="SourceUrl"; "Values"="https://bucket-name.s3-aws-region.amazonaws.com/filePath" } ` -DocumentType Automation

从 AWS 账户中的另一个 Automation 文档附加文件

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

此命令中键值的格式是 document-name/document-version-number/file-name。例如:

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

从另一个 AWS 账户中的 Automation 文档附加文件

运行以下命令以使用已附加到从另一个 AWS 账户与您共享的 Automation 手册的脚本创建 Automation 文档。

此命令中键值的格式是 document-arn/document-version-number/file-name。例如:

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