在上一篇文章中,我們重點介紹了 S3;現在我們將重點介紹彈性計算雲 – 也就是 EC2。
內容系列:
本文是系列的一部分:
• Spring Cloud AWS – S3
• Spring Cloud AWS – Messaging Support
• Spring Cloud AWS – EC2 (當前文章)
• Spring Cloud AWS – RDS
• Spring Cloud AWS – Messaging Support
1. EC2元數據訪問
AWS EC2MetadataUtils@Value 註解直接注入這些元數據。
可以通過在任何配置類上添加 @EnableContextInstanceData 註解來啓用此功能:
@Configuration
@EnableContextInstanceData
public class EC2EnableMetadata {
//
}在 Spring Boot 環境中,實例元數據默認已啓用,這意味着此配置是不需要的。
然後,我們可以注入值:
@Value("${ami-id}")
private String amiId;
@Value("${hostname}")
private String hostname;
@Value("${instance-type}")
private String instanceType;
@Value("${services/domain}")
private String serviceDomain;1.1. 自定義標籤
此外,Spring 還支持注入用户自定義 標籤。我們可以通過在 context-instance-data 中定義屬性 user-tags-map 來啓用它,如下所示的 XML 配置:
<beans...>
<aws-context:context-instance-data user-tags-map="instanceData"/>
</beans>現在,讓我們使用 Spring 表達式語法注入用户定義的標籤:
@Value("#{instanceData.myTagKey}")
private String myTagValue;2. EC2 客户端
此外,如果實例上配置了用户標籤,Spring 將會創建一個 AmazonEC2 客户端,我們可以使用 @Autowired 註解將其注入到我們的代碼中:
@Autowired
private AmazonEC2 amazonEc2;請注意,這些功能僅在應用程序在 EC2 實例上運行時才能正常工作。
3. 結論
這篇內容是對使用 Spring Cloud AWS 訪問 EC2d 數據的快速且簡潔的介紹。
在系列文章的下一篇中,我們將探討 RDS 支持。
下一頁 »
Spring Cloud AWS – RDS
返回上一頁 «
Spring Cloud AWS – S3