訪問S3提供臨時會話憑證

提取我會話憑證和使用它們來訪問S3存儲通過S3A URI。需要磚運行時的8.3及以上。

寫的Gobinath.Viswanathan

去年發表在:2022年5月16日

您可以使用我會話令牌使用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的關鍵。令牌<標記>