使用 指定資源 AWS CloudFormation - Amazon Personalize

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 指定資源 AWS CloudFormation

Amazon Personalize 已與 整合 AWS CloudFormation,這項服務可協助您建立和設定 AWS 資源的模型,以減少建立和管理資源和基礎設施的時間。您可以建立範本來描述您可以指定的所有 AWS 資源 (例如 Amazon Personalize 資料集群組)。 CloudFormation 然後為您佈建和設定這些資源。

使用 時 CloudFormation,您可以重複使用範本來一致且重複地設定 Amazon Personalize 資源。描述您的資源一次,然後在多個 AWS 帳戶 和 區域中逐一佈建相同的資源。

Amazon Personalize 和 CloudFormation 範本

若要佈建和設定 Amazon Personalize 和相關服務的資源,您必須了解 CloudFormation 範本。範本是以 JSON 或 YAML 格式化的文本檔案。這些範本說明您要在 CloudFormation 堆疊中佈建的資源。如果您不熟悉 JSON 或 YAML,您可以使用 CloudFormation 設計工具來協助您開始使用 CloudFormation 範本。如需詳細資訊,請參閱《AWS CloudFormation 使用者指南》 中的什麼是 CloudFormation 設計器?

Amazon Personalize 支援在其中指定資料集、資料集群組、資料集匯入任務、結構描述和解決方案 CloudFormation。如需詳細資訊,請參閱《 AWS CloudFormation 使用者指南》中的 Amazon Personalize 資源類型參考

Amazon Personalize 資源的範例 CloudFormation 範本

下列 CloudFormation 範本範例示範如何指定不同的 Amazon Personalize 資源。

CreateDatasetGroup

JSON
{ "AWSTemplateFormatVersion":"2010-09-09", "Resources":{ "MyDatasetGroup": { "Type": "AWS::Personalize::DatasetGroup", "Properties": { "Name": "my-dataset-group-name" } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Resources: MyDatasetGroup: Type: 'AWS::Personalize::DatasetGroup' Properties: Name: my-dataset-group-name

CreateDataset

JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MyDataset": { "Type": "AWS::Personalize::Dataset", "Properties": { "Name": "my-dataset-name", "DatasetType": "Interactions", "DatasetGroupArn": "arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name", "SchemaArn": "arn:aws:personalize:us-west-2:123456789012:schema/schema-name", "DatasetImportJob": { "JobName": "my-import-job-name", "DataSource": { "DataLocation": "s3://amzn-s3-demo-bucket/file-name.csv" }, "RoleArn": "arn:aws:iam::123456789012:role/personalize-role" } } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Resources: MyDataset: Type: 'AWS::Personalize::Dataset' Properties: Name: my-dataset-name DatasetType: Interactions DatasetGroupArn: 'arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name' SchemaArn: 'arn:aws:personalize:us-west-2:123456789012:schema/schema-name' DatasetImportJob: JobName: my-import-job-name DataSource: DataLocation: 's3://amzn-s3-demo-bucket/file-name.csv' RoleArn: 'arn:aws:iam::123456789012:role/personalize-role'

CreateSchema

JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MySchema": { "Type": "AWS::Personalize::Schema", "Properties": { "Name": "my-schema-name", "Schema": "{\"type\": \"record\",\"name\": \"Interactions\", \"namespace\": \"com.amazonaws.personalize.schema\", \"fields\": [ { \"name\": \"USER_ID\", \"type\": \"string\" }, { \"name\": \"ITEM_ID\", \"type\": \"string\" }, { \"name\": \"TIMESTAMP\", \"type\": \"long\"}], \"version\": \"1.0\"}" } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Resources: MySchema: Type: AWS::Personalize::Schema Properties: Name: "my-schema-name" Schema: >- {"type": "record","name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "TIMESTAMP", "type": "long"}], "version": "1.0"}

CreateSolution

JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MySolution": { "Type": "AWS::Personalize::Solution", "Properties": { "Name": "my-solution-name", "DatasetGroupArn": "arn:aws:personalize:us-west-2:123456789012:dataset-group/my-dataset-group-name", "RecipeArn": "arn:aws:personalize:::recipe/aws-user-personalization", "SolutionConfig": { "EventValueThreshold" : ".05" } } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Resources: MySolution: Type: 'AWS::Personalize::Solution' Properties: Name: my-solution-name DatasetGroupArn: >- arn:aws:personalize:us-west-2:123456789012:dataset-group/my-dataset-group-name RecipeArn: 'arn:aws:personalize:::recipe/aws-user-personalization' SolutionConfig: EventValueThreshold: '.05'

進一步了解 CloudFormation

若要進一步了解 CloudFormation,請參閱下列資源: