
рдмреЛрдЯреЛ 3-рдкреНрд░рдХрд╛рд░-рдПрдиреЛрдЯреЗрд╢рди рдХреА рдЫрд╡рд┐ рд╢рд┐рд╖реНрдЯрд╛рдЪрд╛рд░, рдПрд▓реА рдлрд┐рдЯрд░
рдЕрднреА, рдХреБрдЫ рд▓реЛрдЧ рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рдмрдбрд╝реЗ рдкрд╛рдпрдерди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдпрд╣ рд╕рд░рд▓ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкрдХрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЪрд╛рд▓рд╛рдХреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ boto3 рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ , рдФрд░ mypy рдЙрди рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ рдЬреЛ рдкреНрд░рдХрд╛рд░ рдПрдиреЛрдЯреЗрд╢рди boto3
рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВред
, boto3 botostubs. , mypy
.
boto3-type-annotations, , mypy
.
boto3
, ?
mypy
, boto3 1.11.9
EC2, DynamoDB S3. Python 3.6.9 . , , boto3-stubs 1.11.9.x .
pip install boto3-stubs[s3,ec2,dynamodb]==1.11.9.0
python -m mypy_boto3
тАж ! mypy
, , , boto3
, .
- !
, .
VSCode , . boto3.client
, boto3_session.client
,boto3.resource
, boto3_session.resource
, client.get_waiter
client.get_paginator
.
PyCharm - , 15 , .
import boto3
from mypy_boto3 import dynamodb
client: dynamodb.DynamoDBClient = boto3.client("dynamodb")
client.query("my_table")
import boto3
from mypy_boto3 import s3
client: s3.S3Client = boto3.client("s3")
client.create_bucket(Bucket="bucket")
client.get_object(Bucket="bucket")
client.get_object(Bucket="bucket", Key=None)
resource: s3.S3ServiceResource = boto3.Session(region_name="us-west-1").resource("s3")
bucket = resource.Bucket("bucket")
bucket.upload_file(Filename="my.txt", key="my-txt")
waiter: s3.BucketExistsWaiter = client.get_waiter("bucket_exists")
paginator: s3.ListMultipartUploadsPaginator = client.get_paginator(
"list_multipart_uploads"
)
mypy-boto3-builder - boto3
. boto3
, .
json
- botocore , boto3
.
, , .
post-install , whl-. ?
рдЪреВрдБрдХрд┐ boto3
рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд╕рдорд╛рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рд╕реНрд╡рдпрдВ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрд╛рдпрдерди 3.6.5 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИрдВ?
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдпрджрд┐ рд╕рдмрдХреБрдЫ C # рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реИ, рддреЛ рдЖрдк рдкрд╛рдпрдерди рд▓реИрдВрдЧреНрд╡реЗрдЬ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдУрд╡рд░рд▓реЛрдб рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╢рд╛рдмреНрджрд┐рдХ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕рдм рдХреБрдЫ VSCode рдореЗрдВ рднреА рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░реЗред рдореИрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ рдФрд░ рд╣рд╛рд░ рдорд╛рди рд▓реАред
рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!