AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建 SSM 文档 (API)
如SSM中所述,为自定义 编写 SSM 文档内容 文档创建内容后,您可以使用首选的开发工具包调用 AWS Systems Manager CreateDocument API 操作,以使用您的内容创建 SSM 文档。Content
请求参数的 JSON 或 YAML 字符串通常是从文件中读取的。以下示例函数使用适用于 Python、Go 和 Java 的开发工具包创建 SSM 文档。
- Python
-
import boto3
ssm = boto3.client('ssm')
filepath = '/path
/to
/file
/documentContent
.yaml'
def createDocumentApiExample():
with open(filepath) as openFile:
documentContent = openFile.read()
createDocRequest = ssm.create_document(
Content = documentContent,
Name = 'createDocumentApiExample',
DocumentType = 'Automation',
DocumentFormat = 'YAML'
)
print(createDocRequest)
createDocumentApiExample()
- Go
-
package main
import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/ssm"
"fmt"
"io/ioutil"
"log"
)
func main() {
openFile, err := ioutil.ReadFile("/path
/to
/file
/documentContent
.yaml")
if err != nil {
log.Fatal(err)
}
documentContent := string(openFile)
sesh := session.Must(session.NewSessionWithOptions(session.Options{
SharedConfigState: session.SharedConfigEnable}))
ssmClient := ssm.New(sesh)
createDocRequest, err := ssmClient.CreateDocument(&ssm.CreateDocumentInput{
Content: &documentContent,
Name: aws.String("createDocumentApiExample"),
DocumentType: aws.String("Automation"),
DocumentFormat: aws.String("YAML"),
})
result := *createDocRequest
fmt.Println(result)
}
- Java
-
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagement;
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder;
import com.amazonaws.services.simplesystemsmanagement.model.*;
public class createDocumentApiExample {
public static void main(String[] args) {
try {
createDocumentMethod(getDocumentContent());
}
catch (IOException e) {
e.printStackTrace();
}
}
public static String getDocumentContent() throws IOException {
String filepath = new String("/path
/to
/file
/documentContent
.yaml");
byte[] encoded = Files.readAllBytes(Paths.get(filepath));
String documentContent = new String(encoded, StandardCharsets.UTF_8);
return documentContent;
}
public static void createDocumentMethod (final String documentContent) {
AWSSimpleSystemsManagement ssm = AWSSimpleSystemsManagementClientBuilder.defaultClient();
final CreateDocumentRequest createDocRequest = new CreateDocumentRequest()
.withContent(documentContent)
.withName("createDocumentApiExample")
.withDocumentType("Automation")
.withDocumentFormat("YAML");
final CreateDocumentResult result = ssm.createDocument(createDocRequest);
}
}
有关创建自定义文档内容的更多信息,请参阅 SSM 文档语法.