本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Cloud Map 使用 的範例 AWS CLI
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 來執行動作和實作常見案例 AWS Cloud Map。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
每個範例均包含完整原始程式碼的連結,您可在連結中找到如何在內容中設定和執行程式碼的相關指示。
主題
動作
以下程式碼範例顯示如何使用 create-http-namespace。
- AWS CLI
-
建立 HTTP 命名空間
以下
create-http-namespace範例建立 HTTP 命名空間example.com。aws servicediscovery create-http-namespace \ --nameexample.com\ --creator-request-idexample-request-id輸出:
{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }若要確認操作成功,您可以執行
get-operation。如需詳細資訊,請參閱 get-operation。如需建立命名空間的詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的建立 Cloud Map 命名空間以將應用程式服務分組。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateHttpNamespace
。
-
以下程式碼範例顯示如何使用 create-private-dns-namespace。
- AWS CLI
-
建立私有 DNS 命名空間
以下
create-private-dns-namespace範例建立私有 DNS 命名空間。aws servicediscovery create-private-dns-namespace \ --nameexample.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 \ --nameexample-public-dns.com\ --creator-request-idexample-public-request-id\ --propertiesDnsProperties={SOA={TTL=60}}輸出:
{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }若要確認操作成功,您可以執行
get-operation。如需建立命名空間的詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的建立 Cloud Map 命名空間以將應用程式服務分組。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreatePublicDnsNamespace
。
-
以下程式碼範例顯示如何使用 create-service。
- AWS CLI
-
範例 1:使用命名空間 ID 建立服務
以下
create-service範例會建立服務。aws servicediscovery create-service \ --namemyservice\ --namespace-idns-ylexjili4cdxy3xm\ --dns-config"RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A,TTL=60}]"輸出:
{ "Service": { "Id": "srv-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "myservice", "NamespaceId": "ns-abcd1234xmpl5678", "DnsConfig": { "NamespaceId": "ns-abcd1234xmpl5678", "RoutingPolicy": "MULTIVALUE", "DnsRecords": [ { "Type": "A", "TTL": 60 } ] }, "Type": "DNS_HTTP", "CreateDate": "2025-08-18T13:45:31.023000-05:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", "CreatedByAccount": "123456789012" } }如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的為應用程式元件建立 Cloud Map 服務。 AWS
範例 2:使用命名空間 ARN 建立服務
下列
create-service範例會使用命名空間 ARN 而非命名空間 ID 來建立服務。在共用命名空間中建立服務時,需要指定命名空間 ARN。aws servicediscovery create-service \ --namemyservice-arn\ --namespace-idarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678\ --dns-config"RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A,TTL=60}]"輸出:
{ "Service": { "Id": "srv-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "myservice-arn", "NamespaceId": "ns-abcd1234xmpl5678", "DnsConfig": { "NamespaceId": "ns-abcd1234xmpl5678", "RoutingPolicy": "MULTIVALUE", "DnsRecords": [ { "Type": "A", "TTL": 60 } ] }, "Type": "DNS_HTTP", "CreateDate": "2025-08-18T13:45:31.023000-05:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", "CreatedByAccount": "123456789012" } }如需詳細資訊,請參閱《 AWS 雲端地圖開發人員指南》中的共用雲端地圖命名空間。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateService
。
-
以下程式碼範例顯示如何使用 delete-namespace。
- AWS CLI
-
範例 1:刪除命名空間
以下
delete-namespace範例會刪除命名空間。aws servicediscovery delete-namespace \ --idns-abcd1234xmpl5678輸出:
{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }若要確認操作成功,您可以執行
get-operation。如需詳細資訊,請參閱 get-operation。如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的刪除 Cloud Map 命名空間。 AWS
範例 2:使用命名空間 ARN 刪除命名空間
下列
delete-namespace範例會使用其 ARN 刪除命名空間。aws servicediscovery delete-namespace \ --idarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678輸出:
{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的刪除 Cloud Map 命名空間。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteNamespace
。
-
以下程式碼範例顯示如何使用 delete-service-attributes。
- AWS CLI
-
範例 1:刪除服務屬性
下列
delete-service-attributes範例刪除具有與指定服務相關聯之索引鍵Port的服務屬性。aws servicediscovery delete-service-attributes \ --service-idsrv-abcd1234xmpl5678\ --attributesPort此命令不會產生輸出。
如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 服務。
範例 2:使用 ARN 刪除服務屬性
下列
delete-service-attributes範例會使用服務 ARN 刪除服務屬性。指定 ARN 是刪除與在與您的帳戶共用的命名空間中建立的服務相關聯的屬性所必需的。aws servicediscovery delete-service-attributes \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678\ --attributesPort此命令不會產生輸出。
如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的 Cloud Map 服務和AWS 共用 Cloud Map 命名空間 AWS。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteServiceAttributes
。
-
以下程式碼範例顯示如何使用 delete-service。
- AWS CLI
-
範例 1:刪除服務
下列
delete-service範例會刪除服務。aws servicediscovery delete-service \ --idsrv-abcd1234xmpl5678此命令不會產生輸出。
如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的刪除 Cloud Map 服務。 AWS
範例 2:使用 ARN 刪除服務
下列
delete-service範例會使用服務 ARN 刪除服務。aws servicediscovery delete-service \ --idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678此命令不會產生輸出。
如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的刪除 Cloud Map 服務。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteService
。
-
以下程式碼範例顯示如何使用 deregister-instance。
- AWS CLI
-
範例 1:取消註冊服務執行個體
下列
deregister-instance範例取消註冊服務執行個體。aws servicediscovery deregister-instance \ --service-idsrv-p5zdwlg5uvvzjita\ --instance-idmyservice-53輸出:
{ "OperationId": "4yejorelbukcjzpnr6tlmrghsjwpngf4-k98rnaiq" }若要確認操作成功,您可以執行
get-operation。如需詳細資訊,請參閱 get-operation。如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的取消註冊服務執行個體。
範例 2:使用共用命名空間的服務 ARN 取消註冊服務執行個體
下列
deregister-instance範例會使用服務 ARN 取消註冊服務執行個體,而不是服務 ID。從與您的帳戶共用的命名空間中建立的服務取消註冊執行個體時,需要指定 ARN。aws servicediscovery deregister-instance \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita\ --instance-idweb-server-01輸出:
{ "OperationId": "gv4g5meo7ndmkqjrhpn39wk42xmpl" }如需詳細資訊,請參閱 Cloud Map 開發人員指南中的共用 AWS Cloud Map 命名空間和取消註冊 Cloud Map 服務執行個體。 AWS AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeregisterInstance
。
-
以下程式碼範例顯示如何使用 discover-instances-revision。
- AWS CLI
-
範例 1:探索執行個體的修訂
下列
discover-instances-revision範例會探索執行個體不斷增加的修訂。aws servicediscovery discover-instances-revision \ --namespace-nameexample.com\ --service-namemyservice輸出:
{ "InstancesRevision": 123456 }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 服務執行個體。
範例 2:從特定擁有者帳戶探索執行個體的修訂
下列
discover-instances-revision範例會探索來自特定擁有者帳戶的執行個體修訂。與您的帳戶共用的命名空間中的執行個體需要擁有者帳戶參數。aws servicediscovery discover-instances-revision \ --namespace-nameshared-namespace\ --service-nameshared-service\ --owner-account123456789111輸出:
{ "InstancesRevision": 1234567890 }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的共用 Cloud Map 命名空間AWS 和 AWS Cloud Map 服務執行個體。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DiscoverInstancesRevision
。
-
以下程式碼範例顯示如何使用 discover-instances。
- AWS CLI
-
範例 1:探索已註冊的執行個體
下列
discover-instances範例會探索已註冊的執行個體。aws servicediscovery discover-instances \ --namespace-nameexample.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" } } ], "InstancesRevision": 85648075627387284 }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 服務執行個體。
範例 2:從特定擁有者帳戶探索執行個體
下列
discover-instances範例會從特定擁有者帳戶探索已註冊的執行個體。在與您的帳戶共用的命名空間中探索執行個體時,需要此參數。aws servicediscovery discover-instances \ --namespace-nameshared-namespace\ --service-nameshared-service\ --owner-account123456789111輸出:
{ "Instances": [ { "InstanceId": "shared-instance-1234", "NamespaceName": "shared-namespace", "ServiceName": "shared-service", "HealthStatus": "HEALTHY", "Attributes": { "AWS_INSTANCE_IPV4": "203.0.113.75", "AWS_INSTANCE_PORT": "80" } } ], "InstancesRevision": 1234567890 }如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的共用 Cloud Map 命名空間AWS 和 AWS Cloud Map 服務執行個體。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DiscoverInstances
。
-
以下程式碼範例顯示如何使用 get-instance。
- AWS CLI
-
範例 1:取得執行個體的詳細資訊
下列
get-instance範例會取得服務的屬性。aws servicediscovery get-instance \ --service-idsrv-e4anhexample0004--instance-idi-abcd1234輸出:
{ "ResourceOwner": "123456789012", "Instance": { "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" }, "CreatedByAccount": "123456789012" } }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 服務執行個體。
範例 2:使用共用命名空間的服務 ARN 取得執行個體的詳細資訊
下列
get-instance範例使用服務 ARN 而非服務 ID 取得執行個體的屬性。取得與您帳戶共用之命名空間相關聯的執行個體詳細資訊時,需要指定 ARN。此範例中傳回的執行個體是由帳戶 在帳戶 擁有的命名空間123456789111中註冊123456789012。aws servicediscovery get-instance \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita\ --instance-idweb-server-01輸出:
{ "ResourceOwner": "123456789012", "Instance": { "Id": "web-server-01", "Attributes": { "AWS_INSTANCE_IPV4": "203.0.113.15", "AWS_INSTANCE_PORT": "80" }, "CreatedByAccount": "123456789111" } }如需跨帳戶命名空間共用的詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的共用 Cloud Map 命名空間。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetInstance
。
-
以下程式碼範例顯示如何使用 get-instances-health-status。
- AWS CLI
-
範例 1:取得與服務相關聯之執行個體的運作狀態
下列
get-instances-health-status範例會取得與指定服務相關聯之執行個體的運作狀態。aws servicediscovery get-instances-health-status \ --service-idsrv-e4anhexample0004輸出:
{ "Status": { "i-abcd1234": "HEALTHY", "i-abcd1235": "UNHEALTHY" } }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 服務執行個體。
範例 2:使用共用命名空間的服務 ARN 取得執行個體的運作狀態
下列
get-instances-health-status範例會使用服務 ARN 而非服務 ID 取得執行個體的運作狀態。取得與請求者帳戶共用之命名空間相關聯的執行個體運作狀態時,需要指定 ARN。aws servicediscovery get-instances-health-status \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita輸出:
{ "Status": { "web-server-01": "HEALTHY", "web-server-02": "UNHEALTHY" } }如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的 Cloud Map 服務執行個體AWS 和共用 Cloud Map 命名空間 AWS。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetInstancesHealthStatus
。
-
以下程式碼範例顯示如何使用 get-namespace。
- AWS CLI
-
範例 1:取得命名空間的詳細資訊
以下
get-namespace範例會擷取指定命名空間的相關資訊。aws servicediscovery get-namespace \ --idns-abcd1234xmpl5678輸出:
{ "Namespace": { "Id": "ns-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "example-http.com", "Type": "HTTP", "Description": "Example.com AWS Cloud Map HTTP Namespace", "Properties": { "DnsProperties": {}, "HttpProperties": { "HttpName": "example-http.com" } }, "CreateDate": "2024-02-23T13:35:21.874000-06:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678" } }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 命名空間。
範例 2:使用 ARN 取得命名空間的詳細資訊
下列
get-namespace範例會使用其 ARN 擷取指定命名空間的相關資訊。指定 ARN 是擷取與您的帳戶共用之命名空間的詳細資訊所必需的。aws servicediscovery get-namespace \ --idarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678輸出:
{ "Namespace": { "Id": "ns-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "example-http.com", "Type": "HTTP", "Description": "Example.com AWS Cloud Map HTTP Namespace", "Properties": { "DnsProperties": {}, "HttpProperties": { "HttpName": "example-http.com" } }, "CreateDate": "2024-02-23T13:35:21.874000-06:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678" } }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的共用雲端地圖命名空間。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetNamespace
。
-
以下程式碼範例顯示如何使用 get-operation。
- AWS CLI
-
範例 1:取得 操作的結果
下列
get-operation範例取得命名空間建立操作的結果。aws servicediscovery get-operation \ --operation-idabcd1234xmpl5678abcd1234xmpl5678-abcd1234輸出:
{ "Operation": { "Id": "abcd1234xmpl5678abcd1234xmpl5678-abcd1234", "Type": "CREATE_NAMESPACE", "Status": "SUCCESS", "CreateDate": "2025-01-13T13:35:21.874000-06:00", "UpdateDate": "2025-01-13T13:36:02.469000-06:00", "Targets": { "NAMESPACE": "ns-abcd1234xmpl5678" } } }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的建立 Cloud Map 命名空間以將應用程式服務分組。 AWS
範例 2:從特定擁有者帳戶取得 操作
下列
get-operation範例取得與特定命名空間擁有者帳戶相關聯的 操作的結果。若要取得與與您帳戶共用的命名空間相關聯的操作結果,需要此參數。aws servicediscovery get-operation \ --operation-idabcd1234xmpl5678abcd1234xmpl5678-abcd1234\ --owner-account123456789111輸出:
{ "Operation": { "Id": "abcd1234xmpl5678abcd1234xmpl5678-abcd1234", "OwnerAccount": "123456789111", "Type": "CREATE_NAMESPACE", "Status": "SUCCESS", "CreateDate": "2025-01-13T13:35:21.874000-06:00", "UpdateDate": "2025-01-13T13:36:02.469000-06:00", "Targets": { "NAMESPACE": "ns-abcd1234xmpl5678" } } }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的共用雲端地圖命名空間。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetOperation
。
-
以下程式碼範例顯示如何使用 get-service-attributes。
- AWS CLI
-
範例 1:取得服務的屬性
下列
get-service-attributes範例會取得服務的屬性。aws servicediscovery get-service-attributes \ --service-idsrv-abcd1234xmpl5678輸出:
{ "ServiceAttributes": { "ServiceArn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Attributes": { "Port": "80" } } }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 服務。
範例 2:使用 ARN 取得服務的屬性
下列
get-service-attributes範例使用服務 ARN 取得服務的屬性。若要取得在與您帳戶共用的命名空間中建立之服務的屬性,必須指定 ARN。aws servicediscovery get-service-attributes \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678輸出:
{ "ServiceAttributes": { "ServiceArn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Attributes": { "Port": "80" } } }如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的 Cloud Map 服務和AWS 共用 Cloud Map 命名空間 AWS。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetServiceAttributes
。
-
以下程式碼範例顯示如何使用 get-service。
- AWS CLI
-
範例 1:取得服務的設定
下列
get-service範例會取得指定服務的設定。aws servicediscovery get-service \ --idsrv-abcd1234xmpl5678輸出:
{ "Service": { "Id": "srv-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "test-service", "NamespaceId": "ns-abcd1234xmpl5678", "DnsConfig": {}, "Type": "HTTP", "CreateDate": "2025-08-18T13:53:02.775000-05:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", "CreatedByAccount": "123456789012" } }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 服務。
範例 2:使用 ARN 取得服務的設定
下列
get-service範例會使用其 ARN 取得指定服務的設定。擷取在與您的帳戶共用的命名空間中建立之服務的相關資訊時,需要指定 ARN。發起人帳戶在帳戶 共用的命名空間中123456789111建立服務123456789012。aws servicediscovery get-service \ --idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678輸出:
{ "Service": { "Id": "srv-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "test-service", "NamespaceId": "ns-abcd1234xmpl5678", "DnsConfig": {}, "Type": "HTTP", "CreateDate": "2025-08-18T13:53:02.775000-05:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", "CreatedByAccount": "123456789111" } }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的為應用程式元件建立 Cloud Map 服務AWS 以及共用 Cloud Map 命名空間 AWS。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetService
。
-
以下程式碼範例顯示如何使用 list-instances。
- AWS CLI
-
範例 1:列出服務執行個體
下列
list-instances範例會列出服務執行個體。aws servicediscovery list-instances \ --service-idsrv-qzpwvt2tfqcegapy輸出:
{ "Instances": [ { "Id": "i-06bdabbae60f65a4e", "Attributes": { "AWS_INSTANCE_IPV4": "172.2.1.3", "AWS_INSTANCE_PORT": "808" }, "CreatedByAccount": "123456789012" } ], "ResourceOwner": "123456789012" }如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的列出 Cloud Map 服務執行個體。 AWS
範例 2:使用服務 ARN 列出服務執行個體
下列
list-instances範例列出使用服務 ARN 而非服務 ID 的服務執行個體。列出與與您帳戶共用的命名空間相關聯的執行個體時,需要指定 ARN。aws servicediscovery list-instances \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita輸出:
{ "ResourceOwner": "123456789012", "Instances": [ { "Id": "web-server-01", "Attributes": { "AWS_INSTANCE_IPV4": "203.0.113.15", "AWS_INSTANCE_PORT": "80" }, "CreatedByAccount": "123456789012" }, { "Id": "web-server-02", "Attributes": { "AWS_INSTANCE_IPV4": "203.0.113.16", "AWS_INSTANCE_PORT": "80" }, "CreatedByAccount": "123456789012" } ] }如需跨帳戶命名空間共用的詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的共用 Cloud Map 命名空間AWS 和列出 Cloud Map 服務執行個體 AWS。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListInstances
。
-
以下程式碼範例顯示如何使用 list-namespaces。
- AWS CLI
-
範例 1:列出命名空間
下列
list-namespaces範例列出命名空間。aws servicediscovery list-namespaces輸出:
{ "Namespaces": [ { "Id": "ns-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "local", "Type": "DNS_PRIVATE", "Properties": { "DnsProperties": { "HostedZoneId": "Z06752353VBUDTC32S84S", "SOA": {} }, "HttpProperties": { "HttpName": "local" } }, "CreateDate": "2023-07-17T13:37:27.872000-05:00" }, { "Id": "ns-abcd1234xmpl9012", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl9012", "ResourceOwner": "123456789012", "Name": "My-second-namespace", "Type": "HTTP", "Description": "My second namespace", "Properties": { "DnsProperties": { "SOA": {} }, "HttpProperties": { "HttpName": "My-second-namespace" } }, "CreateDate": "2023-11-14T10:35:47.840000-06:00" } ] }如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的列出 Cloud Map 命名空間。 AWS
範例 2:列出其他帳戶共用的命名空間
下列
list-namespaces範例列出使用RESOURCE_OWNER篩選條件的其他 AWS 帳戶與發起人帳戶共用的命名空間。aws servicediscovery list-namespaces \ --filtersName=RESOURCE_OWNER,Values=OTHER_ACCOUNTS,Condition=EQ輸出:
{ "Namespaces": [ { "Id": "ns-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789111:namespace/ns-abcd1234xmpl5678", "ResourceOwner": "123456789111", "Name": "shared-namespace", "Type": "HTTP", "Description": "Namespace shared from another account", "Properties": { "DnsProperties": { "SOA": {} }, "HttpProperties": { "HttpName": "shared-namespace" } }, "CreateDate": "2025-01-13T13:35:21.874000-06:00" } ] }如需詳細資訊,請參閱《 AWS 雲端地圖開發人員指南》中的共用雲端地圖命名空間。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListNamespaces
。
-
以下程式碼範例顯示如何使用 list-operations。
- AWS CLI
-
列出符合指定條件的操作
下列
list-operations範例列出狀態為PENDING或SUCCESS的操作。aws servicediscovery list-operations \ --service-idsrv-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
-
範例 1:列出服務
下列
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 開發人員指南》中的在命名空間中列出 Cloud Map 服務。 AWS
範例 2:列出在共用命名空間中建立的服務
下列
list-services範例列出123456789012使用RESOURCE_OWNER篩選條件的其他 AWS 帳戶在與發起人帳戶共用的命名空間中建立的服務。aws servicediscovery list-services \ --filtersName=RESOURCE_OWNER,Values=OTHER_ACCOUNTS,Condition=EQ輸出:
{ "Services": [ { "Id": "srv-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789111:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789111", "Name": "shared-service", "NamespaceId": "ns-abcd1234xmpl5678", "Type": "HTTP", "Description": "Service in shared namespace", "DnsConfig": {}, "CreateDate": "2025-01-13T13:35:21.874000-06:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", "CreatedByAccount": "123456789012" } ] }如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的共用 Cloud Map 命名空間AWS 和在命名空間中列出 Cloud Map 服務 AWS。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListServices
。
-
以下程式碼範例顯示如何使用 list-tags-for-resource。
- AWS CLI
-
列出與指定資源相關聯的標籤
以下
list-tags-for-resource範例列出指定資源的標籤。aws servicediscovery list-tags-for-resource \ --resource-arnarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004輸出:
{ "Tags": [ { "Key": "Project", "Value": "Zeta" }, { "Key": "Department", "Value": "Engineering" } ] }如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的標記 Cloud Map 資源。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListTagsForResource
。
-
以下程式碼範例顯示如何使用 register-instance。
- AWS CLI
-
範例 1:使用服務 ID 註冊服務執行個體
下列
register-instance範例註冊服務執行個體。aws servicediscovery register-instance \ --service-idsrv-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 開發人員指南》中的將資源註冊為 Cloud Map 服務執行個體。 AWS
範例 2:使用服務 ARN 註冊服務執行個體
下列
register-instance範例會使用服務 ARN 註冊服務執行個體。在與您帳戶共用的 服務中註冊執行個體時,需要指定 ARN。aws servicediscovery register-instance \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita\ --instance-idweb-server-01\ --attributes=AWS_INSTANCE_IPV4=203.0.113.15,AWS_INSTANCE_PORT=80輸出:
{ "OperationId": "gv4g5meo7ndmkqjrhpn39wk42xmpl" }如需跨帳戶命名空間共用的詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的共用 Cloud Map 命名空間。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 RegisterInstance
。
-
以下程式碼範例顯示如何使用 tag-resource。
- AWS CLI
-
建立標籤與指定資源的關聯
下列
tag-resource範例為Department標籤與值Engineering和指定的命名空間建立關聯。aws servicediscovery tag-resource \ --resource-arnarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004\ --tagsKey=Department,Value=Engineering此命令不會產生輸出。
如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的標記 Cloud Map 資源。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 TagResource
。
-
以下程式碼範例顯示如何使用 untag-resource。
- AWS CLI
-
從指定的資源移除標籤
下列
untag-resource範例會從指定的命名空間移除Department標籤。aws servicediscovery untag-resource \ --resource-arnarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004\ --tagsKey=Department,Value=Engineering此命令不會產生輸出。
如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的標記 Cloud Map 資源。 AWS
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UntagResource
。
-
以下程式碼範例顯示如何使用 update-http-namespace。
- AWS CLI
-
範例 1:更新 HTTP 命名空間
下列
update-http-namespace範例更新指定之 HTTP 命名空間的描述。aws servicediscovery update-http-namespace \ --idns-abcd1234xmpl5678\ --updater-request-idabcd1234-5678-90ab-cdef-xmpl12345678\ --namespace Description="The updated namespace description."輸出:
{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }若要確認操作成功,您可以執行
get-operation。如需詳細資訊,請參閱 get-operation。如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 命名空間。
範例 2:使用 ARN 更新 HTTP 命名空間
下列
update-http-namespace範例會使用其 ARN 更新指定的 HTTP 命名空間。aws servicediscovery update-http-namespace \ --idarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678\ --updater-request-idabcd1234-5678-90ab-cdef-xmpl12345678\ --namespace Description="The updated namespace description."輸出:
{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 命名空間。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UpdateHttpNamespace
。
-
以下程式碼範例顯示如何使用 update-instance-custom-health-status。
- AWS CLI
-
範例 1:更新自訂運作狀態檢查
下列
update-instance-custom-health-status範例將指定服務和範例服務執行個體的自訂運作狀態檢查狀態,更新為HEALTHY。aws servicediscovery update-instance-custom-health-status \ --service-idsrv-e4anhexample0004\ --instance-idexample\ --statusHEALTHY此命令不會產生輸出。
如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 服務運作狀態檢查組態。
範例 2:使用服務 ARN 更新自訂運作狀態檢查
下列
update-instance-custom-health-status範例會使用服務 ARN 更新自訂運作狀態檢查的狀態。更新與與您帳戶共用之命名空間相關聯的執行個體的運作狀態時,需要 ARN。aws servicediscovery update-instance-custom-health-status \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita\ --instance-idweb-server-01\ --statusHEALTHY此命令不會產生輸出。
如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的 Cloud Map 服務運作狀態檢查組態AWS 和跨帳戶 Cloud Map 命名空間共用 AWS。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UpdateInstanceCustomHealthStatus
。
-
以下程式碼範例顯示如何使用 update-private-dns-namespace。
- AWS CLI
-
範例 1:使用 ID 更新私有 DNS 命名空間
下列
update-private-dns-namespace範例會使用命名空間 ID 更新私有 DNS 命名空間的描述。aws servicediscovery update-private-dns-namespace \ --idns-abcd1234xmpl5678\ --updater-request-idabcd1234-5678-90ab-cdef-xmpl12345678\ --namespace Description="The updated namespace description."輸出:
{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }若要確認操作成功,您可以執行
get-operation。如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 命名空間。
範例 2:使用 ARN 更新私有 DNS 命名空間
下列
update-private-dns-namespace範例會使用私有 DNS 命名空間的 ARN 來更新私有 DNS 命名空間。aws servicediscovery update-private-dns-namespace \ --idarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678\ --updater-request-idabcd1234-5678-90ab-cdef-xmpl12345678\ --namespace Description="The updated namespace description."輸出:
{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 命名空間。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UpdatePrivateDnsNamespace
。
-
以下程式碼範例顯示如何使用 update-public-dns-namespace。
- AWS CLI
-
範例 1:使用 ID 更新公有 DNS 命名空間
下列
update-public-dns-namespace範例會使用公有 DNS 命名空間的 ID 更新其描述。aws servicediscovery update-public-dns-namespace \ --idns-abcd1234xmpl5678\ --updater-request-idabcd1234-5678-90ab-cdef-xmpl12345678\ --namespace Description="The updated namespace description."輸出:
{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }若要確認操作成功,您可以執行
get-operation。如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 命名空間。
範例 2:使用 ARN 更新公有 DNS 命名空間
下列
update-public-dns-namespace範例會使用其 ARN 更新公有 DNS 命名空間。aws servicediscovery update-public-dns-namespace \ --idarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678\ --updater-request-idabcd1234-5678-90ab-cdef-xmpl12345678\ --namespace Description="The updated namespace description."輸出:
{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 命名空間。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UpdatePublicDnsNamespace
。
-
以下程式碼範例顯示如何使用 update-service-attributes。
- AWS CLI
-
範例 1:更新服務以新增屬性
下列
update-service-attributes範例會更新指定的服務,以新增具有索引鍵Port和值80的服務屬性。aws servicediscovery update-service-attributes \ --service-idsrv-abcd1234xmpl5678\ --attributesPort=80此命令不會產生輸出。
如需詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的 AWS Cloud Map 服務。
範例 2:使用 ARN 更新服務屬性
下列
update-service-attributes範例會使用服務 ARN 來更新服務,以新增服務屬性。在與您的帳戶共用的命名空間中建立的 服務中新增屬性時,需要指定 ARN。aws servicediscovery update-service-attributes \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678\ --attributesPort=80此命令不會產生輸出。
如需詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的 Cloud Map 服務和AWS 共用 Cloud Map 命名空間 AWS。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UpdateServiceAttributes
。
-
以下程式碼範例顯示如何使用 update-service。
- AWS CLI
-
範例 1:更新服務
下列
update-service範例會更新服務以更新DnsConfig和HealthCheckConfig設定。aws servicediscovery update-service \ --idsrv-abcd1234xmpl5678\ --service"DnsConfig={DnsRecords=[{Type=A,TTL=60}]},HealthCheckConfig={Type=HTTP,ResourcePath=/,FailureThreshold=2}"輸出:
{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }若要確認操作成功,您可以執行
get-operation。如需更新服務的詳細資訊,請參閱《AWS Cloud Map 開發人員指南》中的更新 Cloud Map 服務。 AWS
範例 2:使用 ARN 更新服務
下列
update-service範例會使用服務 ARN 更新服務。在與您帳戶共用的命名空間中建立的服務需要指定 ARN。aws servicediscovery update-service \ --idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678\ --service"DnsConfig={DnsRecords=[{Type=A,TTL=60}]},HealthCheckConfig={Type=HTTP,ResourcePath=/,FailureThreshold=2}"輸出:
{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }如需更新服務的詳細資訊,請參閱AWS 《Cloud Map 開發人員指南》中的更新 Cloud Map 服務和AWS 共用 Cloud Map 命名空間 AWS。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UpdateService
。
-