本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用適用於 Amazon EC2 的 API
重要
自 2022 年 10 月 14 日起,Amazon EC2 APIs 的 HTTP 回應不再包含原因片語元素。根據 RFC7230
我們提供適用於 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 版的參數
| 名稱 | 描述 | 必要 |
|---|---|---|
|
|
要執行的動作。 範例: |
是 |
|
|
要使用的 API 版本。 |
是 |
|
|
您用來建立請求簽章的雜湊演算法。 範例: |
是 |
|
|
請求的登入資料範圍,格式為 範例: |
是 |
|
|
簽署請求的日期和時間,格式為 YYYYMMDDThhmmssZ。日期必須符合 範例: |
是 |
X-Amz-SignedHeaders |
您包含在請求中的標頭。您至少必須包含 範例: |
是 |
|
|
從私密存取金鑰衍生的簽章。 範例: |
是 |
|
|
透過呼叫 取得的臨時安全字符 AWS Security Token Service。 範例: |
否 |
|
|
檢查您是否具有動作所需的許可,而不需要實際提出請求。如果您有必要的許可,請求會傳回 |
否 |
X-Amz-Algorithm、X-Amz-SignedHeaders、 X-Amz-Credential和 X-Amz-Signature 參數可以指定為查詢字串中的個別參數,也可以將其值包含在單一Authorization標頭中。如需詳細資訊,請參閱《IAM 使用者指南》中的簽署 AWS API 請求。
Signature 第 2 版的參數
| 名稱 | 描述 | 必要 |
|---|---|---|
|
|
要執行的動作。 範例: |
是 |
|
|
要使用的 API 版本。 |
是 |
|
|
請求寄件者的存取金鑰 ID。這會識別將針對服務使用而收費的帳戶。與存取金鑰 ID 相關聯的帳戶必須註冊 Amazon EC2,否則不接受請求。 範例: |
是 |
|
|
請求中包含的簽章過期的日期和時間,格式為 YYYY-MM-DDThh:mm:ssZ。如需詳細資訊,請參閱 ISO 8601 範例: |
條件式。請求必須包含 Timestamp或 Expires,但不能同時包含兩者。 |
|
|
簽署請求的日期和時間,格式為 YYYY-MM-DDThh:mm:ssZ。如需詳細資訊,請參閱 ISO 8601 範例: |
條件式。請求必須包含 Timestamp或 Expires,但不能同時包含兩者。 |
|
|
請求簽章。 範例: |
是 |
|
|
您用來建立請求簽章的雜湊演算法。有效值: 範例: |
是 |
|
|
簽署請求時所使用的簽章版本。將此值設為 範例: |
是 |
|
|
檢查您是否具有動作所需的許可,而不需要實際提出請求。如果您有必要的許可,請求會傳回 |
否 |
|
|
透過呼叫 取得的臨時安全字符 AWS Security Token Service。 範例: |
否 |
參數值必須為 URL 編碼。對於傳遞至 Amazon EC2 的任何 Query 參數而言,這是如此,通常在 Signature 參數中是必要的。有些用戶端會自動執行此操作,但這不是常態。