AWS Cloud Map 使用 的範例 AWS CLI - AWS SDK 程式碼範例

文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的 GitHub 範例。

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

AWS Cloud Map 使用 的範例 AWS CLI

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 來執行動作和實作常見案例 AWS Cloud Map。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會示範如何呼叫個別服務函數,但您可以在相關案例中查看內容中的動作。

每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例示範如何使用 create-private-dns-namespace

AWS CLI

建立私有 DNS 命名空間

下列create-private-dns-namespace範例會建立私有 DNS 命名空間。

aws servicediscovery create-private-dns-namespace \ --name example.com \ --vpc vpc-1c56417b

輸出:

{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }

若要確認操作成功,您可以執行 get-operation。如需詳細資訊,請參閱取得操作

如需詳細資訊,請參閱 AWS Cloud Map 開發人員指南中的建立命名空間

下列程式碼範例示範如何使用 create-service

AWS CLI

建立服務

下列create-service範例會建立 服務。

aws servicediscovery create-service \ --name myservice \ --namespace-id ns-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。如需詳細資訊,請參閱取得操作

如需詳細資訊,請參閱 AWS Cloud Map 開發人員指南中的刪除命名空間

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteNamespace

下列程式碼範例示範如何使用 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-id myservice-53

輸出:

{ "OperationId": "4yejorelbukcjzpnr6tlmrghsjwpngf4-k98rnaiq" }

若要確認操作成功,您可以執行 get-operation。如需詳細資訊,請參閱取得操作

如需詳細資訊,請參閱 AWS Cloud Map 開發人員指南中的取消註冊服務執行個體

下列程式碼範例示範如何使用 discover-instances

AWS CLI

若要探索已註冊的執行個體

下列discover-instances範例會探索已註冊的執行個體。

aws servicediscovery discover-instances \ --namespace-name example.com \ --service-name myservice \ --max-results 10 \ --health-status ALL

輸出:

{ "Instances": [ { "InstanceId": "myservice-53", "NamespaceName": "example.com", "ServiceName": "myservice", "HealthStatus": "UNKNOWN", "Attributes": { "AWS_INSTANCE_IPV4": "172.2.1.3", "AWS_INSTANCE_PORT": "808" } } ] }
  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DiscoverInstances

下列程式碼範例示範如何使用 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" } } }
  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetOperation

下列程式碼範例示範如何使用 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-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

下列程式碼範例示範如何使用 register-instance

AWS CLI

註冊服務執行個體

下列register-instance範例會註冊服務執行個體。

aws servicediscovery register-instance \ --service-id srv-p5zdwlg5uvvzjita \ --instance-id myservice-53 \ --attributes=AWS_INSTANCE_IPV4=172.2.1.3,AWS_INSTANCE_PORT=808

輸出:

{ "OperationId": "4yejorelbukcjzpnr6tlmrghsjwpngf4-k95yg2u7" }

若要確認操作成功,您可以執行 get-operation。如需詳細資訊,請參閱取得操作

如需詳細資訊,請參閱 AWS Cloud Map 開發人員指南中的註冊執行個體

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 RegisterInstance