Tous les produits
Search
Centre de documentation

Object Storage Service:How to use an alias for your Object FC Access Point

Dernière mise à jour :Sep 24, 2026

Après la création d'un point d'accès Object FC, Object Storage Service (OSS) génère automatiquement un alias. Utilisez cet alias pour appeler l'opération GetObject.

Prérequis

Vous avez écrit une fonction pour traiter les requêtes GetObject. Pour plus d'informations, consultez la rubrique Écrire une fonction de requête.

Utiliser les SDK

Java

Le SDK OSS pour Java 3.17.2 et versions ultérieures permet d'accéder aux ressources OSS via l'alias d'un point d'accès Object FC.

import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.GetObjectRequest;
import java.io.File;

public class Demo {

    public static void main(String[] args) throws Exception {
        // Use the public endpoint of the Object FC Access Point to access OSS.
        String endpoint = "https://oss-cn-qingdao.aliyuncs.com";
        // Specify the region that corresponds to the endpoint. For example, cn-qingdao.
        String region = "cn-qingdao";
        // Use the internal endpoint of the Object FC Access Point to access OSS.
        // String endpoint = "https://oss-cn-qingdao-internal.aliyuncs.com";
        // Obtain access credentials from environment variables. Before you run this code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Specify the alias of the Object FC Access Point.
        String bucketName = "fc-ap-01-3b00521f653d2b3223680ec39dbbe2****-opapalias";
        // Specify the full path of the object. Do not include the bucket name in the path.
        String objectName = "yourObjectName";
        // Specify the full path to which the object is downloaded.
        String pathName = "yourPathName";

        // Create an OSSClient instance.
        // When the OSSClient instance is no longer used, call the shutdown method to release resources.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        // Explicitly declare the use of the V4 signature algorithm.
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            // Download the object to a local file and save it to the specified path. If the local file exists, it is overwritten. If the local file does not exist, a new file is created.
            // If a local path is not specified, the downloaded file is saved to the path of the project that contains the sample program.
            ossClient.getObject(new GetObjectRequest(bucketName, objectName), new File(pathName));
        } catch (OSSException oe) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "but was rejected with an error response for some reason.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
} 

Python

Le SDK OSS pour Python 2.18.3 et versions ultérieures permet d'accéder aux ressources OSS via l'alias d'un point d'accès Object FC.

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# Use the public endpoint of the Object FC Access Point to access OSS.
endpoint = "https://oss-cn-qingdao.aliyuncs.com"
# Use the internal endpoint of the Object FC Access Point to access OSS.
# endpoint = "https://oss-cn-qingdao-internal.aliyuncs.com"
# Specify the alias of the Object FC Access Point.
bucket_name = "fc-ap-01-3b00521f653d2b3223680ec39dbbe2****-opapalias"
bucket = oss2.Bucket(auth, endpoint=endpoint, bucket_name=bucket_name)

# Set yourObjectName to the full path of the object. Do not include the bucket name in the path.
# Set yourLocalFile to the path of the local file. If the local file exists, it is overwritten. If the local file does not exist, a new file is created.
bucket.get_object_to_file('yourObjectName', 'yourLocalFile')

Go

Le SDK OSS pour Go 1.2.2 et versions ultérieures permet d'accéder aux ressources OSS via l'alias d'un point d'accès Object FC.

package main

import (
  "fmt"
  "github.com/aliyun/aliyun-oss-go-sdk/oss"
  "os"
)

func main() {
  provider, err := oss.NewEnvironmentVariableCredentialsProvider()
  if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
  }
  // Create an OSSClient instance.
  // Set yourEndpoint to the endpoint of the bucket. For example, if the bucket is in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. For other regions, specify the actual endpoint.
  client, err := oss.New("http://oss-cn-qingdao.aliyuncs.com", "", "", oss.SetCredentialsProvider(&provider))
  if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
  }
  // Specify the alias of the Object FC Access Point.
  bucketName := "fc-ap-01-3b00521f653d2b3223680ec39dbbe2****-opapalias"
  bucket, err := client.Bucket(bucketName)
  if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
  }
  // Set yourObjectName to the full path of the object. Do not include the bucket name in the path.
  // Set yourLocalFile to the full path of the local file.
  err = bucket.GetObjectToFile("yourObjectName", "yourLocalFile")
  if err != nil {
    fmt.Println("GetObject Error:", err)
    os.Exit(-1)
  }
  fmt.Println("success")
}

Utiliser l'interface de ligne de commande ossutil

Pour accéder aux ressources OSS avec ossutil, définissez le nom du bucket sur l'alias du point d'accès Object FC. Exemple :

ossutil cp oss://fc-ap-01-3b00521f653d2b3223680ec39dbbe2****-opapalias/demo.txt /Users/demo/Desktop/demo.txt

Pour plus d'exemples de commandes, consultez la rubrique Commandes courantes.

Utiliser une API REST

Lors de l'appel de l'opération GetObject pour accéder aux ressources OSS, incluez l'alias du point d'accès Object FC dans l'en-tête Host. Exemple :

GET /ObjectName HTTP/1.1
Host: fc-ap-01-3b00521f653d2b3223680ec39dbbe2****-opapalias.oss-cn-qingdao.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue