Rumah > Soal Jawab > teks badan
P粉3602660952023-08-28 00:00:45
Penyelesaian yang dicadangkan oleh JasonQ-AWS sangat berguna untuk mendapatkan maklumat semua kejadian dan aplikasi dalam akaun. Walau bagaimanapun, ia tidak memberitahu anda maklumat yang menerangkan contoh di mana proses semasa sedang dilaksanakan.
Untuk mencapai ini, anda perlu menggunakan IMDSv2, yang memerlukan dua arahan CURL, yang pertama untuk mendapatkan token dan yang kedua untuk mendapatkan metadata sebenar tika semasa.
Dalam PHP, kodnya boleh menjadi:
$ch = curl_init(); // 获取有效的令牌 $headers = array ( 'X-aws-ec2-metadata-token-ttl-seconds: 10' ); $url = "http://169.254.169.254/latest/api/token"; curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "PUT" ); curl_setopt( $ch, CURLOPT_URL, $url ); $token = curl_exec( $ch ); echo "<p> TOKEN :" . $token; // 获取当前实例的元数据 $headers = array ( 'X-aws-ec2-metadata-token: '.$token ); $url = "http://169.254.169.254/latest/dynamic/instance-identity/document"; curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "GET" ); $result = curl_exec( $ch ); echo "<p> RESULT :" . $result;
Anda hanya perlu mengekstrak maklumat yang anda perlukan. Anda juga boleh meminta maklumat unik seperti ID contoh menggunakan URL yang lebih khusus:
$url = "http://169.254.169.254/latest/meta-data/instance-id";