标签: aws-sdk

boto3等效于收集所有AWS安全组

使用旧版本的boto,您可以使用以下命令将所有安全组拉到aws帐户中:

import boto.ec2
conn = boto3.connect_to_region("us-east-1")
groups = conn.get_all_security_groups()
Run Code Online (Sandbox Code Playgroud)

但是,对于boto3,文档尚不清楚如何执行相同的操作。这里有许多参考资料涉及使用新的boto3软件包更改策略的内容,但没有列出所有安全组和策略的机制。

此操作是否有新方法?

amazon-web-services aws-sdk boto3

0
推荐指数
1
解决办法
4216
查看次数

AWS javascript API示例,列出与帐户关联的所有用户池

嗨,我需要AWS cognito javascript API示例,它将返回与帐户关联的用户池列表.2.创建一个新的用户池.我搜索了大部分文档,但无法找到任何相关答案.任何人都可以请指向我链接/文章或帮助我在这里提供示例代码.

javascript amazon-web-services node.js amazon-cognito aws-sdk

0
推荐指数
1
解决办法
2311
查看次数

AWS-CLI EC2描述实例

我正在研究aws cli,从过去的5个小时开始,我一直在努力应对2个cli命令

  1. 我应该通过提供其键来获取InstanceId,Name(这是一个标记值)和特定的标记值(不包括给定的标记,即NULL)

  2. 我应该通过提供其键(不包括NULL标记)来获取InstanceId,Name和特定标记值

我对1个问题和2个问题的回答是50%

我的cli命令:

AWS EC2 describe-instances --query'jsondata [] .Instances []。[InstanceId,[Tags [?keys ='Name']。Value] [0] [0]'-输出表`

           Ex: {

  "Jsondata" : [
                 { "Instances" : "i-xxxxxx",

                   "Tags":[

                  { "valve":" testserver",
                      "key": "server"
                   },
                 { "valve":" elb",
                    "key": "Name"
                  }
                ]
                },
             { "Instances" : "i-yyyyyy",

              "Tags":[

                    { "valve": " ",
                       "key": " "
                     },
                 { "valve":" elb2",
                      "key": "Name"
                    }
                      ]
                   }
                ]`
Run Code Online (Sandbox Code Playgroud)

提前致谢。请帮助我,我需要睡觉

amazon-web-services aws-cli aws-sdk

0
推荐指数
1
解决办法
2916
查看次数

DynamoDB-为什么不能在关键条件表达式中使用“ _”作为前缀?

我正在使用AWS DynamoDB DocumentClient查询我的DynamoDB表。在我的表中,我有一个名为“ _id”的属性,该属性为每个条目保留唯一的ID。当我尝试基于此ID查询记录时,最终收到一条错误消息:“无效的KeyConditionExpression:语法错误;令牌:\“ _ \”,附近:\“ _ id \”“。进行此查询的代码如下。

    function findById(id) {

     //Build query
    var params = {};
    params.TableName = "recordDev";
    params.IndexName = "_id";
    params.KeyConditionExpression = '_id = :id';
    params.ExpressionAttributeValues = {
      ':id': id
    };

    return DynamoDB
        .query(params).promise()
        .then(function(records) {
          return records.Items[0];
        })
        .catch(function(error) {
          return Promise.reject(error);
        });
   };
Run Code Online (Sandbox Code Playgroud)

在为DynamoDB构建查询参数时,是否缺少有关使用“ _”的内容?我曾尝试查找类似的错误,但是无法找到与我的情况类似的任何错误。

amazon-dynamodb aws-sdk

0
推荐指数
2
解决办法
3375
查看次数

是不推荐使用dynamoDB(Javascript sdk)的batchWriteItem吗?

我试图在dynamoDB中使用batchWriteItem来执行多个put请求.我使用v2.6.8AWS-SDK lambda函数内.它给了我一个奇怪的错误:batchWriteItem不是一个函数.说完了,把它搞定了!知道我错过了什么吗?

amazon-web-services aws-sdk aws-lambda

0
推荐指数
1
解决办法
932
查看次数

将S3 URI解析为存储桶并键入Go

正式的AWS Go SDK中似乎没有一个函数可以解析s3://样式类似URI的字符串(即s3://mybucket/some/place/on/there.gz),并提供诸如bucket和key之类的东西。Java SDK 具有这样的功能。我是否缺少Go SDK不能提供的明显原因?

