View a markdown version of this page

使用適用於 Amazon EC2 的 API - Amazon Elastic Compute Cloud

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

使用適用於 Amazon EC2 的 API

重要

2022 年 10 月 14 日起,Amazon EC2 APIs 的 HTTP 回應不再包含原因片語元素。根據 RFC7230 的建議,您應該確保您的應用程式不會使用原因片語內容。確保您的應用程式改用 HTTP 回應中包含的 3 位數狀態碼元素。

我們提供適用於 Amazon EC2 的查詢 API,以及 AWS 的軟體開發套件 (SDK),可讓您從偏好的程式設計語言存取 Amazon EC2。如需詳細資訊,請參閱 Amazon EC2 開發人員指南

必要知識

如果您計劃透過 API 存取 Amazon EC2,您應該熟悉以下內容:

  • XML

  • Web 服務

  • HTTP 請求

  • 一種或多種程式設計語言,例如 Java、PHP、Perl、Python、Ruby、C# 或 C++。

Amazon EC2 的可用 APIs

Amazon EC2 Query API 提供使用 HTTP 動詞 GET 或 POST 的 HTTP 或 HTTPS 請求,以及名為 的 Query 參數Action

AWS 為偏好使用特定語言 APIs 而非透過 HTTP 或 HTTPS 提交請求的軟體開發人員提供程式庫、範本程式碼、教學課程和其他資源。這些程式庫提供基本函數,可自動處理諸如以密碼編譯方式簽署請求、重試請求和處理錯誤回應等任務,讓您更輕鬆地開始使用。

如需詳細資訊,請參閱《Amazon EC2 開發人員指南》中的使用 AWS SDK 建立 Amazon EC2 資源。 Amazon EC2

常見查詢參數

大多數 Amazon EC2 API 動作支援下表所述的參數。常見的參數會因您使用 Signature 第 2 版或 Signature 第 4 版來簽署請求而有所不同。如需詳細資訊,請參閱《IAM 使用者指南》中的簽署 AWS API 請求

Signature 第 4 版的參數

名稱 描述 必要

Action

要執行的動作。

範例:RunInstances

Version

要使用的 API 版本。

X-Amz-Algorithm

您用來建立請求簽章的雜湊演算法。

範例:AWS4-HMAC-SHA256

X-Amz-Credential

請求的登入資料範圍,格式為 access-key-ID/YYYYMMDD/region/service/aws4_request

範例:AKIDEXAMPLE/20140707/us-east-1/ec2/aws4_request

X-Amz-Date

簽署請求的日期和時間,格式為 YYYYMMDDThhmmssZ。日期必須符合 X-Amz-Credential 參數登入資料範圍中包含的日期,或 Authorization標頭中使用的日期 (請參閱下表下方的備註)。

範例:20140707T150456Z

X-Amz-SignedHeaders

您包含在請求中的標頭。您至少必須包含 host標頭。如果您在請求中包含 x-amz-date標頭,則必須將其包含在已簽章的標頭清單中。

範例:content-type;host;user-agent

X-Amz-Signature

從私密存取金鑰衍生的簽章。

範例:ced6826de92d2bdeed8f846f0bf508e8559example

X-Amz-Security-Token

透過呼叫 取得的臨時安全字符 AWS Security Token Service。

範例:AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L

DryRun

檢查您是否具有動作所需的許可,而不需要實際提出請求。如果您有必要的許可,請求會傳回 DryRunOperation,否則會傳回 UnauthorizedOperation

X-Amz-AlgorithmX-Amz-SignedHeadersX-Amz-CredentialX-Amz-Signature 參數可以指定為查詢字串中的個別參數,也可以將其值包含在單一Authorization標頭中。如需詳細資訊,請參閱《IAM 使用者指南》中的簽署 AWS API 請求

Signature 第 2 版的參數

名稱 描述 必要

Action

要執行的動作。

範例:RunInstances

Version

要使用的 API 版本。

AWSAccessKeyId

請求寄件者的存取金鑰 ID。這會識別將針對服務使用而收費的帳戶。與存取金鑰 ID 相關聯的帳戶必須註冊 Amazon EC2,否則不接受請求。

範例:AKIAIOSFODNN7EXAMPLE

Expires

請求中包含的簽章過期的日期和時間,格式為 YYYY-MM-DDThh:mm:ssZ。如需詳細資訊,請參閱 ISO 8601

範例:2006-07-07T15:04:56Z

條件式。請求必須包含 TimestampExpires,但不能同時包含兩者。

Timestamp

簽署請求的日期和時間,格式為 YYYY-MM-DDThh:mm:ssZ。如需詳細資訊,請參閱 ISO 8601

範例:2006-07-07T15:04:56Z

條件式。請求必須包含 TimestampExpires,但不能同時包含兩者。

Signature

請求簽章。

範例:Qnpl4Qk/7tINHzfXCiT7VEXAMPLE

SignatureMethod

您用來建立請求簽章的雜湊演算法。有效值:HmacSHA256 | HmacSHA1

範例:HmacSHA256

SignatureVersion

簽署請求時所使用的簽章版本。將此值設為 2

範例:2

DryRun

檢查您是否具有動作所需的許可,而不需要實際提出請求。如果您有必要的許可,請求會傳回 DryRunOperation,否則會傳回 UnauthorizedOperation

SecurityToken

透過呼叫 取得的臨時安全字符 AWS Security Token Service。

範例:AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L

參數值必須為 URL 編碼。對於傳遞至 Amazon EC2 的任何 Query 參數而言,這是如此,通常在 Signature 參數中是必要的。有些用戶端會自動執行此操作,但這不是常態。