將物件上傳至目錄儲存貯體 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將物件上傳至目錄儲存貯體

建立 Amazon S3 目錄儲存貯體之後,您可以將物件上傳到該儲存貯體。下列範例顯示如何使用 S3 主控台和 AWS SDK 將物件上傳至目錄儲存貯體。如需使用 S3 Express 單一區域進行大量物件上傳作業的相關資訊,請參閱物件管理

  1. 登入 AWS Management Console 並開啟 Amazon S3 主控台,網址為 https://console.aws.amazon.com/s3/

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. 選擇目錄儲存貯體索引標籤。

  4. 選擇您要上傳資料夾或檔案的儲存貯體名稱。

  5. 在「件」清單中,選擇「上載」。

  6. 在「上載」頁面上,執行下列任一項作業:

    • 將檔案和資料夾拖放至虛線上傳區域。

    • 選擇 [新增檔案] 或 [新增資料夾],選擇要上傳的檔案或資料夾,然後選擇 [開啟] 或 [上傳]。

  7. 在 [總和檢查碼] 底下,選擇您要使用的 [總和檢查碼] 功能

    (選擇性) 如果您要上傳大小小於 16 MB 的單一物件,您也可以指定預先計算的總和檢查碼值。當您提供預先計算的值時,Amazon S3 會將其與使用選取的總和檢查碼函數所計算的值進行比較。如果這些值不相符,就不會開始上傳。

  8. [權限] 和 [屬性] 區段中的選項會自動設定為預設設定,且無法修改。區塊公用存取會自動啟用,且無法為目錄儲存貯體啟用 S3 版本控制和 S3 物件鎖定。

    (選擇性) 如果您要將索引鍵值配對中的中繼資料新增至物件,請展開「屬性」區段,然後在「中繼資料」區段中選擇「新增中繼資料」。

  9. 若要上傳列出的檔案和資料夾,請選擇 [上傳]。

    Amazon S3 會上傳您的物件和資料夾。上傳完成後,您可以在上傳:狀態頁面上看到成功訊息。

SDK for Java 2.x
public static void putObject(S3Client s3Client, String bucketName, String objectKey, Path filePath) { //Using File Path to avoid loading the whole file into memory try { PutObjectRequest putObj = PutObjectRequest.builder() .bucket(bucketName) .key(objectKey) //.metadata(metadata) .build(); s3Client.putObject(putObj, filePath); System.out.println("Successfully placed " + objectKey +" into bucket "+bucketName); } catch (S3Exception e) { System.err.println(e.getMessage()); System.exit(1); } }
SDK for Python
import boto3 import botocore from botocore.exceptions import ClientError def put_object(s3_client, bucket_name, key_name, object_bytes): """ Upload data to a directory bucket. :param s3_client: The boto3 S3 client :param bucket_name: The bucket that will contain the object :param key_name: The key of the object to be uploaded :param object_bytes: The data to upload """ try: response = s3_client.put_object(Bucket=bucket_name, Key=key_name, Body=object_bytes) print(f"Upload object '{key_name}' to bucket '{bucket_name}'.") return response except ClientError: print(f"Couldn't upload object '{key_name}' to bucket '{bucket_name}'.") raise def main(): # Share the client session with functions and objects to benefit from S3 Express One Zone auth key s3_client = boto3.client('s3') # Directory bucket name must end with --azid--x-s3 resp = put_object(s3_client, 'doc-bucket-example--use1-az5--x-s3', 'sample.txt', b'Hello, World!') print(resp) if __name__ == "__main__": main()

下列put-object範例命令顯示如 AWS CLI 何使用從 Amazon S3 上傳物件。若要執行此命令,請以您自己的資訊取代 user input placeholders

aws s3api put-object --bucket bucket-base-name--azid--x-s3 --key sampleinut/file001.bin --body bucket-seed/file001.bin

如需詳細資訊,請參閱 AWS CLI 命令參考中的 put-object