这个问题是关于保持兼容性的。SDK函数为如何正确解析S3地址提供了明确的权限,并避免了url.Parse()可能遗漏的细微情况。

amazon-s3 go aws-sdk

0
推荐指数
1
解决办法
2362
查看次数

在尝试访问字典中的键时始终获取KeyError

我正在使用AWS的Boto3编写一个Python脚本来管理安全组.我创建了一个字典来获取组ID及其属性.我可以访问属性,sg-aaaaaaaa但当我试图访问时sg-bbbbbbbb,它总是抛出一个KeyError.

我是如何创建字典的

def get_rules(sg_ids, region):
    sg_rules = {}
    sg_rules['SecurityGroups'] = []
    ec2 = boto3.client('ec2', region_name=region)

    for sg_id in sg_ids:
        response = ec2.describe_security_groups(
            Filters=[
                {
                    'Name': 'group-id',
                    'Values': [
                        sg_id
                    ]
                }
            ]
        )
        data = response['SecurityGroups'][0]['IpPermissions']

        sg_rules['SecurityGroups'].append({sg_id: data})

    return sg_rules
Run Code Online (Sandbox Code Playgroud)

字典

{'SecurityGroups': [{'sg-aaaaaaaa': [{'FromPort': 22, 'IpProtocol': 'tcp', 'IpRanges': [{'CidrIp': 'XX.XX.XX.XX/32'}], 'Ipv6Ranges': [], 'PrefixListIds': [], 'ToPort': 22, 'U
serIdGroupPairs': []}, {'FromPort': 6556, 'IpProtocol': 'tcp', 'IpRanges': [{'CidrIp': 'XX.XX.XX.XX/32'}], 'Ipv6Ranges': [], 'PrefixListIds': [], 'ToPort': 6556, 'UserIdGroup
Pairs': …
Run Code Online (Sandbox Code Playgroud)

python dictionary aws-sdk boto3

0
推荐指数
1
解决办法
1315
查看次数

在AWS Lambda中使用托管在两个不同区域的两个不同的AWS资源?

我想在一个lambda函数中使用托管在'us-west-2'区域中的"Dynamodb DocumentClient"和托管在'us-west-1'区域中的SES.我该怎么做?

amazon-web-services node.js amazon-dynamodb aws-sdk aws-lambda

0
推荐指数
1
解决办法
316
查看次数

我可以像停止并启动按需ec2实例一样在AWS中停止竞价型实例吗

我有一个用例,其中我切换到对应用程序使用竞价型实例,而不是按需实例。根据我的要求,我应该能够停止该实例并重新启动它,就像我们针对按需ec2实例所做的那样。在aws控制台中,我仅找到重新启动或终止实例的选项,并将鼠标悬停在停止选项上时说“无法停止现货实例”。是否有一种允许停止实例的解决方法,或者到目前为止是不可能的?

amazon-ec2 amazon-web-services aws-sdk

0
推荐指数
2
解决办法
1765
查看次数

dynamodb获取项目打字稿地狱

任何人都可以解释在调用DocumentClient.get时如何使用GetItemInput类型,如果我传入任何类型的对象都可以工作,但是如果我尝试强烈键入params对象,则会收到错误消息

ValidationException:提供的键元素与架构不匹配

这是我的lambda函数代码,我在其中传递参数作为任何类型...

export const get: Handler = async (event: APIGatewayProxyEvent): Promise<APIGatewayProxyResult> => {

  console.log(event.pathParameters)
  if (!event.pathParameters) {
    throw Error("no path params")
  }

  const params: any = {
    Key: {
      id: event.pathParameters.id
    },
    TableName: table
  }

  console.log(params)
  try {
    const result: any = await dynamoDb.get(params).promise()
    return {
      body: JSON.stringify(result.Item),
      statusCode: result.$response.httpResponse.statusCode
    }

  } catch (error) {
    console.log(error)
    return {
      body: JSON.stringify({
        message: `Failed to get project with id: ${event.pathParameters!.id}`
      }),
      statusCode: 500
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我尝试使其与GetItemInput类型一起使用 …

amazon-web-services amazon-dynamodb aws-sdk aws-lambda aws-sdk-js

0
推荐指数
2
解决办法
1212
查看次数