Glue aws 连接 Web Api
Glue aws connect with Web Api
我已经设置了 aws glue 爬虫,并且已经将表格填充到我的 Glue 数据目录中。
我想使用 Web API.
访问有关 Data Catalog 的信息
例如我想GetDatabases.
当我使用 python boto3 库时,我得到了所有数据库的列表。
import boto3
glue = boto3.client('glue',region_name='us-west-2')
glue.get_databases()
使用aws-sdkjs库时相同
var AWS = require('aws-sdk');
AWS.config.update({region: 'us-west-2'});
var glue = new AWS.Glue();
glue.getDatabases((err,data)=>{
if(err){
console.log(err);
}
console.log(data);
});
我想做的是从 Postman 调用网络 api。
Postman 使用 AWS 凭证创建 AWS 签名(在授权选项卡下)。
当我使用 postman 描述 ec2 实例时,它工作正常。
但是,我在尝试执行
时收到 AccessDeniedException
POST https://glue.us-west-2.amazonaws.com/
Headers: X-Amz-Target: AWSGlue.GetDatabases
Authorization:....
X-Amz-Date:...
Content-Type:multipart/form-data
我是不是漏掉了一些 header?如何调用 web api 并获取数据库列表?
感谢您的帮助。
经过大量的反复试验,我发现以下 Headers 很重要
POST / HTTP/1.1
Host: glue.us-west-2.amazonaws.com
X-Amz-Target: AWSGlue.GetDatabases
Content-Type: application/x-amz-json-1.1
X-Amz-Date: 20180425T052803Z
Authorization: AWS4-HMAC-SHA256 Credential=AWS_KEY/20180425/us-west-2/glue/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-target, Signature=f6dfb78d7ee837dc57ce6e13d9fd6ec0631d0c5546f0142ce997bc7e9203c7b7
如果您不想指定任何参数,则传递空 body ({}) 也很重要。
我已经设置了 aws glue 爬虫,并且已经将表格填充到我的 Glue 数据目录中。 我想使用 Web API.
访问有关 Data Catalog 的信息例如我想GetDatabases.
当我使用 python boto3 库时,我得到了所有数据库的列表。
import boto3
glue = boto3.client('glue',region_name='us-west-2')
glue.get_databases()
使用aws-sdkjs库时相同
var AWS = require('aws-sdk');
AWS.config.update({region: 'us-west-2'});
var glue = new AWS.Glue();
glue.getDatabases((err,data)=>{
if(err){
console.log(err);
}
console.log(data);
});
我想做的是从 Postman 调用网络 api。 Postman 使用 AWS 凭证创建 AWS 签名(在授权选项卡下)。
当我使用 postman 描述 ec2 实例时,它工作正常。 但是,我在尝试执行
时收到 AccessDeniedExceptionPOST https://glue.us-west-2.amazonaws.com/
Headers: X-Amz-Target: AWSGlue.GetDatabases
Authorization:....
X-Amz-Date:...
Content-Type:multipart/form-data
我是不是漏掉了一些 header?如何调用 web api 并获取数据库列表?
感谢您的帮助。
经过大量的反复试验,我发现以下 Headers 很重要
POST / HTTP/1.1
Host: glue.us-west-2.amazonaws.com
X-Amz-Target: AWSGlue.GetDatabases
Content-Type: application/x-amz-json-1.1
X-Amz-Date: 20180425T052803Z
Authorization: AWS4-HMAC-SHA256 Credential=AWS_KEY/20180425/us-west-2/glue/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-target, Signature=f6dfb78d7ee837dc57ce6e13d9fd6ec0631d0c5546f0142ce997bc7e9203c7b7
如果您不想指定任何参数,则传递空 body ({}) 也很重要。