通过Python的SDK连接aws

参考:

https://aws.amazon.com/cn/developers/getting-started/python/

aws上生成访问密钥 ID 和私有访问密钥

1.Windows连接方式:

1 . 通过Windows连接到 aws服务器时,需要通过“访问密钥(访问密钥 ID 和私有访问密钥)”

2 . 需要在C:\Users\admin\.aws中创建credentials文件(.aws目录不存在需要手动创建admin为你当前系统用户家目录)

  1. cat /c/Users/admin/.aws/credentials
  2. [default]
  3. aws_access_key_id = xxxxxxxxxxxxxxxxxxxxxxx
  4. aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxx

3 . 安装boto3模块

  1. pip install boto3

4 . 列出已经存在的s3存储桶

  1. import boto3
  2. s3client = boto3.client("s3")
  3. for bucket in s3client.list_buckets()["Buckets"]:
  4. print(bucket)

输出:

  1. {'Name': 'xxxxxxs3', 'CreationDate': datetime.datetime(2017, 8, 2, 4, 16, 31, tzinfo=tzutc())}
  2. {'Name': 'testxxxxxs3', 'CreationDate': datetime.datetime(2017, 8, 2, 6, 57, 29, tzinfo=tzutc())}

2.Linux连接方式:

1 . 安装boto3模块

  1. pip install boto3

