我有一個 Terraform 設定,可以在存盤桶中創建一個 s3 存盤桶和子目錄。出于某種原因,bucket 是在每個目錄中創建的,其中包含一個空的 /。
s3_bucket:
-/
-folder1:-/
-some file
-folder2:-/
依此類推,對于每個目錄,都有一個空的 /。這會在我接下來的幾個步驟中引起問題,為什么會以這種方式創建?如何創建沒有空 / 的 s3 和檔案夾?
resource "aws_s3_bucket_object" "object" {
bucket = "${aws_s3_bucket.s3_ob.id}"
key = "folder1/"
source = "dummy.txt"
}
resource "aws_s3_bucket_object" "object2" {
bucket = "${aws_s3_bucket.s3_ob.id}"
key = "/folder2/"
source = "dummy.txt"
}
uj5u.com熱心網友回復:
發生這種情況是因為您的密鑰以/. 你的代碼確實是在寫dummy.txt的內容密鑰folder1/和folder2/。S3 是一個鍵值物件存盤,而不是一個檔案系統。目錄的概念只是我們通過用斜杠字符拆分鍵/并將每一步都稱為目錄來邏輯上帶來的東西,所以在這種情況下,是的,已經創建了檔案夾 1 和檔案夾 2 并且由于斜杠后沒有任何內容,檔案名實際上是空的.
我假設您想要做的只是給您的檔案一些傳統檔案系統意義上的名稱,因為不要以/.
resource "aws_s3_bucket_object" "object" {
bucket = "${aws_s3_bucket.s3_ob.id}"
key = "folder1/dummy.txt"
source = "dummy.txt"
}
resource "aws_s3_bucket_object" "object2" {
bucket = "${aws_s3_bucket.s3_ob.id}"
key = "/folder2/dummy.txt"
source = "dummy.txt"
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/380349.html
