Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konfiguration von Service-Clients im Code für die AWS SDK für PHP Version 3
Als Alternative oder zusätzlich zur externen Konfiguration von Service-Clients können Sie sie programmgesteuert im Code konfigurieren.
Durch die Konfiguration von Service-Clients im Code erhalten Sie eine detaillierte Kontrolle über die vielen Optionen, die Ihnen zur Verfügung stehen. Die meisten Konfigurationen, die Sie extern festlegen können, stehen Ihnen auch zur Verfügung, um sie im Code festzulegen.
Grundkonfiguration im Code
Sie können einen Service-Client im Code erstellen und konfigurieren, indem Sie ein assoziatives Array von Optionen an den Konstruktor eines Clients übergeben. Im folgenden Beispiel enthält das assoziative Array nur die Option „Region“, die der Client verwendet:
require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException; //Create an S3Client $s3 = new S3Client([ 'region' => 'eu-south-2' ]);
Informationen zum optionalen Parameter „Version“ finden Sie im Thema Konfigurationsoptionen.
Beachten Sie, dass wir nicht explizit Anmeldeinformationen für den Client angegeben haben. Das liegt daran, dass das SDK die standardmäßige Anbieterkette für Anmeldeinformationen verwendet, um nach Anmeldeinformationen zu suchen.
Alle allgemeinen Client-Konfigurationsoptionen werden unter ausführlich beschrieben. Client-Konstruktor-Optionen für die AWS SDK für PHP Version 3 Die Anzahl der Optionen, die einem Client zur Verfügung gestellt werden, kann je nach Client, den Sie erstellen, variieren. Diese benutzerdefinierten Clientkonfigurationsoptionen sind in der API-Dokumentation für jeden Client beschrieben.
Verwendung der Sdk
Klasse
Die Klasse Aws\Sdk
fungiert als Client-Factory und wird verwendet, um gemeinsame Konfigurationsoptionen für mehrere Clients zu verwalten. Viele der Optionen, die einem bestimmten Client-Konstruktor zur Verfügung gestellt werden können, können auch der Aws\Sdk
Klasse zur Verfügung gestellt werden. Diese Optionen werden dann auf jeden Client-Konstruktor angewendet.
Importe
require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;
Beispiel-Code
// The same options that can be provided to a specific client constructor can also be supplied to the Aws\Sdk class. // Use the us-west-2 region and latest version of each client. $sharedConfig = [ 'region' => 'us-west-2' ]; // Create an SDK class used to share configuration across clients. $sdk = new Aws\Sdk($sharedConfig); // Create an Amazon S3 client using the shared configuration data. $client = $sdk->createS3();
Optionen, die für alle Clients freigegeben sind, werden in Schlüssel/Wert-Paaren auf Stammebene platziert. Dienstspezifische Konfigurationsdaten können in einem assoziativen Array mit einem Schlüssel bereitgestellt werden, der dem Namespace eines Dienstes entspricht (z. B. „S3“, „DynamoDb“ usw.).
$sdk = new Aws\Sdk([ 'region' => 'us-west-2', 'DynamoDb' => [ 'region' => 'eu-central-1' ] ]); // Creating an Amazon DynamoDb client will use the "eu-central-1" AWS Region. $client = $sdk->createDynamoDb();
Servicespezifische Konfigurationswerte sind eine Vereinigung der servicespezifischen Werte und der Werte auf Stammebene (d. h. servicespezifische Werte werden flach auf Werte auf Stammebene zusammengeführt).
Anmerkung
Wir empfehlen dringend, dass Sie die Klasse Sdk
verwenden, um Clients zu erstellen, wenn Sie mehrere Client-Instances in Ihrer Anwendung verwenden. Die Klasse Sdk
verwendet automatisch denselben HTTP-Client für jeden SDK-Client, sodass SDK-Clients für verschiedene Services nicht blockierende HTTP-Anforderungen ausführen können. Wenn die SDK-Clients nicht denselben HTTP-Client verwenden, blockieren HTTP-Anforderungen, die vom SDK-Client gesendet werden, möglicherweise die Promise-Orchestrierung zwischen Services.