Das primäre Ziel, das ich erreichen möchte, besteht darin, über meine laufenden EC2-Instanzen in PHP zu iterieren.Unterschiedliche Ausgabe in AWS PHP SDK als in AWSCLI
Es ist wirklich einfach, die Daten mit einem Bash-Skript zu erhalten, wie unten dargestellt:
Bash-Skript:
#!/bin/bash
export AWS_ACCESS_KEY_ID="AKIDEXAMPLE"
export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
aws ec2 describe-instances --region="eu-west-1" --filter "Name=instance-state-name,Values=running"
Bash Ausgang:
{
"Reservations": [
{
"OwnerId": "58728357357",
"ReservationId": "r-0e0283649826935",
"Instances": [
{
"SecurityGroups": [
{
"GroupId": "sg-2fe333148",
"GroupName": "WEB"
}
],
"PublicDnsName": "ec2-53-13-121-72.eu-west-1.compute.amazonaws.com",
"Architecture": "x86_64",
"LaunchTime": "2016-07-11T08:28:23.000Z",
"RootDeviceName": "/dev/sda1",
"BlockDeviceMappings": [
{
"Ebs": {
// ...
}
]
}
aber wenn ich versuche, die Englisch: www.doc-o-matic.com/webhelp/Tdlg.html Im folgenden Beispiel wird mit denselben Schlüsseln ein scheinbar unbrauchbares Objekt dargestellt - oder zumindest sieht das Objekt so aus, als würde es eine leere Datenstruktur darstellen.
PHP File:
<?php
require __DIR__ . "/vendor/autoload.php";
$settings = [
"version" => "latest",
"region" => "eu-west-1",
"credentials" => [
"key" => "AKIDEXAMPLE",
"secret" => "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
],
];
$client = new \Aws\Ec2\Ec2Client($settings);
$result = $client->describeInstances([
"Filters" => [
[
"Name" => "instance-state-name",
"Value" => "running",
]
],
]);
var_dump($result);
PHP Output:
Was zum Teufel soll ich mit dieser AWS \ Ergebnis vorhatte?
class Aws\Result#82 (1) {
private $data =>
array(2) {
'Reservations' =>
array(0) {
}
'@metadata' =>
array(4) {
'statusCode' =>
int(200)
'effectiveUri' =>
string(35) "https://ec2.eu-west-1.amazonaws.com"
'headers' =>
array(5) {
...
}
'transferStats' =>
array(1) {
...
}
}
}
}
Fehle ich etwas in der PHP-Konfiguration? Kann mir bitte jemand helfen, mich in die richtige Richtung zu lenken?
P.S. Ich habe die API-Schlüssel in den obigen Beispielen maskiert.
zuerst die Schlüssel-ID und Zugangsschlüssel aus der Frage entfernen, wenn sie in Gebrauch sind, bevor jemand sie abholt. – error2007s
Welche Ausgabe erwarten Sie auch von dem PHP-Code? – error2007s
@ error2007s Ich erwarte mindestens _some_ Daten über meine Instanzen, wie ich es mit dem Bash-Beispiel mache. Iterating '$ results' gibt mir nichts - das erste Element ist ein leeres Array. Beispiele zeigen '$ results [" Reservations "]', um die Instanzdaten zu speichern, aber meins ist leer. – Greg