访问S3提供临时会话凭证

提取我会话凭证和使用它们来访问S3存储通过S3A URI。需要砖运行时的8.3及以上。

写的Gobinath.Viswanathan

去年发表在:2023年5月30日

您可以使用我会话令牌使用Hadoop配置支持访问S3存储数据砖运行时8.3及以上。

删除

信息

你不能挂载S3路径DBFS山当使用会话凭证。您必须使用S3A URI。

从集群中提取会话的凭证

从集群中提取会话的凭证。

你需要的实例配置文件从你的集群。这下可以找到高级选项在集群配置。

使用curl来显示AccessKeyId,SecretAccessKey,令牌

% sh curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ < instance-profile >

或者,您可以使用Python脚本。

% = requests.get python导入请求导入json响应(" http://169.254.169.254/latest/meta-data/iam/security-credentials/ < instance-profile >”)凭证= response.json()打印(凭证)

IP地址不应该修改。169.254.169.254只是一个链接地址和有效的实例。

删除

信息

你只能提取一个会话令牌从标准的集群。这不会在高并发集群。

在一个笔记本使用会话的凭证

您可以使用会话凭证输入到一个笔记本。

% python AccessKey = " < AccessKeyId >“秘密= < SecretAccessKey >”牌= <标记>“sc._jsc.hadoopConfiguration()这里(“fs.s3a.aws.credentials。提供者”、“org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider”) sc._jsc.hadoopConfiguration()这里(“fs.s3a.access。键”,AccessKey) sc._jsc.hadoopConfiguration()这里(“fs.s3a.secret。键”,秘密)sc._jsc.hadoopConfiguration()这里(“fs.s3a.session。令牌,令牌)

一旦加载在笔记本上会话的凭证,您可以访问文件在S3 bucket S3A URI。

% python dbutils.fs.ls (“s3a: / / < path-to-folder > /”)

使用会话凭证集群中配置

你可以将会话证书添加到集群中火花配置。这使得它们可以访问所有笔记本在集群上。

fs.s3a.aws.credentials。提供者org.apache.hadoop.fs.s3a。TemporaryAWSCredentialsProvider fs.s3a.access。< AccessKeyId > fs.s3a.secret的关键。< SecretAccessKey > fs.s3a.session的关键。令牌<标记>


这篇文章有用吗?