ラムダストレージ機能のチュートリアル

S3ゲートウェイ

S3ゲートウェイ(ゲートウェイ)はS3互換性を提供APIを  ストレージ管理ために、開発者はs3api用のアプリケーションを開発することができます。これは、標準のS3 SDKまたはツールを使用して、ある、またはゲートウェイと対話することができ、独自の標準建設S3 S3を要求します。

制限事項

S3 APIゲートウェイの使用は、APIの数をサポートしていない、提供、詳細ができminio を指します現段階で大部分は現在サポートされていないAPIのAPI外、ラムダS3ゲートウェイサポート機能、インターフェースおよび限定されるものではなく、基本的なファイル操作、使用を避けて下さい。

S3ゲートウェイたとえば、64Mに次の例を使用しないように設定するためのツールやSDKの必要性を使用するようにする場合、現在、マルチパートのAPIをサポートしていません。

設定と操作

デフォルトゲートウェイの構成S3   次のように部分が、説明されます。~/.lambda_storagecli/config/user.toml[gateway]

[gateway]
# 服务监听的地址
address = "127.0.0.1:9002"
# 用于访问服务的key
access_key = "accesskey"
secret_key = "secretkey"

ときにuser.toml適切に構成され、コマンドラインから起動することができます  ./storagecli gateway run --account env --broker.extra_order_id XXX --debug 注文のS3ゲートウェイサービスを開始し、開始するには

複数のパラメータがすることから始めることができ./storagecli gateway run -h鑑賞

CLIの例AWS

まず、インストールawscli

その後、鍵は、ゲートウェイS3にアクセスするように構成されています。

$ aws configure
AWS Access Key ID [None]: accesskey
AWS Secret Access Key [None]: secretkey
Default region name [None]:
Default output format [None]:

次に、マルチしきい値の設定、aws configure set default.s3.multipart_threshold 64MB使用前にマルチ64Mよりも大きいことを示します

次に、基本的なファイル操作を行うことができます。

バケットを作成します。

aws s3 --endpoint=http://localhost:9002/ mb s3://awstest

ファイルのアップロード

aws s3 --endpoint=http://localhost:9002/ cp /path/to/your/file s3://awstest

コンテンツバケットリスト

aws s3 --endpoint=http://localhost:9002/ ls s3://awstest

ファイルのダウンロード

aws s3 --endpoint=http://localhost:9002/ cp s3://awstest/your-file /tmp/new-file

ファイルの削除

AWS PythonのSDKの例

まず、boto3をインストール pip install boto3

次に、閾値の調整マルチパート

#!/usr/bin/env python
# coding: utf-8

"""
refer https://docs.min.io/docs/how-to-use-aws-sdk-for-python-with-minio-server.html
"""

import boto3
from botocore.client import Config
from boto3.s3.transfer import TransferConfig

s3 = boto3.resource('s3',
                    endpoint_url='http://localhost:9002',
                    aws_access_key_id='accesskey',
                    aws_secret_access_key='secretkey',
                    config=Config(signature_version='s3v4'),
                    region_name='')


# create bucket
s3.Bucket('awstest').create()

# list bucket
print("buckets:", [bucket.name for bucket in s3.buckets.all()])

# upload file
# https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3.html#multipart-transfers
MB = 2 ** 20
cfg = TransferConfig(multipart_threshold=64*MB)
s3.Bucket('awstest').upload_file('/path/to/your/file','images/your-file', Config=cfg)

# list file
print("objects in bucket: awstest", [obj.key for obj in s3.Bucket('awstest2').objects.filter(Prefix='images/')])

# download file
s3.Bucket('awstest').download_file('images/your-file', '/tmp/newfile')

また、提供するSDK minioを使用することができますMinio文書は例を詳細に説明している、ここではそれらを繰り返しません

公開された29元の記事 ウォンの賞賛0 ビュー406

おすすめ

転載: blog.csdn.net/LambdaHe/article/details/104842490