この記事では、Laravel での AWS S3 の使用に関する関連知識を提供します。AWS S3 は、サーバー ファイルを保存する場所を提供します。クラウドにファイルを保存すると、多くのスペースを消費しません。ディスク スペース、Iそれがみんなに役立つことを願っています。
#AWS S3 は、サーバー ファイルを保存する場所を提供します。これを行う利点は次のとおりです。
バックアップ/冗長性 - S3 および類似の製品にはバックアップと冗長性が組み込まれています
拡張機能- 最新のサーバー(サーバーレスまたはコンテナ化された環境、従来の負荷分散環境など)では、ファイルをサーバーの外に保存することが必要になります
ディスク使用量 - クラウドにファイルを保存するときに多くのディスク容量を必要としません
機能- S3 (および他のクラウド) にはいくつかの優れた機能がありますファイルのバージョン管理、古いファイルを削除する (または安価に保存する) ためのライフサイクル ルール、削除保護などの機能
S3 を使用すると (単一サーバー設定でも) 頭痛の種を軽減できます。長い目で見れば。知っておくべきことは次のとおりです。
Configuration
S3 の設定には次のものが必要です:
Laravel の場合 - 通常は .env 経由ですが、場合によっては config/filesystem.php でも使用できます。
- ##あなたの AWS アカウント
Laravel Config
config/ filesystem.php ファイルを確認する場合、すでに S3 オプションがあることがわかります。これは、.env ファイル内で環境変数としてすでに設定されています。 これをカスタマイズする必要がない限り、そのままにして .env ファイルに設定するだけでかまいません:#(可选)将默认文件系统驱动设置为 S3 FILESYSTEM_DRIVER=sqs # 添加基于 S3 的文件驱动所需的参数 AWS_ACCESS_KEY_ID=xxxzzz AWS_SECRET_ACCESS_KEY=xxxyyy AWS_DEFAULT_REGION=us-east-2 AWS_BUCKET=my-awesome-bucket AWS_USE_PATH_STYLE_ENDPOINT=falseconfig/filesystem.php ファイルには次のオプションが含まれています:
return [ 'disks' => [ // 'local' 和 'public' 省略... 's3' => [ 'driver' => 's3', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION'), 'bucket' => env('AWS_BUCKET'), 'url' => env('AWS_URL'), 'endpoint' => env('AWS_ENDPOINT'), 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), ], ], ];.env ファイルでは使用しないオプションもあります。たとえば、AWS_URL を設定できます。これは、CloudFlare の R2 や Digital Ocean の Spaces など、S3 互換 API を備えた他のファイル ストレージ クラウドを使用する場合に便利です。 AWS 構成AWS では、次の 2 つのことを行う必要があります:
- S3 サービスにバケットを作成する
- IAM ユーザーを作成してキーと秘密キーを取得し、S3 API へのアクセスを許可するポリシーをユーザーにアタッチします。
と Secret Access Key
は、 .env
ファイルに配置する必要があります。 次に、[IAM ユーザー] をクリックしてインライン ポリシーを追加します。 JSON エディターを使用して編集し、次の行を追加します (Flysystem ドキュメントから):
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1420044805001", "Effect": "Allow", "Action": [ "s3:ListBuckets", "s3:GetObject", "s3:GetObjectAcl", "s3:PutObject", "s3:PutObjectAcl", "s3:ReplicateObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::my-awesome-bucket", "arn:aws:s3:::my-awesome-bucket/*" ] } ] }
これにより、新しいバケットで必要な S3 API 操作を実行できるようになります。
Laravel の使用法
Laravel では、次のようにファイル ストレージを使用できます:
# 如果您将 S3 设置为默认值: $contents = Storage::get('path/to/file.ext'); Storage::put('path/to/file.ext', 'some-content'); # 如果您没有将 S3 作为默认设置: $contents = Storage::disk('s3')->get('path/to/file.ext'); Storage::disk('s3')->put('path/to/file.ext', 'some-content');
(S3 内の) ファイルへのパスがバケット名に追加されるため、A path/to/file.ext という名前のファイルは s3://my-awesome-bucket/path/to/file.ext` に存在します。
技術的には、S3 にはディレクトリは存在しません。 S3 では、ファイルは「オブジェクト」と呼ばれ、ファイルのパス名は「オブジェクトキー」と呼ばれます。したがって、バケット my-awesome-bucket に、キー path/to/file.ext を持つオブジェクトを作成しました。
Storage の Laravel ドキュメントを必ずチェックして、ファイル ストリームや一時 URL など、Storage をさらに便利に使用する方法を見つけてください。
価格
S3 はかなり安いです。ほとんどの人は月に数セントから数ドルを費やします。これは、ファイルを使い終わったときに S3 からファイルを削除する場合、または一定期間後にファイルを削除するようにライフサイクル ルールを設定する場合に特に当てはまります。
価格は (主に) 3 つの要素によって決まります。価格は地域や用途によって異なります。これは、S3 に大量のデータを保存する Chipper CI (私の Laravel アプリケーションの CI) の特定の月に基づく実際のアプリケーションの使用例です:
- #Storage
- : 1 GB あたり $0.023、~992GB ~= $22.82
API 呼び出し数 : ~700 万リクエスト ~ = 12 ドル
帯域幅使用量: これは非常に不正確です。データ転送には約 23 ドルの費用がかかりますが、これには EC2 ベースの帯域幅料金は含まれません。
S3 に関する役立つ情報
AWS セットアップでプライベート ネットワーク内にサーバーがあり、NAT ゲートウェイを使用している場合は、必ず S3 エンドポイント (ゲートウェイ タイプ) を作成してください。これは、VPC サービスのエンドポイント セクションで行われます。これにより、S3 との間の通話が NAT ゲートウェイをバイパスできるようになり、追加の帯域幅料金が回避されます。使用するのに追加料金はかかりません。
ファイルの上書きまたは削除が心配な場合は、S3 バケットでバージョニングを有効にすることを検討してください。
S3 バケットでインテリジェント階層化を有効にして、ファイルの保存コストを節約することを検討してください。古いものになると再び操作されなくなります。
大きなバケット (大量のファイル) を削除すると、費用がかかる可能性があることに注意してください。これは、ファイルを削除するために多数の API 呼び出しを行う必要があるためです。
関連する推奨事項: Laravel ビデオ チュートリアル
以上がLaravel で AWS S3 の使い方を完全にマスターするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

反応、vue、andangularcanbe veintedated withlaravelbyfollowingspecificsetupSteps.1)forReact:instruectusinglaravelui、setUpComponentsInapp.js.2)forvue:uselaravel'sbuilt-invuesuptort、futureinapp.3)

Taskmanagementtoolsareessentialforeffectiveremoteprojectmanagementbyprioritizingtasksandtrackingprogress.1)UsetoolslikeTrelloandAsanatosetprioritieswithlabelsortags.2)EmploytoolslikeJiraandMonday.comforvisualtrackingwithGanttchartsandprogressbars.3)K

laravel10EnhancesperformAnceTheveralkeyfeatures.1)ItintroduceSquerybuilderCachinucedatedatabaseload.2)itoptimizeseLoquentModelloadingwithlazingproxies.3)itimprovesRoutingWithineSystem.4)itemproveStingwithingingSystem.4)

最高のフルスタックのLaravelアプリケーション展開戦略には、1。Zeroダウンタイム展開、2。ブルーグリーン展開、3。連続展開、4。Canaryリリースが含まれます。 1.ゼロダウンタイムデプロイメントは、EnvoyまたはDeployerを使用して展開プロセスを自動化して、更新時にアプリケーションを利用できるようにします。 2。ブルーとグリーンの展開により、2つの環境を維持し、迅速なロールバックを可能にすることにより、ダウンタイムの展開が可能になります。 3.継続的な展開GithubactionsまたはGitlabci/CDを使用して、展開プロセス全体を自動化します。 4。nginx構成を通じてカナリーがリリースされ、パフォーマンスの最適化と迅速なロールバックを確保するために、新しいバージョンをユーザーに徐々に宣伝します。

ToscalealAravelApplicationively、Focusondatabasesharding、Caching、Loadbalancing、andMicroservices.1)databaseShardingTodistributedataacrossMultipledatabase.2)uselaraval'scachingsmultedistestemedisemememememememedtededatedatab

ToovercomcomcommunicationbarriersindistributedTeams、使用:1)VideoCallsForface-to-faceInteraction、2)setClearResponsetimeExpectations、3)ChooseaprateCommunicationSoools、4)CreateAmCommunicationGuide、and5)

laravelbladeEnhancesFrontendTemplatinginfull stackprojectsbyofferingcleansyntaxandpowerfulfeatures.1)itallows foreasyvariabledisplayandcontrolstructures.2)bladeSupportscreating andReusing components、

laravelisidealforfull-stackapplicationsduetoitseLegantyntax、包括的なセコスシステム、およびパワーフルフィーチュア


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
