AWS Athena/CFT:通过CFT创建Athena工作组的“查询结果位置”不起作用。
创始人
2024-11-14 09:00:21
0

在使用AWS CloudFormation模板创建Athena工作组时,有时会遇到“查询结果位置”属性不起作用的问题。这可能是由于模板中缺少必要的配置或错误的属性值导致的。下面是一个解决方法,包括一个示例CloudFormation模板和一些代码:

  1. 首先,确保你的CloudFormation模板中包含了Athena工作组的定义,并正确配置了查询结果位置属性。以下是一个示例模板片段:
"AthenaWorkGroup": {
  "Type": "AWS::Athena::WorkGroup",
  "Properties": {
    "Name": "MyAthenaWorkGroup",
    "State": "ENABLED",
    "Configuration": {
      "ResultConfiguration": {
        "OutputLocation": "s3://your-bucket-name/path/"
      }
    }
  }
}

在这个示例中,我们设置了Athena工作组的名称为"MyAthenaWorkGroup",并将查询结果位置设置为"s3://your-bucket-name/path/"。请确保你将"s3://your-bucket-name/path/"替换为你实际的S3存储桶和路径。

  1. 确保你的AWS CLI配置了正确的凭证,并具有足够的权限来创建Athena工作组。你可以通过运行以下命令来验证:
aws athena list-work-groups

如果你看到了你在CloudFormation模板中定义的工作组名称,则表示你具有足够的权限。

  1. 确保你的CloudFormation堆栈中包含了正确的IAM角色,以便Athena服务可以访问查询结果位置所在的S3存储桶。你可以在模板的"Resources"部分中定义一个IAM角色,然后将其分配给Athena服务。以下是一个示例:
"AthenaServiceRole": {
  "Type": "AWS::IAM::Role",
  "Properties": {
    "AssumeRolePolicyDocument": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "athena.amazonaws.com"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    },
    "Policies": [
      {
        "PolicyName": "AthenaServiceRolePolicy",
        "PolicyDocument": {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads"
              ],
              "Resource": [
                "arn:aws:s3:::your-bucket-name"
              ]
            },
            {
              "Effect": "Allow",
              "Action": [
                "s3:AbortMultipartUpload",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:ListMultipartUploadParts",
                "s3:PutObject"
              ],
              "Resource": [
                "arn:aws:s3:::your-bucket-name/*"
              ]
            }
          ]
        }
      }
    ]
  }
},

在这个示例中,我们定义了一个名为"AthenaServiceRole"的IAM角色,并为Athena服务设置了必要的S3权限。请确保你将"arn:aws:s3:::your-bucket-name"和"arn:aws:s3:::your-bucket-name/*"替换为你实际的S3存储桶ARN。

  1. 最后,使用CloudFormation模板创建或更新堆栈。你可以使用AWS CLI运行以下命令:
aws cloudformation create-stack --stack-name MyAthenaStack --template-body file://template.json

确保将"template.json"替换为你实际的CloudFormation模板文件名,并将"MyAthenaStack"替换为你想要的堆栈名称。

这些步骤应该可以解决“查询结果位置”属性不起作用的问题。你可以通过在AWS管理控制台中查看Athena

相关内容

热门资讯

外挂教材!佛手在线大菠萝辅助,... 外挂教材!佛手在线大菠萝辅助,拱趴大菠萝万能辅助器-都是是真的有辅助攻略(哔哩哔哩)外挂教材!佛手在...
外挂演示!德州私人局脚本,po... 外挂演示!德州私人局脚本,pokermaster修改器-竟然存在有辅助攻略(哔哩哔哩)德州私人局脚本...
外挂项目!xpoker辅助控制... 外挂项目!xpoker辅助控制,pokernow辅助控制-本来真的是有辅助方法(哔哩哔哩)所有人都在...
外挂办法!哈糖大菠萝开挂,德普... 外挂办法!哈糖大菠萝开挂,德普之星私人局辅助免费-原来一直总是有辅助教程(哔哩哔哩)哈糖大菠萝开挂是...
外挂窍门!拱趴大菠萝怎么开挂,... 外挂窍门!拱趴大菠萝怎么开挂,智星菠萝透视-确实有辅助技巧(哔哩哔哩)1、拱趴大菠萝怎么开挂脚本辅助...
外挂课程!菠萝辅助器免费版的功... 外挂课程!菠萝辅助器免费版的功能介绍,来玩app破解-总是真的有辅助神器(哔哩哔哩);进入游戏-大厅...
外挂大纲!约局吧游戏挂,soh... 外挂大纲!约局吧游戏挂,sohoo竞技联盟辅助器-一直真的有辅助app(哔哩哔哩)1)sohoo竞技...
外挂方案!佛手在线有挂吗,so... 外挂方案!佛手在线有挂吗,sohoo辅助-一直一直都是有辅助app(哔哩哔哩)1)佛手在线有挂吗有没...
外挂窍要!pokerworld... 外挂窍要!pokerworld辅助器,约局吧游戏挂-其实有辅助教程(哔哩哔哩)1、pokerworl...
外挂资料!智星菠萝德州辅助译码... 外挂资料!智星菠萝德州辅助译码插件靠谱吗,悦扑克脚本-其实是真的有辅助插件(哔哩哔哩)1、悦扑克脚本...