AWS::AppMesh::VirtualService - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::AppMesh::VirtualService

在服务网格中创建虚拟服务。

虚拟服务是一种抽象的实际服务,由虚拟节点直接提供或通过虚拟路由器的方式间接提供。相关服务通过其 virtualServiceName 调用您的虚拟服务,然后这些请求将路由至指定为虚拟服务的提供商的虚拟节点或虚拟路由器。

有关虚拟服务的更多信息,请参阅虚拟服务

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::AppMesh::VirtualService", "Properties" : { "MeshName" : String, "MeshOwner" : String, "Spec" : VirtualServiceSpec, "Tags" : [ Tag, ... ], "VirtualServiceName" : String } }

YAML

Type: AWS::AppMesh::VirtualService Properties: MeshName: String MeshOwner: String Spec: VirtualServiceSpec Tags: - Tag VirtualServiceName: String

属性

MeshName

要在其中创建虚拟服务的服务网格的名称。

必需:是

类型:字符串

Update requires: Replacement

MeshOwner

服务网格拥有者的 AWS IAM 账户 ID。如果该账户 ID 并非您拥有,则所指定的账户必须与您的账户共享网格,然后才能在服务网格中创建资源。有关网格共享的更多信息,请参阅使用共享网格

必需:否

类型:字符串

Update requires: Replacement

Spec

要应用的虚拟服务规范。

必需:是

类型VirtualServiceSpec

Update requires: No interruption

Tags

可选的元数据,您可以将其应用于虚拟服务,以帮助分类和组织。每个标签都包含您定义的一个键和一个可选值。标签键的最大字符长度为 128 个字符,标签值的最大长度为 256 个字符。

必需:否

类型Tag 的列表

Update requires: No interruption

VirtualServiceName

要用于虚拟服务的名称。

必需:是

类型:字符串

Update requires: Replacement

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回 资源 ARN。例如:

{ "Ref": "myVirtualService" }

在将 AWS::AppMesh::VirtualService 资源的逻辑 ID 传递给内部 Ref 函数时,该函数返回虚拟服务 ARN,如 arn:aws:appmesh:us-east-1:555555555555:virtualService/myVirtualService

For more information about using the Ref function, see Ref.

Fn::GetAtt

Fn::GetAtt 内部函数返回此类型的一个指定属性的值。以下为可用属性和示例返回值。

有关使用 Fn::GetAtt 内部函数的更多信息,请参阅 Fn::GetAtt

Arn

虚拟服务的完整 Amazon 资源名称 (ARN)。

MeshName

虚拟服务所在的服务网格的名称。

MeshOwner

服务网格拥有者的 AWS IAM 账户 ID。如果该账户 ID 并非您拥有,则它是与您的账户共享网格的账户 ID。有关网格共享的更多信息,请参阅使用共享网格

ResourceOwner

资源拥有者的 AWS IAM 账户 ID。如果该账户 ID 并非您拥有,则它是网格拥有者的 ID,或者是与您共享网格的其他账户的 ID。有关网格共享的更多信息,请参阅使用共享网格

Uid

虚拟服务的唯一标识符。

VirtualServiceName

虚拟服务的名称。

示例

创建虚拟服务

此示例创建由虚拟节点提供的虚拟服务。

JSON

{ "Description": "Basic Test VirtualService", "Resources": { "BasicVirtualService1": { "Type": "AWS::AppMesh::VirtualService", "Properties": { "VirtualServiceName": "TestVirtualService1.internal", "MeshName": null, "Spec": { "Provider": { "VirtualNode": { "VirtualNodeName": null } } }, "Tags": [ { "Key": "Key1", "Value": "Value1" }, { "Key": "Key2", "Value": "Value2" } ] } } }, "Outputs": { "VirtualServiceName1": { "Description": "Name of the VirtualService", "Value": { "Fn::GetAtt": [ "BasicVirtualService1", "VirtualServiceName" ] } }, "MeshName": { "Description": "Name of the Mesh", "Value": { "Fn::GetAtt": [ "BasicVirtualService1", "MeshName" ] } }, "Arn": { "Description": "Arn of the VirtualService created", "Value": { "Fn::GetAtt": [ "BasicVirtualService1", "Arn" ] } }, "Uid": { "Description": "Uid of the VirtualService created", "Value": { "Fn::GetAtt": [ "BasicVirtualService1", "Uid" ] } } } }

YAML

Description: "Basic Test VirtualService" Resources: BasicVirtualService1: Type: "AWS::AppMesh::VirtualService" Properties: VirtualServiceName: "TestVirtualService1.internal" MeshName: !ImportValue TestMeshName Spec: Provider: VirtualNode: VirtualNodeName: !ImportValue TestVirtualNodeName1 Tags: - Key: "Key1" Value: "Value1" - Key: "Key2" Value: "Value2" Outputs: VirtualServiceName1: Description: Name of the VirtualService Value: Fn::GetAtt: - BasicVirtualService1 - VirtualServiceName MeshName: Description: Name of the Mesh Value: Fn::GetAtt: - BasicVirtualService1 - MeshName Arn: Description: Arn of the VirtualService created Value: Fn::GetAtt: - BasicVirtualService1 - Arn Uid: Description: Uid of the VirtualService created Value: Fn::GetAtt: - BasicVirtualService1 - Uid

另请参阅