問題タブ [aws-php-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
332 参照

amazon-web-services - AWS SDK php S3 がバケット名 xx.my_domain.com へのアクセスを拒否する

AWS S3 を使用して、ウェブサイトの画像ファイルを保存したいと考えています。AWS Route 53 から dns cname images.mydomain.com によって参照されたバケット名 images.mydomain.com を作成します。

フォルダーまたはファイルが存在するかどうかを確認したい。そうでない場合は作成します。
次の php コードは、ストリーム ラッパーを使用した通常のバケット名では正常に機能しますが、xxxx.mydomain.com などのこのタイプのバケット名では失敗します。この種のバケット名は、dosObjectExist() メソッドでも失敗します。

次のメッセージを受け取りました

警告: アクセスしようとしているバケットは、指定されたエンドポイントを使用してアドレス指定する必要があります。今後のすべてのリクエストをこのエンドポイント「images.mydomain.com.s3.amazonaws.com」に送信してください。C:\AppServ\www\ecity\vendor\aws\aws-sdk-php\src\Aws\S3\StreamWrapper.php の 737 行目

ここで何が問題なのですか?
この場合、何をすべきかアドバイスはありますか?
ありがとう!

0 投票する
1 に答える
808 参照

php - AWS PHP SDK v2 を使用した S3 リージョン間のノンブロッキング オブジェクト コピー

S3Client->copyObject()AWS PHP SDK v2の操作を使用して、異なるリージョンにあるバケット間で Amazon S3 の大きなオブジェクトをコピーしようとしています。

オブジェクトのコピーは機能しますが、問題は、コピー操作が応答を返すのにかなりの時間がかかる可能性があり、PHP スクリプトの実行がブロックされることです。これは、この特定のケースでは必要ありません。

copyObject()SDK を介して非ブロッキングの方法で呼び出しを行う方法はありますか (おそらく低レベルの Guzzle 設定を使用)? 定期的なヘルスチェックを別のサービス (Amazon SWF) に送信して、スクリプトがまだ実行中であることを知らせる必要があるため、このノンブロッキング動作が必要です。

呼び出しをブロックしない方法で実行できない場合、他に解決策があることは承知していますが、SDK の経験が豊富な人からアイデアをもっと得たいと考えています。

(私が取ることができると思う1つの可能なアプローチはfork()、プロセスとcopyObject()子プロセスで操作を行うことです;また、Guzzleがそれをサポートし、コールバックメソッドが少なくとも1回実行されることを保証する場合、ある種の進行コールバックも機能します分)

0 投票する
2 に答える
3052 参照

php - s3 php sdk で putObject の有効期限を設定する

これは、バケットと putObject を作成するための作業コードです。

この作成したばかりのオブジェクトの有効期限を設定するにはどうすればよいですか? たとえば。アップロードしたファイルが 3 日後に消えるのを確認したい。

0 投票する
1 に答える
1477 参照

php - AWS PHP SDK アップロード ファイルを S3 への紛らわしいエラー

わかりましたので、S3 アカウントにアップロードするファイルを取得する方法をいくつか試しました。最後に、自分がどこかに到達し、ブームになっていることに気付きました-紛らわしいドキュメントと、矛盾しているように見える奇妙なエラーメッセージ。

わかりました、私はcomposerなどを使用していません。私はこれを昔ながらの方法で行っています:

これで正しくロードされるようになりました。Autoload をトリミングして Common クラスと S3 クラスのみを使用するようにしました。すべては必要ありません。

次に、S3 クライアントと資格情報をロードします。

魔法の出来事を開始するコードは次のとおりです。

私が抱えていると思われる問題は、「バケット」自体にあります。

バケットをsub.domain.comとしてフォーマットすると、AWS API から次のメッセージが返されます。

AWS エラー メッセージ: アクセスしようとしているバケットは、指定されたエンドポイントを使用してアドレス指定する必要があります。今後のすべてのリクエストをこのエンドポイント「sub.domain.com.s3.amazonaws.com」に送信してください。

「バケット」を上記のように変更すると、次のようになります:sub.domain.com.s3.amazonaws.com

次のエラー メッセージが表示されます。

AWS エラー メッセージ: 指定されたバケットは存在しません

私は何か間違ったことをしていますか?何か不足していますか?残念ながら、AWS のドキュメントは十分に整っていません。現時点では、API 自体が矛盾しているようです。すべてのキーが正しく、すべての権限が正しいことを知っています。独自のアドバイスから、301 - Redirect to 404 - Not Found になりました。

ヘルプ/アドバイスをいただければ幸いです。ここでちょっとぐるぐるしてる感じ!

0 投票する
1 に答える
68 参照

php - 最初の作成後に新しい ec2 インスタンスを作成できない

次のコードがあります。

これは、初めて実行したときに問題なく機能しました。最初の実行後、EC2 コンソールからインスタンスを終了しました。新しいインスタンスを作成しようとするたびに、次のエラーが発生します。

A resource entered into an invalid state of "terminated" while waiting with the "InstanceRunning" waiter.

ウェイターが古いインスタンス ID を見ている理由がわかりません。これは何とか持続していますか?

他に追加する必要があるものはありますか?

0 投票する
1 に答える
451 参照

php - AWS PHP SDK を使用した S3 へのファイルの安全な転送

AWS PHP SDK を使用して行われた S3 へのファイルの転送は、デフォルトで盗聴攻撃に対して安全ですか? そうでない場合、そうするために何をする必要がありますか?