Невозможно распечатать идентификатор тома, пока я использую его, чтобы получить идентификатор тома из функции лямбда-кросс-аккаунта - PullRequest
0 голосов
/ 24 мая 2019

Я написал лямбда-функцию, которая используется для получения volume_id экземпляра, в то время как я использую ту же функцию, используя cross_account lambda, чтобы получить идентификатор тома, который не принимает

Скажем, например, для учетной записи A, где я запускаюфункция может получить идентификатор тома, когда я пытался получить из учетной записи B идентификатор тома учетной записи A. Не могу.

Я использую шину событий Cloudwatch, поэтому при загрузке экземпляра в учетной записи A эта функцияполучит триггер с использованием роли Cloudwatch.

import boto3
import json
import datetime
ststoken = boto3.client('sts')

def lambda_handler(event, context):
    awsaccount = ststoken.assume_role(
        RoleArn='**************************************************************',
        RoleSessionName='awsaccount_session'
    )
    client = boto3.client('lambda',
    aws_access_key_id=awsaccount['Credentials']['AccessKeyId'],
    aws_secret_access_key=awsaccount['Credentials']['SecretAccessKey'], 
    aws_session_token=awsaccount['Credentials']['SessionToken'] 
    )




def findVolumes(instaceId, region):
    print "Insatnce-id=" + instaceId
    ec2 = boto3.client('ec2')
    #instance = ec2.Instance(instaceId)
    volumes = ec2.describe_volumes(
        Filters=[
            {       
                'Name' : 'attachment.instance-id',
                'Values': [instaceId]
            }
        ]
    )
    for v in volumes['Volumes']:
        print v['VolumeId']
        print(v['VolumeId'],instanceId)
...