• AWS Python SDK boto3中的基本概念与使用方法


    最近在用boto3编写AWS的lamda函数,学习到了boto3中的一些基本概念与使用方法。在此进行总结。

    1. boto3提供了两个级别的接口来访问AWS服务:High Level的Resource级别的接口,Low Level的Client接口。

      Client级别的接口则是返回Dictionary来表示查询到的资源信息。而Resource级别的接口是对Client级别的接口进行了面向对象的封装,接口的返回值大部分都是Resource对象(如果返回值是某个Resource的信息的话),我们可以对返回的对象再进行操作(比如删除,修改等)。

    2. session

      session是对一组configuration的抽象表达,通过同一session调用的所有api共享一组configuration. session也是访问所有API的入口。默认的session是boto3.
          所以一般通过如下代码来得到Resource级别的API对象和Client级别的API对象:

          res = boto3.resource('service name')

          client = boto3.client('service name')

    3. resource

        这是Resource级别接口里面的概念,Resource分为Service Resource和Individual Resource. Service Resource表示某个服务,而Individual Resource表示某个服务里面的资源

    3.1 resource identifier

          Resource的唯一标示符,一般就是id或是url。很明显Service Resource不需要identifier,因为它是通过名字标识(例如:'ec2')

    3.2 attribute

          其实就是Resource的属性

    3.3 action

          就是Resource支持的操作

    3.4 subResource

          Resource的子级Resource,可以通过identifier来获取Resource对象

    3.5 collection

          Resource的子级Resource的集合,可以对collection进行查询,筛选等(对AWS的网络请求只有在collection执行操作(遍历,转换为list, 批量处理)的时候才会产生并发出)

    4. 一般使用方式

    4.1 Resource级别

    var serviceRes = boto3.resource('ec2') //得到Service Resource

    var instance = serviceRes.create_instances(**kwargs) //执行Service Resource级别的操作

    var instance = serviceRes.Instance(id) // 通过identifier得到Sub Resource(Individual Resource)

    var instances = serviceRes.instances.filter(filter) // 通过filter得到一个Sub Resource的collection

    instance.start() //执行Sub Resource上的操作

    4.2 Client级别

    var ec2Client = boto3.client('ec2') //得到对应服务的client

    ec2Client.run_instances(**kwargs) //执行操作

  • 相关阅读:
    气象数据之风向数据json格式解析
    气象数据之风向数据展示原理
    js之生成json文件
    气象数据之grib2转json
    气象数据之全球方向数据(grib2)下载
    气象数据之数据查看(panoply)
    arcgis js 3.x 之弹框拖动后添加引导线
    arcmap加载netcdf(.nc)数据
    ol3之测试项目
    ol3之加载arcgis wms图层
  • 原文地址:https://www.cnblogs.com/Code-life/p/6242994.html
Copyright © 2020-2023  润新知