文档 AWS SDK 示例 GitHub 存储库中还有更多 S AWS DK 示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
以下代码示例向您展示了如何使用with来执行操作和实现常见场景 AWS Cloud Map。 AWS Command Line Interface
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 create-http-namespace
。
- AWS CLI
-
创建 HTTP 命名空间
以下
create-http-namespace
示例创建了一个 HTTP 命名空间example.com
。aws servicediscovery create-http-namespace \ --name
example.com
\ --creator-request-idexample-request-id
输出:
{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }
要确认操作成功,可以运行
get-operation
。有关更多信息,请参阅 get-operation。有关创建命名空间的更多信息,请参阅《AWS Cloud Map 开发者指南》中的创建 Clou AWS d Ma p 命名空间以对应用程序服务进行分组。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考CreateHttpNamespace
中的。
-
以下代码示例演示了如何使用 create-private-dns-namespace
。
- AWS CLI
-
创建私有 DNS 命名空间
以下
create-private-dns-namespace
示例创建一个私有 DNS 命名空间。aws servicediscovery create-private-dns-namespace \ --name
example.com
\ --vpcvpc-1c56417b
输出:
{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }
要确认操作成功,可以运行
get-operation
。有关更多信息,请参阅 get-operation。有关更多信息,请参阅《AWS Cloud Map 开发人员指南》中的创建命名空间。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考CreatePrivateDnsNamespace
中的。
-
以下代码示例演示了如何使用 create-public-dns-namespace
。
- AWS CLI
-
创建公有 DNS 命名空间
以下
create-public-dns-namespace
示例创建了一个公有 DNS 命名空间example.com
。aws servicediscovery create-public-dns-namespace \ --name
example-public-dns.com
\ --creator-request-idexample-public-request-id
\ --propertiesDnsProperties={SOA={TTL=60}}
输出:
{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }
要确认操作成功,可以运行
get-operation
。有关创建命名空间的更多信息,请参阅《AWS Cloud Map 开发者指南》中的创建 Clou AWS d Ma p 命名空间以对应用程序服务进行分组。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考CreatePublicDnsNamespace
中的。
-
以下代码示例演示了如何使用 create-service
。
- AWS CLI
-
创建服务
以下
create-service
示例创建一个服务。aws servicediscovery create-service \ --name
myservice
\ --namespace-idns-ylexjili4cdxy3xm
\ --dns-config"NamespaceId=ns-ylexjili4cdxy3xm,RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A,TTL=60}]"
输出:
{ "Service": { "Id": "srv-p5zdwlg5uvvzjita", "Arn": "arn:aws:servicediscovery:us-west-2:803642222207:service/srv-p5zdwlg5uvvzjita", "Name": "myservice", "NamespaceId": "ns-ylexjili4cdxy3xm", "DnsConfig": { "NamespaceId": "ns-ylexjili4cdxy3xm", "RoutingPolicy": "MULTIVALUE", "DnsRecords": [ { "Type": "A", "TTL": 60 } ] }, "CreateDate": 1587081768.334, "CreatorRequestId": "567c1193-6b00-4308-bd57-ad38a8822d25" } }
有关更多信息,请参阅《AWS Cloud Map 开发人员指南》中的创建服务。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考CreateService
中的。
-
以下代码示例演示了如何使用 delete-namespace
。
- AWS CLI
-
删除命名空间
以下
delete-namespace
示例删除一个命名空间。aws servicediscovery delete-namespace \ --id
ns-ylexjili4cdxy3xm
输出:
{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k98y6drk" }
要确认操作成功,可以运行
get-operation
。有关更多信息,请参阅 get-operation。有关更多信息,请参阅《AWS Cloud Map 开发人员指南》中的删除命名空间。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考DeleteNamespace
中的。
-
以下代码示例演示了如何使用 delete-service-attributes
。
- AWS CLI
-
删除服务属性
以下
delete-service-attributes
示例删除了具有与指定服务关联Port
的密钥的服务属性。aws servicediscovery delete-service-attributes \ --service-id
srv-e4anhexample0004
\ --attributesPort
此命令不生成任何输出。
有关更多信息,请参阅《AWS Cloud Map 开发人员指南》中的删除命名空间。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考DeleteServiceAttributes
中的。
-
以下代码示例演示了如何使用 delete-service
。
- AWS CLI
-
删除服务
以下
delete-service
示例删除一项服务。aws servicediscovery delete-service \ --id
srv-p5zdwlg5uvvzjita
此命令不生成任何输出。
有关更多信息,请参阅《AWS Cloud Map 开发人员指南》中的删除服务。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考DeleteService
中的。
-
以下代码示例演示了如何使用 deregister-instance
。
- AWS CLI
-
取消注册服务实例
以下
deregister-instance
示例取消注册一个服务实例。aws servicediscovery deregister-instance \ --service-id
srv-p5zdwlg5uvvzjita
\ --instance-idmyservice-53
输出:
{ "OperationId": "4yejorelbukcjzpnr6tlmrghsjwpngf4-k98rnaiq" }
要确认操作成功,可以运行
get-operation
。有关更多信息,请参阅 get-operation。有关更多信息,请参阅《AWS Cloud Map 开发人员指南》中的取消注册服务实例。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考DeregisterInstance
中的。
-
以下代码示例演示了如何使用 discover-instances-revision
。
- AWS CLI
-
发现实例的修订版
以下
discover-instances-revision
示例发现实例的修订版本不断增加。aws servicediscovery discover-instances-revision \ --namespace-name
example.com
\ --service-namemyservice
输出:
{ "InstancesRevision": 123456 }
有关更多信息,请参阅《AWS 云地图开发者指南》中的AWS Cloud Map 服务实例。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考DiscoverInstancesRevision
中的。
-
以下代码示例演示了如何使用 discover-instances
。
- AWS CLI
-
查找已注册实例
以下
discover-instances
示例查找一个已注册实例。aws servicediscovery discover-instances \ --namespace-name
example.com
\ --service-namemyservice
\ --max-results10
\ --health-statusALL
输出:
{ "Instances": [ { "InstanceId": "myservice-53", "NamespaceName": "example.com", "ServiceName": "myservice", "HealthStatus": "UNKNOWN", "Attributes": { "AWS_INSTANCE_IPV4": "172.2.1.3", "AWS_INSTANCE_PORT": "808" } } ] }
有关更多信息,请参阅《AWS 云地图开发者指南》中的AWS Cloud Map 服务实例。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考DiscoverInstances
中的。
-
以下代码示例演示了如何使用 get-instance
。
- AWS CLI
-
获取实例的详细信息
以下
get-instance
示例获取服务的属性。aws servicediscovery get-instance \ --service-id
srv-e4anhexample0004
--instance-idi-abcd1234
输出:
{ "Instances": { "Id": "arn:aws:servicediscovery:us-west-2:111122223333;:service/srv-e4anhexample0004", "Attributes": { "AWS_INSTANCE_IPV4": "192.0.2.44", "AWS_INSTANCE_PORT": "80", "color": "green", "region": "us-west-2", "stage": "beta" } } }
有关更多信息,请参阅《AWS 云地图开发者指南》中的AWS Cloud Map 服务实例。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考GetInstance
中的。
-
以下代码示例演示了如何使用 get-instances-health-status
。
- AWS CLI
-
获取与服务关联的实例的运行状况
以下
get-instances-health-status
示例获取与指定服务关联的实例的运行状况。aws servicediscovery get-instances-health-status \ --service-id
srv-e4anhexample0004
输出:
{ "Status": { "i-abcd1234": "HEALTHY", "i-abcd1235": "UNHEALTHY" } }
有关更多信息,请参阅《AWS 云地图开发者指南》中的AWS Cloud Map 服务实例。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考GetInstancesHealthStatus
中的。
-
以下代码示例演示了如何使用 get-namespace
。
- AWS CLI
-
获取命名空间的详细信息
以下
get-namespace
示例检索有关指定命名空间的信息。aws servicediscovery get-namespace \ --id
ns-e4anhexample0004
输出:
{ "Namespaces": { "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004", "CreateDate": "20181118T211712Z", "CreatorRequestId": "example-creator-request-id-0001", "Description": "Example.com AWS Cloud Map HTTP Namespace", "Id": "ns-e4anhexample0004", "Name": "example-http.com", "Properties": { "DnsProperties": {}, "HttpProperties": { "HttpName": "example-http.com" } }, "Type": "HTTP" } }
有关更多信息,请参阅《AWS Cloud Map 开发者指南》中的AWS Cloud Map 命名空间。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考GetNamespace
中的。
-
以下代码示例演示了如何使用 get-operation
。
- AWS CLI
-
获取操作结果
以下
get-operation
示例获取命名空间创建操作的结果。aws servicediscovery get-operation \ --operation-id
gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd
输出:
{ "Operation": { "Id": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd", "Type": "CREATE_NAMESPACE", "Status": "SUCCESS", "CreateDate": 1587055860.121, "UpdateDate": 1587055900.469, "Targets": { "NAMESPACE": "ns-ylexjili4cdxy3xm" } } }
有关更多信息,请参阅《AWS Cloud Map 开发者指南》中的创建 Cl AWS oud Map 命名空间以对应用程序服务进行分组。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考GetOperation
中的。
-
以下代码示例演示了如何使用 get-service-attributes
。
- AWS CLI
-
获取服务的属性
以下
get-service-attributes
示例获取服务的属性。aws servicediscovery get-service-attributes \ --service-id
srv-e4anhexample0004
输出:
{ "ServiceAttributes": { "ServiceArn": "arn:aws:servicediscovery:us-west-2:111122223333;:service/srv-e4anhexample0004", "Attributes": { "Port": "80" } } }
有关更多信息,请参阅《AWS 云地图开发者指南》中的AWS Cloud Map 服务。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考GetServiceAttributes
中的。
-
以下代码示例演示了如何使用 get-service
。
- AWS CLI
-
获取服务的设置
以下
get-service
示例获取指定服务的设置。aws servicediscovery get-service \ --id
srv-e4anhexample0004
输出:
{ "Service": { "Id": "srv-e4anhexample0004", "Arn": "arn:aws:servicediscovery:us-west-2:111122223333:service/srv-e4anhexample0004", "Name": "test-service", "NamespaceId": "ns-e4anhexample0004", "DnsConfig": {}, "Type": "HTTP", "CreateDate": "2025-02-24T10:59:02.905000-06:00", "CreatorRequestId": "3f50f9d9-b14c-482e-a556-d2a22fe6106d" } }
有关更多信息,请参阅《AWS 云地图开发者指南》中的AWS Cloud Map 服务。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考GetService
中的。
-
以下代码示例演示了如何使用 list-instances
。
- AWS CLI
-
列出服务实例
以下
list-instances
示例列出服务实例。aws servicediscovery list-instances \ --service-id
srv-qzpwvt2tfqcegapy
输出:
{ "Instances": [ { "Id": "i-06bdabbae60f65a4e", "Attributes": { "AWS_INSTANCE_IPV4": "172.2.1.3", "AWS_INSTANCE_PORT": "808" } } ] }
有关更多信息,请参阅《AWS Cloud Map 开发人员指南》中的查看服务实例列表。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考ListInstances
中的。
-
以下代码示例演示了如何使用 list-namespaces
。
- AWS CLI
-
列出命名空间
以下
list-namespaces
示例列出命名空间。aws servicediscovery list-namespaces
输出:
{ "Namespaces": [ { "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-a3ccy2e7e3a7rile", "CreateDate": 1585354387.357, "Id": "ns-a3ccy2e7e3a7rile", "Name": "local", "Properties": { "DnsProperties": { "HostedZoneId": "Z06752353VBUDTC32S84S" }, "HttpProperties": { "HttpName": "local" } }, "Type": "DNS_PRIVATE" }, { "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-pocfyjtrsmwtvcxx", "CreateDate": 1586468974.698, "Description": "My second namespace", "Id": "ns-pocfyjtrsmwtvcxx", "Name": "My-second-namespace", "Properties": { "DnsProperties": {}, "HttpProperties": { "HttpName": "My-second-namespace" } }, "Type": "HTTP" }, { "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-ylexjili4cdxy3xm", "CreateDate": 1587055896.798, "Id": "ns-ylexjili4cdxy3xm", "Name": "example.com", "Properties": { "DnsProperties": { "HostedZoneId": "Z09983722P0QME1B3KC8I" }, "HttpProperties": { "HttpName": "example.com" } }, "Type": "DNS_PRIVATE" } ] }
有关更多信息,请参阅《AWS Cloud Map 开发人员指南》中的查看命名空间列表。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考ListNamespaces
中的。
-
以下代码示例演示了如何使用 list-operations
。
- AWS CLI
-
列出符合指定条件的操作
以下
list-operations
示例列出了状态为PENDING
或的操作SUCCESS
。aws servicediscovery list-operations \ --service-id
srv-e4anhexample0004
\ --filtersName=STATUS,Condition=IN,Values=PENDING,SUCCESS
输出:
{ "Operations": [ { "Id": "76yy8ovhpdz0plmjzbsnqgnrqvpv2qdt-kexample", "Status": "SUCCESS" }, { "Id": "prysnyzpji3u2ciy45nke83x2zanl7yk-dexample", "Status": "SUCCESS" }, { "Id": "ko4ekftir7kzlbechsh7xvcdgcpk66gh-7example", "Status": "PENDING" } ] }
有关更多信息,请参阅什么是 AWS Cloud Map? 在 AWS Cloud Map 开发者指南中。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考ListOperations
中的。
-
以下代码示例演示了如何使用 list-services
。
- AWS CLI
-
列出服务
以下
list-services
示例列出服务。aws servicediscovery list-services
输出:
{ "Services": [ { "Id": "srv-p5zdwlg5uvvzjita", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita", "Name": "myservice", "DnsConfig": { "RoutingPolicy": "MULTIVALUE", "DnsRecords": [ { "Type": "A", "TTL": 60 } ] }, "CreateDate": 1587081768.334 } ] }
有关更多信息,请参阅《AWS Cloud Map 开发人员指南》中的查看服务列表。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考ListServices
中的。
-
以下代码示例演示了如何使用 list-tags-for-resource
。
- AWS CLI
-
列出与指定资源关联的标签
以下
list-tags-for-resource
示例列出了指定资源的标签。aws servicediscovery list-tags-for-resource \ --resource-arn
arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004
输出:
{ "Tags": [ { "Key": "Project", "Value": "Zeta" }, { "Key": "Department", "Value": "Engineering" } ] }
有关更多信息,请参阅《Cloud Map 开发者指南》中的为 AWS AWS 云地图资源添加标签。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考ListTagsForResource
中的。
-
以下代码示例演示了如何使用 register-instance
。
- AWS CLI
-
注册服务实例
以下
register-instance
示例注册一个服务实例。aws servicediscovery register-instance \ --service-id
srv-p5zdwlg5uvvzjita
\ --instance-idmyservice-53
\ --attributes=AWS_INSTANCE_IPV4=172.2.1.3,AWS_INSTANCE_PORT=808输出:
{ "OperationId": "4yejorelbukcjzpnr6tlmrghsjwpngf4-k95yg2u7" }
要确认操作成功,可以运行
get-operation
。有关更多信息,请参阅 get-operation。有关更多信息,请参阅《AWS Cloud Map 开发人员指南》中的注册实例。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考RegisterInstance
中的。
-
以下代码示例演示了如何使用 tag-resource
。
- AWS CLI
-
将标签与指定资源相关联
以下
tag-resource
示例将Department
标签Engineering
与值关联到指定的命名空间。aws servicediscovery tag-resource \ --resource-arn
arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004
\ --tagsKey=Department,
Value=Engineering
此命令不生成任何输出。
有关更多信息,请参阅《Cloud Map 开发者指南》中的为 AWS AWS 云地图资源添加标签。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考TagResource
中的。
-
以下代码示例演示了如何使用 untag-resource
。
- AWS CLI
-
从指定资源中移除标签
以下
untag-resource
示例从指定的命名空间中删除Department
标签。aws servicediscovery untag-resource \ --resource-arn
arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004
\ --tagsKey=Department,
Value=Engineering
此命令不生成任何输出。
有关更多信息,请参阅《Cloud Map 开发者指南》中的为 AWS AWS 云地图资源添加标签。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考UntagResource
中的。
-
以下代码示例演示了如何使用 update-http-namespace
。
- AWS CLI
-
更新 HTTP 命名空间
以下
update-http-namespace
示例更新了指定 HTTP 命名空间的描述。aws servicediscovery update-http-namespace \ --id
ns-vh4nbmEXAMPLE
\ --updater-request-idexample-request-id
\ --namespace Description="The updated namespace description."输出:
{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }
要确认操作成功,可以运行
get-operation
。有关更多信息,请参阅 get-operation。有关更多信息,请参阅《AWS Cloud Map 开发者指南》中的AWS Cloud Map 命名空间。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考UpdateHttpNamespace
中的。
-
以下代码示例演示了如何使用 update-instance-custom-health-status
。
- AWS CLI
-
更新自定义运行状况检查
以下
update-instance-custom-health-status
示例将指定服务和示例服务实例的自定义运行状况检查的状态更新为HEALTHY
。aws servicediscovery update-instance-custom-health-status \ --service-id
srv-e4anhexample0004
\ --instance-idexample
\ --statusHEALTHY
此命令不生成任何输出。
有关更多信息,请参阅《AWS Cloud Map 开发者指南》中的AWS Cloud Map 服务运行状况检查配置。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考UpdateInstanceCustomHealthStatus
中的。
-
以下代码示例演示了如何使用 update-private-dns-namespace
。
- AWS CLI
-
更新私有 DNS 命名空间
以下
update-private-dns-namespace
示例更新了私有 DNS 命名空间的描述。aws servicediscovery update-private-dns-namespace \ --id
ns-bk3aEXAMPLE
\ --updater-request-idexample-private-request-id
\ --namespace Description="The updated namespace description."输出:
{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }
要确认操作成功,可以运行
get-operation
。有关更多信息,请参阅《AWS Cloud Map 开发者指南》中的AWS Cloud Map 命名空间。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考UpdatePrivateDnsNamespace
中的。
-
以下代码示例演示了如何使用 update-public-dns-namespace
。
- AWS CLI
-
更新公有 DNS 命名空间
以下
update-public-dns-namespace
示例更新了公有 DNS 命名空间的描述。aws servicediscovery update-public-dns-namespace \ --id
ns-bk3aEXAMPLE
\ --updater-request-idexample-public-request-id
\ --namespace Description="The updated namespace description."输出:
{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }
要确认操作成功,可以运行
get-operation
。有关更多信息,请参阅《AWS Cloud Map 开发者指南》中的AWS Cloud Map 命名空间。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考UpdatePublicDnsNamespace
中的。
-
以下代码示例演示了如何使用 update-service-attributes
。
- AWS CLI
-
更新服务以添加属性
以下
update-service-attributes
示例更新了指定的服务,以添加带有键Port
和值的服务属性80
。aws servicediscovery update-service-attributes \ --service-id
srv-e4anhexample0004
\ --attributesPort=80
此命令不生成任何输出。
有关更多信息,请参阅《AWS 云地图开发者指南》中的AWS Cloud Map 服务。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考UpdateServiceAttributes
中的。
-
以下代码示例演示了如何使用 update-service
。
- AWS CLI
-
更新服务
以下
update-service
示例更新服务以更新DnsConfig
和HealthCheckConfig
设置。aws servicediscovery update-service \ --id
srv-e4anhexample0004
\ --service "DnsConfig={DnsRecords=[{"Type"="A","TTL"=60}]},HealthCheckConfig={"Type"="HTTP","ResourcePath"="/","FailureThreshold"="2"}"输出:
{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }
要确认操作成功,可以运行
get-operation
。有关更新服务的更多信息,请参阅 AWS Cloud Map 开发者指南中的更新AWS Cloud Map 服务。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考UpdateService
中的。
-