2 . 创建.aws目录

  1. [ec2-user@LiBaolin-Singapore#>> ~]$mkdir .aws

3 . 创建credentials文件

  1. [ec2-user@LiBaolin-Singapore#>> ~/.aws]$cat credentials
  2. [default]
  3. aws_access_key_id = xxxxxxxxxxxxxxxxxxxxxxx
  4. aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxx

4 . clone一个测试实例

  1. [ec2-user@LiBaolin-Singapore#>> ~]$git clone https://github.com/awslabs/aws-python-sample.git

5 . 运行测试实例(会创建一个存储桶,并创建一个文件,最后删除该存储桶)

  1. [ec2-user@LiBaolin-Singapore#>> ~/aws-python-sample]$python s3_sample.py

6 . s3_sample.py代码如下:

  1. import boto3
  2. import uuid
  3. s3client = boto3.client('s3')
  4. bucket_name = 'python-sdk-sample-{}'.format(uuid.uuid4())
  5. print('Creating new bucket with name: {}'.format(bucket_name))
  6. s3client.create_bucket(Bucket=bucket_name)
  7. list_buckets_resp = s3client.list_buckets()
  8. for bucket in list_buckets_resp['Buckets']:
  9. if bucket['Name'] == bucket_name:
  10. print('(Just created) --> {} - there since {}'.format(
  11. bucket['Name'], bucket['CreationDate']))
  12. object_key = 'python_sample_key.txt'
  13. print('Uploading some data to {} with key: {}'.format(
  14. bucket_name, object_key))
  15. s3client.put_object(Bucket=bucket_name, Key=object_key, Body=b'Hello World!')
  16. url = s3client.generate_presigned_url(
  17. 'get_object', {'Bucket': bucket_name, 'Key': object_key})
  18. print('\nTry this URL in your browser to download the object:')
  19. print(url)
  20. input("\nPress enter to continue...")
  21. print('\nNow using Resource API')
  22. s3resource = boto3.resource('s3')
  23. bucket = s3resource.Bucket(bucket_name)
  24. obj = bucket.Object(object_key)
  25. print('Bucket name: {}'.format(bucket.name))
  26. print('Object key: {}'.format(obj.key))
  27. print('Object content length: {}'.format(obj.content_length))
  28. print('Object body: {}'.format(obj.get()['Body'].read()))
  29. print('Object last modified: {}'.format(obj.last_modified))
  30. print('\nDeleting all objects in bucket {}.'.format(bucket_name))
  31. ## 以下部分为 删除刚才创建的存储桶,为了看到效果可以先注释,而后在手动删除
  32. delete_responses = bucket.objects.delete()
  33. for delete_response in delete_responses:
  34. for deleted in delete_response['Deleted']:
  35. print('\t Deleted: {}'.format(deleted['Key']))
  36. print('\nDeleting the bucket.')
  37. bucket.delete()

boto3--通过Python的SDK连接aws的更多相关文章

  1. 【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例

    问题描述 在微软云环境中,使用python SDK连接存储账号(Storage Account)需要计算Blob大小?虽然Azure提供了一个专用工具Azure Storage Explorer可以统 ...

  2. Java通过aws java sdk在AWS S3上进行操作客户端

    有两种方式可以安装aws java sdk:方式一:可以在这个网站上下载适用于 Java 的 AWS 开发工具包https://aws.amazon.com/cn/sdk-for-java/点击网页右 ...

  3. MinIO Python Client SDK 快速入门指南

    官方文档地址:http://docs.minio.org.cn/docs/master/python-client-quickstart-guide MinIO Python Client SDK提供 ...

  4. python 使用pymssql连接sql server数据库

    python 使用pymssql连接sql server数据库   #coding=utf-8 #!/usr/bin/env python#------------------------------ ...

  5. Python中HTTPS连接

    permike 原文 Python中HTTPS连接 今天写代码时碰到一个问题,花了几个小时的时间google, 首先需要安装openssl,更新到最新版本后,在浏览器里看是否可访问,如果是可以的,所以 ...

  6. Ubuntu 14.04 配置vsftpd实现FTP服务器 - 通过FTP连接AWS

    测试主机:亚马逊AWS EC2 系统:Ubuntu 14.04 想用AWS来做服务器玩,结果发现其不能像简单使用阿里云服务器那样用ftp连接,反正也不熟悉ftp服务器搭建,那就乘这个机会学习一下如何利 ...

  7. 亚马逊的PuTTY连接AWS出现network error connection refused,终极解决方案。

    使用PuTTY连接AWS的时候,一直出现network error connection refused.百度了这个问题,大家都说是SSH要设置成22.但是我已经设置过了,为什么还是遇到这个问题呢? ...

  8. python 支付宝SDK

    python 支付宝SDK代码如下 from datetime import datetime from Crypto.PublicKey import RSA from Crypto.Signatu ...

  9. python使用stomp连接activemq

    一.安装ActiveMQ服务 1. 当使用windows时,安装参考:https://blog.csdn.net/WuLex/article/details/78323811 启动:运行activem ...

随机推荐

  1. JS 将字符串数组用 | 或其他符号分割

    var arr = ["吕超","赵云","典韦","关羽","马超","张飞" ...

  2. Hbase记录-Hbase调优参数

  3. MySQL 获得当前日期时间 函数【转】

    获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now() | +---------- ...

  4. HDU - 4370 0 or 1

    0 or 1 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  5. 机器学习课程-第7周-支持向量机(Support Vector Machines)

    1. 优化目标 在监督学习中,许多学习算法的性能都非常类似,因此,重要的不是你该选择使用学习算法A还是学习算法B,而更重要的是,应用这些算法时,所创建的大量数据在应用这些算法时,表现情况通常依赖于你的 ...

  6. Mybatis 学习总结

    1 Mybatis入门 1.1 单独使用jdbc编程问题总结 1.1.1 jdbc程序 public static void main(String[] args) { Connection conn ...

  7. linux 命令收集 阿里云nginx升级等 查看磁盘空间 版本等

    —————————————————— 查磁盘 df -h此命令直观的呈现出磁盘大小有多少Gdf -hl文件系统 容量 已用 可用 已用% 挂载点/dev/hdb2 75G 75G 0 100% /就是 ...

  8. MySQL指令

    在mysql里:文件夹就是数据库      文件就是表 创建用户: 格式:create user '用户名'@'IP地址' identified by '密码'; 说明:IP地址是用来限制用户只能在哪 ...

  9. sonar扫描java、js、jsp技术

    最近在弄sonar扫描的事情,之前一直只能扫描java代码,这样统计出来的数据上报领导很多开发人员不服(说我不用写jsp了不用写js了?), 那么好,于是乎继续整sonar,在官网中看到sonar其实 ...

  10. [C++]数组与指针(纯代码-复习用)

    #include<iostream> #include<cmath> //C++ //#include<math.h> //C #include<ctime& ...