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 für die AWS SDK for PHP Version 3
Client-Konstruktor-Optionen können in einem Client-Konstruktor oder der Aws\Sdk
Klasse bereitgestellt werden. Die Anzahl der Optionen, die einem bestimmten Clienttyp zur Verfügung stehen, kann variieren, je nachdem, welchen Client Sie anlegen. Diese benutzerdefinierten Client-Konfigurationsoptionen werden in der APIDokumentation der einzelnen Clients beschrieben.
Beachten Sie, dass einige Konfigurationsoptionen Standardwerte überprüfen und verwenden, die auf Umgebungsvariablen oder einer AWS Konfigurationsdatei basieren. Standardmäßig befindet sich die zu überprüfende Konfigurationsdatei .aws/config
in Ihrem Stammverzeichnis, in der Regel ~/.aws/config
. Sie können jedoch die Umgebungsvariable AWS_CONFIG_FILE
verwenden, um den Standardspeicherort der Konfigurationsdatei festzulegen. Dies kann beispielsweise nützlich sein, wenn Sie den Dateizugriff auf bestimmte Verzeichnisse mit open_basedir
einschränken.
Weitere Informationen zum Speicherort und zur Formatierung der gemeinsam genutzten AWS
config
credentials
Dateien finden Sie unter Konfiguration im Referenzhandbuch für Tools AWS SDKs und Tools.
Einzelheiten zu allen globalen Konfigurationseinstellungen, die Sie in den AWS Konfigurationsdateien oder als Umgebungsvariablen festlegen können, finden Sie in der Referenz zu den Einstellungen für Konfiguration AWS SDKs und Authentifizierung im Referenzhandbuch für Tools.
Konfigurationsoptionen
Das folgende Beispiel zeigt, wie Optionen an einen Amazon S3 S3-Client-Konstruktor übergeben werden.
use Aws\S3\S3Client; $options = [ 'region' => 'us-west-2', 'version' => '2006-03-01', 'signature_version' => 'v4' ]; $s3Client = new S3Client($options);
Weitere Informationen zum Erstellen von Clients finden Sie im grundlegenden Benutzerhandbuch.
api_provider
- Typ
-
callable
Ein PHP Callable, das ein Typ-, Service- und Versionsargument akzeptiert und ein Array mit entsprechenden Konfigurationsdaten zurückgibt. Der Wert für den Typ kann api
, waiter
oder paginator
sein.
Standardmäßig SDK verwendet der eine Instanz vonAws\Api\FileSystemApiProvider
, die API Dateien aus dem src/data
Ordner von lädt. SDK
Anmeldedaten
- Typ
-
array|Aws\CacheInterface|Aws\Credentials\CredentialsInterface|bool|callable
Übergeben Sie ein Aws\Credentials\CredentialsInterface
-Objekt, um eine spezifische Anmeldeinformationen-Instance zu verwenden. Im Folgenden wird angegeben, dass der IAM Identity Center-Anmeldeinformationsanbieter verwendet werden sollte. Dieser Anbieter wird auch als SSO Anmeldeinformationsanbieter bezeichnet.
$credentials = Aws\Credentials\CredentialProvider::sso('profile default'); $s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'credentials' => $credentials ]);
Wenn Sie ein benanntes Profil verwenden, ersetzen Sie 'default
' im vorherigen Beispiel durch den Namen Ihres Profils. Weitere Informationen zum Einrichten benannter Profile finden Sie unter Geteilte Profile config
und credentials
Dateien im AWS SDKsReferenzhandbuch zu Tools.
Wenn Sie keinen zu verwendenden Anmeldeinformationsanbieter angeben und sich auf die Anmeldeinformationsanbieterkette verlassen, ist die Fehlermeldung aufgrund einer fehlgeschlagenen Authentifizierung in der Regel generisch. Sie wird anhand des letzten Anbieters in der Liste der Quellen generiert, die auf gültige Anmeldeinformationen überprüft werden. Dabei handelt es sich möglicherweise nicht um den Anbieter, den Sie verwenden möchten. Wenn Sie angeben, welcher Anmeldeinformationsanbieter verwendet werden soll, ist jede daraus resultierende Fehlermeldung hilfreicher und relevanter, da sie nur von diesem Anbieter stammt. Weitere Informationen zur Kette von Quellen, die auf Anmeldeinformationen überprüft wurden, finden Sie unter Credential Provider Chain im AWS SDKsTools-Referenzhandbuch.
Übergeben Sie false
, um keine Anmeldeinformationen zu verwenden und Anfragen nicht zu signieren.
$s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'credentials' => false ]);
Übergeben Sie eine aufrufbare Anmeldeinformationsanbieter-Funktion, um Anmeldeinformationen unter Verwendung einer Funktion zu erstellen.
use Aws\Credentials\CredentialProvider; // Only load credentials from environment variables $provider = CredentialProvider::env(); $s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'credentials' => $provider ]);
Übergeben Sie in einer Instance von Aws\CacheInterface
zwischengespeicherte Anmeldeinformationen, um die Werte von der Standard-Anbieterkette über mehrere Prozesse zwischenzuspeichern.
use Aws\Credentials\CredentialProvider; use Aws\PsrCacheAdapter; use Symfony\Component\Cache\Adapter\FilesystemAdapter; $cache = new PsrCacheAdapter(new FilesystemAdapter); $provider = CredentialProvider::defaultProvider(); $cachedProvider = CredentialProvider::cache($provider, $cache); $s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'credentials' => $cachedProvider ]);
Weitere Informationen zur Bereitstellung von Anmeldeinformationen für einen Client finden Sie im Handbuch Anmeldeinformationen für AWS SDK for PHP Version 3.
Anmerkung
Anmeldeinformationen werden langsam geladen und geprüft, wenn sie verwendet werden.
debug
- Typ
-
bool|array
Gibt Debugging-Informationen zu jeder Übertragung aus. Debugging-Informationen enthalten Informationen zu jeder Statusänderung einer Transaktion, wie sie erstellt und gesendet wird. In der Debug-Ausgabe sind auch Informationen über den spezifischen HTTP Handler enthalten, der von einem Client verwendet wird (z. B. die URL Debug-C-Ausgabe).
Auf true
setzen, um Debugging-Informationen anzeigen, wenn Anforderungen gesendet werden.
$s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'debug' => true ]); // Perform an operation to see the debug output $s3->listBuckets();
Alternativ können Sie eine assoziatives Array mit den folgenden Schlüsseln bereitstellen.
- logfn (callable)
-
Funktion, die mit Protokolleinträgen aufgerufen wird. Standardmäßig wird die PHP
echo
Funktion verwendet. - stream_size (int)
-
Wenn die Größe eines Datenstroms größer als diese Zahl ist, werden die Stream-Daten nicht protokolliert. Auf
0
setzen, um nicht alle Stream-Daten zu protokollieren. - scrub_auth (bool)
-
Stellen Sie diese Option ein
false
, um das Löschen von Authentifizierungsdaten aus den protokollierten Nachrichten zu deaktivieren (was bedeutet, dass Ihre AWS Zugriffsschlüssel-ID und Signatur an dielogfn
weitergegeben werden). - http (bool)
-
Wird auf gesetzt
false
, um die Debug-Funktion von HTTP Handlern auf niedrigerer Ebene (z. B. ausführliche C-Ausgabe) zu deaktivieren. URL - auth_headers (array)
-
Auf eine Schlüssel-Wert-Zuweisung von Headern setzen, die Sie ersetzten wollen, abgebildet auf den Wert, durch den Sie sie ersetzen möchten. Diese Werte werden nicht verwendet, es sei denn
scrub_auth
ist auftrue
gesetzt. - auth_strings (array)
-
Auf eine Schlüssel-Wert-Zuordnung regulärer Ausdrücke setzen, um eine Abbildung auf ihre Ersatzwerte vorzunehmen. Diese Werte werden vom Authentifizierungsdaten-Scrubber verwendet, wenn
scrub_auth
auftrue
gesetzt ist.
$s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'debug' => [ 'logfn' => function ($msg) { echo $msg . "\n"; }, 'stream_size' => 0, 'scrub_auth' => true, 'http' => true, 'auth_headers' => [ 'X-My-Secret-Header' => '[REDACTED]', ], 'auth_strings' => [ '/SuperSecret=[A-Za-z0-9]{20}/i' => 'SuperSecret=[REDACTED]', ], ] ]); // Perform an operation to see the debug output $s3->listBuckets();
Anmerkung
Diese Option gibt auch die zugrunde liegenden HTTP Handler-Informationen aus, die von der Debug-Option erzeugt wurden. http
Die Debugging-Ausgabe ist extrem hilfreich beim Diagnostizieren von Problemen in AWS SDK for PHP. Bitte geben Sie die Debug-Ausgabe für einen isolierten Fehlerfall an, wenn Probleme auf dem geöffnet werden. SDK
stats
- Typ
-
bool|array
Bindet Übertragungsstatistiken an Fehler und Ergebnisse, die von Vorgängen zurückgegeben wurdenSDK.
Auf true
setzen, um Übertragungsstatistiken für gesendete Anforderungen zu erfassen.
$s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'stats' => true ]); // Perform an operation $result = $s3->listBuckets(); // Inspect the stats $stats = $result['@metadata']['transferStats'];
Alternativ können Sie eine assoziatives Array mit den folgenden Schlüsseln bereitstellen.
- retries (bool)
-
Auf
true
setzen, um Berichte zu versuchten Wiederholungen zu aktivieren. Wiederholungsstatistiken werden standardmäßig erfasst und zurückgegeben. - http (bool)
-
Wird auf gesetzt,
true
um das Sammeln von Statistiken von HTTP Adaptern auf niedrigerer Ebene zu ermöglichen (z. B. zurückgegebene Werte). GuzzleHttpTransferStats HTTPHandler müssen die Option __on_transfer_stats unterstützen, damit dies wirksam wird. HTTPStatistiken werden als indiziertes Array assoziativer Arrays zurückgegeben; jedes assoziative Array enthält die Übertragungsstatistiken, die vom Handler des Clients für eine Anfrage zurückgegeben wurden. HTTP Standardmäßig deaktiviert.Falls eine Anforderung wiederholt wurde, werden die Übertragungsstatistiken für jede Anforderung zurückgegeben, wobei
$result['@metadata']['transferStats']['http'][0]
die Statistiken für die erste Anforderung,$result['@metadata']['transferStats']['http'][1]
die Statistiken für die zweite Anforderung und so weiter enthält. - timer (bool)
-
Auf
true
setzen, um einen Befehlstimer zu aktivieren, der die gesamte für eine Operation aufgewendete Zeit in Sekunden anzeigt. Standardmäßig deaktiviert.
$s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'stats' => [ 'retries' => true, 'timer' => false, 'http' => true, ] ]); // Perform an operation $result = $s3->listBuckets(); // Inspect the HTTP transfer stats $stats = $result['@metadata']['transferStats']['http']; // Inspect the number of retries attempted $stats = $result['@metadata']['transferStats']['retries_attempted']; // Inspect the total backoff delay inserted between retries $stats = $result['@metadata']['transferStats']['total_retry_delay'];
Endpunkt
- Typ
-
string
Der gesamte WebserviceURI. Dies ist beispielsweise für Dienste erforderlich AWS Elemental MediaConvert, die kontospezifische Endpunkte verwenden. Für diese Dienste fordern Sie diesen Endpunkt mit der Methode an. describeEndpoints
Dies ist nur erforderlich, wenn Sie eine Verbindung zu einem benutzerdefinierten Endpunkt herstellen (z. B. eine lokale Version von Amazon S3 oder Amazon DynamoDB Local).
Hier ist ein Beispiel für eine Verbindung zu Amazon DynamoDB Local:
$client = new Aws\DynamoDb\DynamoDbClient([ 'version' => '2012-08-10', 'region' => 'us-east-1', 'endpoint' => 'http://localhost:8000' ]);
Eine Liste der verfügbaren AWS Regionen und Endpunkte finden Sie unter AWS Regionen und Endpunkte.
endpoint_provider
- Typ
-
Aws\EndpointV2\EndpointProviderV2|callable
Eine optionale Instanz von EndpointProvider V2 oder PHP Callable, die einen Hash von Optionen akzeptiert, einschließlich eines „Service“ - und „Region“ -Schlüssels. Sie gibt NULL
oder einen Hash für Endpunktdaten zurück, von denen der „Endpunktschlüssel“ benötigt wird.
Hier folgt ein Beispiel dafür, wie ein minimaler Endpunktanbieter eingerichtet wird.
$provider = function (array $params) { if ($params['service'] == 'foo') { return ['endpoint' => $params['region'] . '.example.com']; } // Return null when the provider cannot handle the parameters return null; });
endpoint_discovery
- Typ
-
array|Aws\CacheInterface|Aws\EndpointDiscovery\ConfigurationInterface|callable
Endpoint Discovery identifiziert den richtigen Endpunkt für einen Dienst, der Endpoint Discovery unterstütztAPI, und stellt eine Verbindung zu diesem her. Aktivieren Sie während der Client-Erstellung endpoint_discovery
für Services, die die Endpunkterkennung zwar unterstützen, aber nicht erfordern. Wenn ein Service die Endpunkterkennung nicht unterstützt, wird diese Konfiguration ignoriert.
Aws\EndpointDiscovery\ConfigurationInterface
Ein optionaler Konfigurationsanbieter, der die automatische Verbindung zum entsprechenden Endpunkt eines Dienstes API für vom Dienst angegebene Operationen ermöglicht.
Das Objekt Aws\EndpointDiscovery\Configuration
akzeptiert zwei Optionen, darunter ein Boolescher Wert („enabled“), der angibt, ob die Endpunkterkennung aktiviert ist, und eine Ganzzahl („cache_limit“), die die maximale Anzahl von Schlüsseln im Endpunkt-Cache angibt.
Für jeden erstellten Client übergeben Sie ein Objekt Aws\EndpointDiscovery\Configuration
, um eine bestimmte Konfiguration für die Endpunkterstellung zu nutzen.
use Aws\EndpointDiscovery\Configuration; use Aws\S3\S3Client; $enabled = true; $cache_limit = 1000; $config = new Aws\EndpointDiscovery\Configuration ( $enabled, $cache_limit ); $s3 = new Aws\S3\S3Client([ 'region' => 'us-east-2', 'endpoint_discovery' => $config, ]);
Übergeben Sie eine Instance von Aws\CacheInterface
, um die Werte von der Endpunkterkennung über mehrere Prozesse im Cache zu speichern.
use Aws\DoctrineCacheAdapter; use Aws\S3\S3Client; use Doctrine\Common\Cache\ApcuCache; $s3 = new S3Client([ 'region' => 'us-west-2', 'endpoint_discovery' => new DoctrineCacheAdapter(new ApcuCache), ]);
Übergeben Sie der Endpunkterkennung ein Array.
use Aws\S3\S3Client; $s3 = new S3Client([ 'region' => 'us-west-2', 'endpoint_discovery' => [ 'enabled' => true, 'cache_limit' => 1000 ], ]);
handler
- Typ
-
callable
Ein Handler, der ein Befehlsobjekt und ein Anfrageobjekt akzeptiert und ein Versprechen zurückgibt (GuzzleHttp\Promise\PromiseInterface
), das mit einem -Objekt erfüllt oder mit einer Aws\ResultInterface
abgelehnt wird.Aws\Exception\AwsException
Ein Handler akzeptiert keinen weiteren Handler, da er ein Terminal ist und einen Befehl ausführen soll. Wenn kein Handler bereitgestellt wird, wird eine Standard-Guzzle-Handler verwendet.
Du kannst den Aws\MockHandler
benutzen, um modellhafte Ergebnisse zurückzugeben oder modellhafte Ausnahmen aufzuwerfen. Sie stellen Ergebnisse oder Ausnahmen in die Warteschlange, und sie MockHandler werden sie der Reihe nach aus der Warteschlange entfernen. FIFO
use Aws\Result; use Aws\MockHandler; use Aws\DynamoDb\DynamoDbClient; use Aws\CommandInterface; use Psr\Http\Message\RequestInterface; use Aws\Exception\AwsException; $mock = new MockHandler(); // Return a mocked result $mock->append(new Result(['foo' => 'bar'])); // You can provide a function to invoke; here we throw a mock exception $mock->append(function (CommandInterface $cmd, RequestInterface $req) { return new AwsException('Mock exception', $cmd); }); // Create a client with the mock handler $client = new DynamoDbClient([ 'region' => 'us-east-1', 'handler' => $mock ]); // Result object response will contain ['foo' => 'bar'] $result = $client->listTables(); // This will throw the exception that was enqueued $client->listTables();
http
- Typ
-
array
Legt eine Reihe von HTTP Optionen fest, die auf HTTP Anfragen und Übertragungen angewendet werden, die von der erstellt wurden. SDK
Das SDK unterstützt die folgenden Konfigurationsoptionen:
cert
- Typ
-
string|array
Geben Sie das PEM formatierte clientseitige Zertifikat an.
-
Als Zeichenfolge für den Pfad nur zur Zertifikatdatei festlegen.
use Aws\S3\S3Client; $client = new S3Client([ 'region' => 'us-west-2', 'http' => ['cert' => '/path/to/cert.pem'] ]);
-
Legen Sie dies als Array fest, das Pfad und Passwort enthält.
use Aws\S3\S3Client; $client = new S3Client([ 'region' => 'us-west-2', 'http' => [ 'cert' => ['/path/to/cert.pem', 'password'] ] ]);
connect_timeout
Ein Fließkommawert, der die Anzahl der Sekunden angibt, die man warten muss, während man versucht, eine Verbindung zu einem Server herzustellen. Verwenden Sie 0
für unbestimmtes Warten (das Standardverhalten).
use Aws\DynamoDb\DynamoDbClient; // Timeout after attempting to connect for 5 seconds $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'connect_timeout' => 5 ] ]);
debug
- Typ
-
bool|resource
Weist den zugrunde liegenden HTTP Handler an, Debug-Informationen auszugeben. Die von den verschiedenen HTTP Handlern bereitgestellten Debug-Informationen variieren.
-
Übergabe
true
, in die die Debug-Ausgabe geschrieben werden soll. STDOUT -
Übergibt a,
resource
wie es von zurückgegeben wurdefopen
, um die Debug-Ausgabe in eine bestimmte PHP Stream-Ressource zu schreiben.
decode_content
- Typ
-
bool
Weist den zugrunde liegenden HTTP Handler an, den Hauptteil der komprimierten Antworten aufzublasen. Wenn dies nicht aktiviert ist, werden komprimierte Antwortrümpfe möglicherweise mit einem GuzzleHttp\Psr7\InflateStream
erweitert.
Anmerkung
Die Inhaltsdekodierung ist im Standard-Handler von standardmäßig aktiviert. SDK HTTP Aus Gründen der Abwärtskompatibilität kann diese Voreinstellung nicht geändert werden. Wenn Sie komprimierte Dateien in Amazon S3 speichern, empfehlen wir, die Inhaltsdekodierung auf S3-Client-Ebene zu deaktivieren.
use Aws\S3\S3Client; use GuzzleHttp\Psr7\InflateStream; $client = new S3Client([ 'region' => 'us-west-2', 'http' => ['decode_content' => false], ]); $result = $client->getObject([ 'Bucket' => 'amzn-s3-demo-bucket', 'Key' => 'massize_gzipped_file.tgz' ]); $compressedBody = $result['Body']; // This content is still gzipped $inflatedBody = new InflateStream($result['Body']); // This is now readable
Verzögerung
- Typ
-
int
Die Anzahl der Millisekunden für die Verzögerung vor dem Senden der Anfrage. Dies wird oft verwendet, um eine Anfrage zu verzögern, bevor sie erneut versucht wird.
expect
- Typ
-
bool|string
Diese Option wird an den zugrunde liegenden HTTP Handler weitergegeben. Standardmäßig werden Kopfzeilen mit „Expect: 100 Continue“ festgelegt, wenn der Textteil der Anforderung 1 MB überschreitet. true
oder false
aktiviert oder deaktiviert die Kopfzeile auf allen Anforderungen. Wenn eine Ganzzahl verwendet wird, verwenden nur Anforderungen diese Kopfzeile, deren Textteil diese Einstellung überschreitet. Bei Verwendung als Ganzzahl wird die expect-Kopfzeile mitgesendet, wenn die Textgröße nicht bekannt ist.
Warnung
Die Deaktivierung der expect-Kopfzeile kann Fehler hervorrufen, z. B. kann es sein, dass der Service keine Authentifizierung mehr zurückgibt. Diese sollte mit Vorsicht konfiguriert werden.
progress
- Typ
-
callable
Definiert eine Funktion, die aufgerufen wird, wenn Übertragungsfortschritt gemacht wird. Die Funktion akzeptiert die folgenden Argumente:
-
Die Gesamtanzahl der Bytes, die voraussichtlich heruntergeladen werden.
-
Die Anzahl der Bytes, die bisher heruntergeladen wurden.
-
Die Gesamtanzahl der Bytes, die voraussichtlich hochgeladen werden.
-
Die Anzahl der Bytes, die bisher hochgeladen wurden.
use Aws\S3\S3Client; $client = new S3Client([ 'region' => 'us-west-2' ]); // Apply the http option to a specific command using the "@http" // command parameter $result = $client->getObject([ 'Bucket' => 'amzn-s3-demo-bucket', 'Key' => 'large.mov', '@http' => [ 'progress' => function ($expectedDl, $dl, $expectedUl, $ul) { printf( "%s of %s downloaded, %s of %s uploaded.\n", $expectedDl, $dl, $expectedUl, $ul ); } ] ]);
Proxy
- Typ
-
string|array
Mithilfe der proxy
Option können Sie über einen Proxy eine Verbindung zu einem AWS Dienst herstellen.
-
Geben Sie einen Zeichenfolgenwert an, um eine Verbindung zu einem Proxy für alle Typen von herzustellenURIs. Der Proxy-Zeichenfolgenwert kann ein Schema, einen Benutzernamen und ein Passwort enthalten. Beispiel,
"http://username:password@192.168.16.1:10"
. -
Geben Sie ein assoziatives Array von Proxyeinstellungen anURI, wobei der Schlüssel das Schema von und der Wert der Proxy für den angegebenen Wert ist URI (d. h. Sie können verschiedene Proxys für die Endpunkte „http“ und „https“ angeben).
use Aws\DynamoDb\DynamoDbClient; // Send requests through a single proxy $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'proxy' => 'http://192.168.16.1:10' ] ]); // Send requests through a different proxy per scheme $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'proxy' => [ 'http' => 'tcp://192.168.16.1:10', 'https' => 'tcp://192.168.16.1:11', ] ] ]);
Sie können die HTTP_PROXY
-Umgebungsvariable verwenden, sodass ein „http“-Protokoll-spezifischer Proxy konfiguriert wird, und die HTTPS_PROXY
-Umgebungsvariable, sodass ein „https“-spezifischer Proxy konfiguriert wird.
sink
- Typ
-
resource|string|Psr\Http\Message\StreamInterface
Die sink
-Option steuert, wohin die Antwortdaten einer Operation heruntergeladen werden.
-
Geben Sie a an
resource
, wie zurückgegeben vonfopen
, um den Antworttext in einen Stream herunterzuladen. PHP -
Geben Sie den Pfad zu einer Datei auf der Festplatte als
string
-Wert an, um den Antwortrumpf in eine bestimmte Datei auf der Festplatte herunterzuladen. -
Geben Sie a
Psr\Http\Message\StreamInterface
an, um den Antworttext in ein bestimmtes PSR Stream-Objekt herunterzuladen.
Anmerkung
Der SDK lädt den Antworttext standardmäßig in einen PHP temporären Stream herunter. Das bedeutet, dass die Daten im Speicher bleiben, bis die Größe des Rumpfs 2 MB erreicht. Zu diesem Zeitpunkt werden die Daten in eine temporäre Datei auf der Festplatte geschrieben.
synchronous
- Typ
-
bool
Die synchronous
Option informiert den zugrunde liegenden HTTP Handler darüber, dass Sie beabsichtigen, das Ergebnis zu blockieren.
stream
- Typ
-
bool
Wird auf gesetzt, true
um dem zugrunde liegenden HTTP Handler mitzuteilen, dass Sie den Antworttext einer Antwort vom Webservice streamen möchten, anstatt alles im Voraus herunterzuladen. Diese Option wird beispielsweise in der Amazon S3 S3-Stream-Wrapper-Klasse verwendet, um sicherzustellen, dass die Daten gestreamt werden.
timeout
- Typ
-
float
Eine Fließkommazahl, die das Timeout der Anfrage in Sekunden beschreibt. Verwenden Sie 0
für unbestimmtes Warten (das Standardverhalten).
use Aws\DynamoDb\DynamoDbClient; // Timeout after 5 seconds $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'timeout' => 5 ] ]);
verify
- Typ
-
bool|string
Sie können das Verhalten bei der SSL TLS Peer-/Zertifikatsverifizierung SDK mithilfe der verify
http
Option anpassen.
-
Stellen Sie diese
true
Option ein, um die Überprüfung von SSL TLS /peer-Zertifikaten zu aktivieren und das vom Betriebssystem bereitgestellte Standard-CA-Paket zu verwenden. -
Auf
false
setzen, um die Peer-Zertifikatsverifizierung zu deaktivieren. (Das ist nicht sicher!) -
Auf eine Zeichenfolge setzen, um den Pfad zu einem CA-Zertifikat-Bundle bereitzustellen, um die Verifizierung mit einem benutzerdefinierten CA-Bundle zu ermöglichen.
Wenn das CA-Bundle für Ihr System nicht gefunden werden kann und Sie eine Fehlermeldung erhalten, geben Sie den Pfad zu einem CA-Bundle anSDK. Falls Sie kein bestimmtes CA-Bundle benötigen, stellt Mozilla ein häufig verwendetes CA-Bundle zur Verfügung, das Sie hieropenssl.cafile
PHP .ini-Einstellung so einstellen, dass sie auf den Pfad zur Datei verweist, sodass Sie die Anforderungsoption weglassen können. verify
Weitere Informationen zu SSL Zertifikaten finden Sie auf der URLC-Website
use Aws\DynamoDb\DynamoDbClient; // Use a custom CA bundle $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'verify' => '/path/to/my/cert.pem' ] ]); // Disable SSL/TLS verification $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'verify' => false ] ]);
http_handler
- Typ
-
callable
Die http_handler
Option wird verwendet, um sie SDK mit anderen HTTP Clients zu integrieren. Eine http_handler
-Option ist eine Funktion, die ein Psr\Http\Message\RequestInterface
-Objekt akzeptiert, und ein Array mit http
-Optionen, die auf den Befehl angewendet werden, und die ein GuzzleHttp\Promise\PromiseInterface
-Objekt zurückgibt, das mit einem Psr\Http\Message\ResponseInterface
-Objekt erfüllt oder mit einem Array mit den folgenden Ausnahmedaten abgelehnt wird:
-
exception
– (\Exception
) die Ausnahme, die festgestellt wurde. -
response
– (Psr\Http\Message\ResponseInterface
) die (gegebenenfalls) erhaltene Antwort. -
connection_error
– (bool) gleichtrue
, um den Fehler als Verbindungsfehler zu kennzeichnen. Wenn Sie diesen Wert auf setzenSDK, kann der Vorgang bei Bedarftrue
auch automatisch wiederholt werden.
Das konvertiert die angegebene Option SDK automatisch http_handler
in eine normale handler
Option, indem sie das Bereitgestellte http_handler
mit einem Aws\WrappedHttpHandler
Objekt umschließt.
Standardmäßig SDK verwendet der Guzzle als seinen HTTP Handler. Sie können hier einen anderen HTTP Handler angeben oder einem Guzzle-Client Ihre eigenen benutzerdefinierten Optionen zur Verfügung stellen.
Version einstellen TLS
Ein Anwendungsfall besteht darin, die von Guzzle verwendete TLS Version mit Curl festzulegen, vorausgesetzt, Curl ist in Ihrer Umgebung installiert. Beachten Sie die Curl-Versionsbeschränkungen für die Version von
Sie können die TLS Version ermitteln, die für einen bestimmten Client-Vorgang verwendet wird, indem Sie die debug
Client-Option auf true setzen und die SSL Verbindungsausgabe untersuchen. Diese Zeile könnte etwa so aussehen: SSL connection using TLSv1.2
Beispieleinstellung TLS 1.2 mit Guzzle 6:
use Aws\DynamoDb\DynamoDbClient; use Aws\Handler\GuzzleV6\GuzzleHandler; use GuzzleHttp\Client; $handler = new GuzzleHandler( new Client([ 'curl' => [ CURLOPT_SSLVERSION => CURL_SSLVERSION_TLSv1_2 ] ]) ); $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http_handler' => $handler ]);
Anmerkung
Die http_handler
-Option ersetzt alle angegebenen handler
-Optionen.
Profil
- Typ
-
string
Die Option „Profil“ gibt an, welches Profil verwendet werden soll, wenn Anmeldeinformationen aus der AWS Anmeldeinformationsdatei in Ihrem HOME Verzeichnis erstellt werden (normalerweise~/.aws/credentials
). Diese Einstellung überschreibt die AWS_PROFILE
-Umgebungsvariable.
Anmerkung
Wenn Sie die Option „Profil“ angeben, wird die "credentials"
Option ignoriert und die Einstellungen für Anmeldeinformationen in der AWS Konfigurationsdatei werden (normalerweise~/.aws/config
) ignoriert.
// Use the "production" profile from your credentials file $ec2 = new Aws\Ec2\Ec2Client([ 'version' => '2014-10-01', 'region' => 'us-west-2', 'profile' => 'production' ]);
Weitere Informationen zur Konfiguration von Anmeldeinformationen und zum .ini-Dateiformat finden Sie unter Anmeldeinformationen für AWS SDK for PHP Version 3.
Region
- Typ
-
string
- Erforderlich
-
true
AWS Region, zu der eine Verbindung hergestellt werden soll. Eine Liste der verfügbaren AWS Regionen finden Sie unter Regionen und Endpunkte.
// Set the Region to the EU (Frankfurt) Region $s3 = new Aws\S3\S3Client([ 'region' => 'eu-central-1', 'version' => '2006-03-01' ]);
retries
- Typ
-
int|array|Aws\CacheInterface|Aws\Retry\ConfigurationInterface|callable
- Standard
-
int(3)
Konfiguriert den Wiederholungsmodus und die maximal zulässige Anzahl von Wiederholungen für einen Client. Übergeben Sie 0
, um Wiederholungen zu deaktivieren.
Die drei Wiederholungsmodi sind:
-
legacy
- die standardmäßige Legacy-Wiederholungsimplementierung -
standard
- fügt ein Quotensystem für Wiederholungsversuche hinzu, um Wiederholungsversuche zu verhindern, bei denen es unwahrscheinlich ist, dass sie erfolgreich sind -
adaptive
– baut auf dem Standardmodus auf und fügt eine clientseitige Ratenbegrenzung hinzu. Beachten Sie, dass dieser Modus als experimentell betrachtet wird.
Die Konfiguration für Wiederholungen besteht aus dem Modus und den maximal zulässigen Versuchen für die einzelnen Anforderungen. Die Konfiguration kann an mehreren verschiedenen Orten in der folgenden Rangfolge festgelegt werden.
Rangfolge
Die Rangfolge für die Wiederholungskonfiguration lautet wie folgt (1 überschreibt 2-3 usw.):
-
Client-Konfigurationsoption
-
Umgebungsvariablen
-
AWS Gemeinsam genutzte Konfigurationsdatei
Umgebungsvariablen
-
AWS_RETRY_MODE
– festgelegt auflegacy
,standard
oderadaptive
-
AWS_MAX_ATTEMPTS
– festgelegt auf einen ganzzahligen Wert für die maximal zulässigen Versuche pro Anforderung
Schlüssel für Datei mit gemeinsam verwendeter Konfiguration
-
retry_mode
– festgelegt auflegacy
,standard
oderadaptive
-
max_attempts
– festgelegt auf einen ganzzahligen Wert für die maximal zulässigen Versuche pro Anforderung
Client-Konfiguration
Das folgende Beispiel deaktiviert Wiederholungen für den Amazon DynamoDB-Client.
// Disable retries by setting "retries" to 0 $client = new Aws\DynamoDb\DynamoDbClient([ 'version' => '2012-08-10', 'region' => 'us-west-2', 'retries' => 0 ]);
Im folgenden Beispiel wird ein ganzzahliger Wert übergeben, der standardmäßig den legacy
-Modus mit der übergebenen Anzahl von Wiederholungen aufweist
// Disable retries by setting "retries" to 0 $client = new Aws\DynamoDb\DynamoDbClient([ 'version' => '2012-08-10', 'region' => 'us-west-2', 'retries' => 6 ]);
- Das Objekt
Aws\Retry\Configuration
akzeptiert zwei Parameter, den Wiederholungsmodus -
und einen ganze Wert für die maximal zulässigen Versuche pro Anforderung. In diesem Beispiel wird ein
Aws\Retry\Configuration
-Objekt für die Wiederholungskonfiguration übergeben.
use Aws\EndpointDiscovery\Configuration; use Aws\S3\S3Client; $enabled = true; $cache_limit = 1000; $config = new Aws\Retry\Configuration('adaptive', 10); $s3 = new Aws\S3\S3Client([ 'region' => 'us-east-2', 'retries' => $config, ]);
In diesem Beispiel wird ein Array für die Wiederholungskonfiguration übergeben.
use Aws\S3\S3Client; $s3 = new S3Client([ 'region' => 'us-west-2', 'retries' => [ 'mode' => 'standard', 'max_attempts' => 7 ], ]);
In diesem Beispiel wird eine Instance von Aws\CacheInterface
übergeben, um die vom Standardanbieter für Wiederholungskonfigurationen zurückgegebenen Werte zwischenzuspeichern.
use Aws\DoctrineCacheAdapter; use Aws\S3\S3Client; use Doctrine\Common\Cache\ApcuCache; $s3 = new S3Client([ 'region' => 'us-west-2', 'endpoint_discovery' => new DoctrineCacheAdapter(new ApcuCache), ]);
scheme
- Typ
-
string
- Standard
-
string(5) "https"
URISchema, das beim Herstellen einer Verbindung verwendet werden soll. Das SDK verwendet standardmäßig „https“ -Endpunkte (d. h. verwendet SSL TLS /-Verbindungen). Sie können versuchen, eine Verbindung zu einem Service über einen unverschlüsselten „http“-Endpunkt herzustellen, indem Sie scheme
auf „http“ setzen.
$s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'us-west-2', 'scheme' => 'http' ]);
Unter AWS Regionen und Endpunkte finden Sie eine Liste der Endpunkte und ob ein Dienst das Schema unterstützt. http
Service nicht zulässig
- Typ
-
string
- Erforderlich
-
true
Name des zu verwendenden Service. Dieser Wert wird standardmäßig bereitgestellt, wenn ein von SDK (d. h.,Aws\S3\S3Client
) bereitgestellter Client verwendet wird. Diese Option ist nützlich, wenn Sie einen Service testen, der noch nicht in der veröffentlicht wurde, der SDK aber auf der Festplatte verfügbar ist.
signature_provider
- Typ
-
callable
Ein Callable, das einen Signaturversionsnamen (z. B.v4
), einen Dienstnamen und eine AWS Region akzeptiert und ein Aws\Signature\SignatureInterface
Objekt zurückgibt oder NULL
ob der Anbieter in der Lage ist, einen Unterzeichner für die angegebenen Parameter zu erstellen. Dieser Anbieter wird verwendet, um vom Client verwendete Signaturgeber zu erstellen.
In der SDK Aws\Signature\SignatureProvider
Klasse werden verschiedene Funktionen bereitgestellt, mit denen benutzerdefinierte Signaturanbieter erstellt werden können.
signature_version
- Typ
-
string
Eine Zeichenfolge, die eine benutzerdefinierte Signaturversion darstellt, die für einen Service verwendet wird (z. B. v4
usw.). Je nach Vorgang MAY überschreibt die Signaturversion diese angeforderte Signaturversion, falls erforderlich.
Die folgenden Beispiele zeigen, wie ein Amazon S3 S3-Client für die Verwendung der Signaturversion 4 konfiguriert wird:
// Set a preferred signature version $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'us-west-2', 'signature_version' => 'v4' ]);
Anmerkung
Sie signature_provider
werden von Ihrem Kunden MUST verwendet, um die von Ihnen signature_version
bereitgestellte Option zu erstellen. Die Standardeinstellung, die von der signature_provider
verwendet wird, SDK kann Signaturobjekte für „v4“ und „anonyme“ Signaturversionen erstellen.
ua_append
- Typ
-
string|string[]
- Standard
-
[]
Eine Zeichenfolge oder ein Array von Zeichenketten, die zu der an den HTTP Handler übergebenen User-Agent-Zeichenfolge hinzugefügt werden.
use_aws_shared_config_files
- Typ
-
bool|array
- Standard
-
bool(true)
Auf false setzen, um die Suche nach einer gemeinsam genutzten Konfigurationsdatei in '~/ zu deaktivieren. aws/config’ and ‘~/.aws/credentials'. Dadurch wird die FILE Umgebungsvariable AWS_CONFIG _ überschrieben.
validieren
- Typ
-
bool|array
- Standard
-
bool(true)
Auf false
setzen, um die clientseitige Parametervalidierung zu deaktivieren. Sie werden vielleicht feststellen, dass die Deaktivierung der Validierung die Leistung des Clients etwas verbessert, aber der Unterschied ist vernachlässigbar.
// Disable client-side validation $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'eu-west-1', 'validate' => false ]);
Auf ein assoziatives Array von Validierungsoptionen setzen, um spezifische Validierungsbedingungen zu aktivieren:
-
required
– Validieren, ob die erforderlichen Parameter vorhanden sind (standardmäßig aktiviert). -
min
– Validieren der Mindestlänge eines Werts (standardmäßig aktiviert). -
max
– Validieren der maximalen Länge eines Werts. -
pattern
– Validieren, ob der Wert mit einem regulären Ausdruck übereinstimmt.
// Validate only that required values are present $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'eu-west-1', 'validate' => ['required' => true] ]);
version
- Typ
-
string
- Erforderlich
-
false
Diese Option gibt die Version des Webdienstes an, der verwendet werden soll (z. B.2006-03-01
).
Ab Version 3.277.10 von ist die SDK Option „Version“ nicht erforderlich. Wenn Sie die Option „Version“ nicht angeben, SDK verwendet der die neueste Version des Service-Clients.
In zwei Situationen ist ein „Version“ -Parameter erforderlich, wenn Sie einen Service-Client erstellen.
-
Sie verwenden eine PHP SDK ältere Version als 3.277.10.
-
Sie verwenden Version 3.277.10 oder höher und möchten eine andere Version als die „neueste“ für einen Service-Client verwenden.
Das folgende Snippet verwendet beispielsweise Version 3.279.7 vonSDK, aber nicht die neueste Version für. Ec2Client
$ec2Client = new \Aws\Ec2\Ec2Client([ 'version' => '2015-10-01', 'region' => 'us-west-2' ]);
Die Angabe einer Versionsbeschränkung stellt sicher, dass Ihr Code nicht durch eine Unterbrechung des Service beeinträchtigt wird.
Eine Liste der verfügbaren API Versionen finden Sie auf der Dokumentationsseite der einzelnen Kunden. API Wenn Sie eine bestimmte API Version nicht laden können, müssen Sie möglicherweise Ihre Kopie von aktualisierenSDK.