amazon-web-services - 使用 lambda 函数删除关联的 cloudformation 堆栈时,EMR 集群不会终止

标签 amazon-web-services aws-cloudformation amazon-emr

Resources:
  LFTULJ:
    Type: 'AWS::Lambda::Function'
    Properties:
      Runtime: python3.6
      Code:
        ZipFile: |
          import boto3
          import os
          import json

          stack_name = os.environ['stackName']

          def delete_cfn(stack_name):
              try:
                  cfn = boto3.resource('cloudformation')
                  stack = cfn.Stack(stack_name)
                  stack.delete()
                  return "SUCCESS"
              except:
                  return "ERROR"

          def handler(event,context):
              print("Received event:")
              print(json.dumps(event))
              return delete_cfn(stack_name)

      Handler: index.handler
      Environment: 
        Variables: 
          stackName: shubham
      Role: 'arn:aws:iam::261598744157:role/terminate'
      Timeout: '60'
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 20d06512-220b-4ef6-b56a-f65d2a0c49d4

我正在使用 lambda 函数删除堆栈。所有内容都被删除,但 EMR 集群并未终止。显示的错误是集群 ID 'j-AQ1M94XKWDDJP' 无效。 (服务:AmazonElasticMapReduce;状态代码:400;错误代码:InvalidRequestException;请求 ID:0283892f-c5aa-440d-968a-8cfb4585fe23) 当具有该 ID 的集群存在时。

最佳答案

我得到了问题的答案。 有一个属性与 EMR 集群 VisibleToAllUsers 关联。当我们使用 CLoudformation 脚本旋转 EMR 集群时,它的默认值被设置为 false。这就是 EMR ID 无效的原因。因此解决方案是将 VisibleToAllUsers 属性设置为 true,这样其他 IAM 也可以查看 EMR 集群,并且脚本和 lambda 函数可以正常工作。

关于amazon-web-services - 使用 lambda 函数删除关联的 cloudformation 堆栈时,EMR 集群不会终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62029239/

相关文章:

amazon-web-services - AWS ECS Fargate-任务未运行

python - AWS CDK 解析错误 : Unable to resolve object tree with circular reference

amazon-web-services - cloudformation 创建 cloudfront 后创建失效的最佳方法是什么?

amazon-web-services - AWS EMR Spark : Error writing to S3 - IllegalArgumentException - Cannot create a path from an empty string

hive - 如何通过 Spark Thrift Server 访问自定义 UDF?

amazon-web-services - 如何将数据从 AWS EBS 复制/移动到 EFS?

javascript - 从客户端上传多张图片到服务器的最佳实践

amazon-web-services - 在两个项目之间共享 AWS Cognito/Amplify Auth 配置?

aws-cloudformation - 如何通过cloudformation在sagemaker中创建无服务器端点?

Python 包未导入 AWS EMR 中