【问题标题】:How can we use OVH s3 api to access ovh cloud storage in java我们如何在java中使用OVH s3 api访问ovh云存储
【发布时间】:2022-02-09 02:35:15
【问题描述】:

我想使用 ovh s3 api 使用密钥库、密钥、消费者密钥和区域访问 java 中的 ovh 云存储。 所以使用它我可以在 ovh 云存储上上传文件。

【问题讨论】:

    标签: amazon-web-services amazon-s3 cloud storage ovh


    【解决方案1】:

    在使用 Java 连接到您的后端之前,我建议您验证您与 CLI 客户端的连接,如下所示

    • 获取您需要生成的令牌,如本文档中所述:https://docs.ovh.com/gb/en/storage/getting_started_with_the_swift_S3_API/

      重要的步骤是:

      1. 获取您的 openrc 文件
      user@host:~$ source <user_name>-openrc.sh
      
      1. 创建您的 ec2 凭据
        您将收到一个带有它的块作为此调用的响应
      user@host:~$ openstack ec2 credentials create
      
      1. 编辑您的 aws 凭据
        确保提供区域和指向 OVHcloud 存储的正确链接
      user@host:~$ cat ~/.aws/credentials
      
      [default]
      aws_access_key_id = <access_key>
      aws_secret_access_key = <secret_key>
      
      user@host:~$ cat ~/.aws/config
      
      [plugins]
      endpoint = awscli_plugin_endpoint
      
      [profile default]
      region = <region>
      s3 =
        endpoint_url = https://s3.<region>.cloud.ovh.net
        signature_version = s3v4
      s3api =
        endpoint_url = https://s3.<region>.cloud.ovh.net
      
    • 通过列出您的 OVHcloud 存储对象来验证您的存储桶的连接性。

      aws --profile default s3 ls
      

    然后你可以从java代码连接你可以使用这个帖子答案Setting AWS S3 Region中的代码示例

    AWSCredentials cred = new BasicAWSCredentials(<accessKey>,<secretKey>);
    AmazonS3 s3client = AmazonS3ClientBuilder.standard()
    .withCredentials(new AWSStaticCredentialsProvider(cred))
    .withClientConfiguration(<your configuration>)
    .withRegion(Region.getRegion(Regions.AP_SOUTH_1));
    

    重要的是提供端点/区域,因为 sdk 默认为 US_WEST 区域

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-23
      • 2017-10-30
      • 1970-01-01
      • 1970-01-01
      • 2019-10-01
      • 1970-01-01
      • 2017-03-04
      • 1970-01-01
      相关资源
      最近更新 更多