すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:静的 Web サイトホスティング (ミラーリングベースのオリジンフェッチ) (Java SDK V1)

最終更新日:Nov 27, 2025

バケットに静的 Web サイトホスティングを設定し、ミラーリングベースのオリジンフェッチのためのリダイレクトルール (RoutingRule) を設定できます。静的 Web サイトホスティングを有効にすると、Web サイトへのリクエストはバケットへのリクエストと同等になります。また、指定したインデックスページやエラーページへの自動リダイレクトを設定することもできます。ミラーリングベースのオリジンフェッチのリダイレクトルールは、Object Storage Service (OSS) へのシームレスなデータ移行に役立ちます。

注意事項

  • このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。同一リージョン内の他の Alibaba Cloud サービスから OSS にアクセスするには、内部エンドポイントを使用してください。サポートされているリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。

  • このトピックでは、アクセス認証情報は環境変数から取得します。アクセス認証情報の設定方法の詳細については、「アクセス認証情報の設定」をご参照ください。

  • このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスを作成します。カスタムドメイン名またはセキュリティトークンサービス (STS) を使用して OSSClient インスタンスを作成する場合は、「一般的なシナリオの設定例」をご参照ください。

  • 静的 Web サイトホスティングまたはミラーリングベースのオリジンフェッチを設定するには、oss:PutBucketWebsite 権限が必要です。静的 Web サイトホスティングまたはミラーリングベースのオリジンフェッチの設定を取得するには、oss:GetBucketWebsite 権限が必要です。静的 Web サイトホスティングまたはミラーリングベースのオリジンフェッチの設定を削除するには、oss:DeleteBucketWebsite 権限が必要です。詳細については、「RAM ユーザーへのカスタムアクセスポリシーの付与」をご参照ください。

静的 Web サイトホスティング

  • 静的 Web サイトホスティングの設定

    次のコードは、静的 Web サイトホスティングを設定する方法を示しています。

    import com.aliyun.oss.*;
    import com.aliyun.oss.common.auth.*;
    import com.aliyun.oss.common.comm.SignVersion;
    import com.aliyun.oss.model.SetBucketWebsiteRequest;
    
    public class Demo {
    
        public static void main(String[] args) throws Exception {
            // 中国 (杭州) のエンドポイントを例として使用します。実際のエンドポイントを指定してください。
            String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
            // 環境変数からアクセス認証情報を取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
            EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
            // バケット名を指定します。例:examplebucket。
            String bucketName = "examplebucket";
            // バケットが配置されているリージョンを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを cn-hangzhou に設定します。
            String region = "cn-hangzhou";
    
            // OSSClient インスタンスを作成します。
            // OSSClient インスタンスが不要になったら、shutdown メソッドを呼び出してリソースを解放します。
            ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
            clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);        
            OSS ossClient = OSSClientBuilder.create()
            .endpoint(endpoint)
            .credentialsProvider(credentialsProvider)
            .clientConfiguration(clientBuilderConfiguration)
            .region(region)               
            .build();
    
            try {
                // バケット名を指定します。
                SetBucketWebsiteRequest request = new SetBucketWebsiteRequest(bucketName);
                // 静的 Web サイトホスティングのデフォルトホームページを設定します。
                request.setIndexDocument("index.html");
                // 静的 Web サイトホスティングのデフォルト 404 ページを設定します。
                request.setErrorDocument("error.html");
                ossClient.setBucketWebsite(request);
            } 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();
                }
            }
        }
    }
  • 静的 Web サイトホスティング構成の表示

    次のコードは、静的 Web サイトホスティングの設定を表示する方法を示しています。

    import com.aliyun.oss.*;
    import com.aliyun.oss.common.auth.*;
    import com.aliyun.oss.common.comm.SignVersion;
    import com.aliyun.oss.model.BucketWebsiteResult;
    
    public class Demo {
    
        public static void main(String[] args) throws Exception {
            // 中国 (杭州) のエンドポイントを例として使用します。実際のエンドポイントを指定してください。
            String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
            // 環境変数からアクセス認証情報を取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
            EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
            // バケット名を指定します。例:examplebucket。
            String bucketName = "examplebucket";
            // バケットが配置されているリージョンを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを cn-hangzhou に設定します。
            String region = "cn-hangzhou";
    
            // OSSClient インスタンスを作成します。
            // OSSClient インスタンスが不要になったら、shutdown メソッドを呼び出してリソースを解放します。
            ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
            clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);        
            OSS ossClient = OSSClientBuilder.create()
            .endpoint(endpoint)
            .credentialsProvider(credentialsProvider)
            .clientConfiguration(clientBuilderConfiguration)
            .region(region)               
            .build();
    
            try {
                // バケット名を指定します。
                BucketWebsiteResult result = ossClient.getBucketWebsite(bucketName);
                // 静的 Web サイトホスティング設定のデフォルトホームページとデフォルト 404 ページを表示します。
                System.out.println(result.getIndexDocument());
                System.out.println(result.getErrorDocument());
            } 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();
                }
            }
        }
    }
  • 静的 Web サイトホスティング構成の削除

    次のコードは、静的 Web サイトホスティングの設定を削除する方法を示しています。

    import com.aliyun.oss.*;
    import com.aliyun.oss.common.auth.*;
    import com.aliyun.oss.common.comm.SignVersion;
    
    public class Demo {
    
        public static void main(String[] args) throws Exception {
            // 中国 (杭州) のエンドポイントを例として使用します。実際のエンドポイントを指定してください。
            String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
            // 環境変数からアクセス認証情報を取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
            EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
            // バケット名を指定します。例:examplebucket。
            String bucketName = "examplebucket";
            // バケットが配置されているリージョンを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを cn-hangzhou に設定します。
            String region = "cn-hangzhou";
    
            // OSSClient インスタンスを作成します。
            // OSSClient インスタンスが不要になったら、shutdown メソッドを呼び出してリソースを解放します。
            ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
            clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);        
            OSS ossClient = OSSClientBuilder.create()
            .endpoint(endpoint)
            .credentialsProvider(credentialsProvider)
            .clientConfiguration(clientBuilderConfiguration)
            .region(region)               
            .build();
    
            try {
                // バケット名を指定します。
                ossClient.deleteBucketWebsite(bucketName);
            } 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();
                }
            }
        }
    }

ミラーリングベースのオリジンフェッチ

ミラーリングベースのオリジンフェッチは、主に OSS へのシームレスなデータ移行に使用されます。たとえば、サービスが独自のオリジンサーバーまたは他のクラウドプロダクトで実行されているとします。ビジネスの発展のためにサービスを OSS に移行する場合、移行中もサービスが継続して実行されるようにする必要があります。移行中は、ミラーリングベースのオリジンフェッチルールを使用して、まだ OSS に移行されていないデータを取得できます。これにより、サービスが期待どおりに実行されることが保証されます。

  • ミラーリングベースのオリジンフェッチの設定

    たとえば、リクエスターが宛先バケットに存在しないファイルにアクセスした場合、オリジンフェッチ条件とソース URL を指定して、オリジンサーバーからオブジェクトファイルを取得できます。たとえば、中国 (杭州) リージョンに examplebucket という名前のバケットがあるとします。リクエスターがバケットのルートディレクトリにある examplefolder ディレクトリに存在しないファイルにアクセスしようとした場合、リクエスターが https://www.example.com/ サイトの examplefolder ディレクトリからオブジェクトファイルを取得できるようにします。

    次のコードは、上記のシナリオでミラーリングベースのオリジンフェッチルールを設定する方法を示しています。

    import com.aliyun.oss.*;
    import com.aliyun.oss.common.auth.*;
    import com.aliyun.oss.common.comm.SignVersion;
    import com.aliyun.oss.model.RoutingRule;
    import com.aliyun.oss.model.SetBucketWebsiteRequest;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class Demo {
    
        public static void main(String[] args) throws Exception {
            // 中国 (杭州) のエンドポイントを例として使用します。実際のエンドポイントを指定してください。
            String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
            // 環境変数からアクセス認証情報を取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
            EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
            // バケット名を指定します。例:examplebucket。
            String bucketName = "examplebucket";
            // バケットが配置されているリージョンを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを cn-hangzhou に設定します。
            String region = "cn-hangzhou";
    
            // OSSClient インスタンスを作成します。
            // OSSClient インスタンスが不要になったら、shutdown メソッドを呼び出してリソースを解放します。
            ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
            clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);        
            OSS ossClient = OSSClientBuilder.create()
            .endpoint(endpoint)
            .credentialsProvider(credentialsProvider)
            .clientConfiguration(clientBuilderConfiguration)
            .region(region)               
            .build();
    
            try {
                SetBucketWebsiteRequest request = new SetBucketWebsiteRequest(bucketName);
                // 存在せず、名前がスラッシュ (/) で終わらないオブジェクトにアクセスした場合の動作。これは、デフォルトのホームページが設定された後に有効になります。
                //request.setSubDirType(null);
                // サブディレクトリにアクセスしたときに、サブディレクトリのデフォルトのホームページにリダイレクトするかどうかを指定します。
                //request.setSupportSubDir(false);
    
                List<RoutingRule> routingRules = new ArrayList<RoutingRule>();
    
                RoutingRule rule = new RoutingRule();
                rule.setNumber(1);
                // このプレフィックスを持つオブジェクトのみがこのルールに一致します。
                rule.getCondition().setKeyPrefixEquals("examplebucket");
                // 指定されたオブジェクトへのリクエストに対して HTTP ステータスコード 404 が返された場合にのみ、ルールが一致します。
                rule.getCondition().setHttpErrorCodeReturnedEquals(404);
                // リダイレクトタイプを指定します。
                rule.getRedirect().setRedirectType(RoutingRule.RedirectType.Mirror);
                // ミラーリングベースのオリジンフェッチのソース URL を指定します。例:https://www.example.com/。
                rule.getRedirect().setMirrorURL("<yourMirrorURL>");
                //rule.getRedirect().setMirrorRole("AliyunOSSMirrorDefaultRole");
                // リダイレクトまたはミラーリングベースのオリジンフェッチルールが実行されるときにリクエストパラメーターを含めるかどうかを指定します。
                rule.getRedirect().setPassQueryString(true);
                // このパラメーターは PassQueryString と同じ機能を持ちますが、優先度が高くなります。このパラメーターは、RedirectType が Mirror に設定されている場合にのみ有効です。
                rule.getRedirect().setMirrorPassQueryString(true);
                // リダイレクトで返すステータスコードを指定します。このパラメーターは、RedirectType が External または AliCDN に設定されている場合にのみ有効です。
                //rule.getRedirect().setHttpRedirectCode(302);
                // リダイレクト用のドメイン名を指定します。ドメイン名はドメイン名の仕様に準拠している必要があります。
                //rule.getRedirect().setHostName("oss.aliyuncs.com");
                // リダイレクトのプロトコルを指定します。このパラメーターは、RedirectType が External または AliCDN に設定されている場合にのみ有効です。
                //rule.getRedirect().setProtocol(RoutingRule.Protocol.Https);
                // リダイレクト中、オブジェクト名は ReplaceKeyWith の値に置き換えられます。ReplaceKeyWith は変数をサポートします。
                //rule.getRedirect().setReplaceKeyWith("${key}.jpg");
                // このパラメーターが true に設定されている場合、オブジェクト名のプレフィックスは ReplaceKeyPrefixWith の値に置き換えられます。
                rule.getRedirect().setEnableReplacePrefix(true);
                // リダイレクト中、オブジェクト名のプレフィックスはこの値に置き換えられます。
                rule.getRedirect().setReplaceKeyPrefixWith("examplebucket");
                // オリジンフェッチの本文の MD5 ハッシュをチェックするかどうかを指定します。このパラメーターは、RedirectType が Mirror に設定されている場合にのみ有効です。
                rule.getRedirect().setMirrorCheckMd5(true);
    
                RoutingRule.MirrorHeaders mirrorHeaders = new RoutingRule.MirrorHeaders();
                // 以下以外のヘッダーをオリジンサーバーにパススルーするかどうかを指定します。このパラメーターは、RedirectType が Mirror に設定されている場合にのみ有効です。
                mirrorHeaders.setPassAll(false);
                List passes = new ArrayList<String>();
                passes.add("cache-control");
                // 指定されたヘッダーをオリジンサーバーにパススルーします。このパラメーターは、RedirectType が Mirror に設定されている場合にのみ有効です。
                mirrorHeaders.setPass(passes);
                List removes = new ArrayList<String>();
                removes.add("content-type");
                // 指定されたヘッダーのオリジンサーバーへのパススルーを禁止します。このパラメーターは、RedirectType が Mirror に設定されている場合にのみ有効です。
                mirrorHeaders.setRemove(removes);
                List sets = new ArrayList<Map<String, String>>();
                Map header1 = new HashMap<String, String>();
                header1.put("Key", "key1");
                header1.put("Value", "value1");
                Map header2 = new HashMap<String, String>();
                header2.put("Key", "key2");
                header2.put("Value", "value2");
                sets.add(header1);
                sets.add(header2);
                // オリジンサーバーに渡すヘッダーを設定します。これらのヘッダーは、元のリクエストに含まれているかどうかに関係なく、オリジンフェッチリクエスト用に設定されます。
                mirrorHeaders.setSet(sets);
                // オリジンフェッチリクエストに含めるヘッダーを指定します。このパラメーターは、RedirectType が Mirror に設定されている場合にのみ有効です。
                rule.getRedirect().setMirrorHeaders(mirrorHeaders);
    
                routingRules.add(rule);
                request.setRoutingRules(routingRules);
                ossClient.setBucketWebsite(request);
            } 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();
                }
            }
        }
    }
  • ミラーリングベースのオリジンフェッチ構成の取得

    次のコードは、ミラーリングベースのオリジンフェッチ設定を取得する方法を示しています。

    import com.aliyun.oss.*;
    import com.aliyun.oss.common.auth.*;
    import com.aliyun.oss.common.comm.SignVersion;
    import com.aliyun.oss.model.BucketWebsiteResult;
    
    public class Demo {
    
        public static void main(String[] args) throws Exception {
            // 中国 (杭州) のエンドポイントを例として使用します。実際のエンドポイントを指定してください。
            String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
            // 環境変数からアクセス認証情報を取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
            EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
            // バケット名を指定します。例:examplebucket。
            String bucketName = "examplebucket";
            // バケットが配置されているリージョンを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを cn-hangzhou に設定します。
            String region = "cn-hangzhou";
    
            // OSSClient インスタンスを作成します。
            // OSSClient インスタンスが不要になったら、shutdown メソッドを呼び出してリソースを解放します。
            ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
            clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);        
            OSS ossClient = OSSClientBuilder.create()
            .endpoint(endpoint)
            .credentialsProvider(credentialsProvider)
            .clientConfiguration(clientBuilderConfiguration)
            .region(region)               
            .build();
    
            try {
                BucketWebsiteResult result = ossClient.getBucketWebsite(bucketName);
                result.getSubDirType();
                // 一致して実行されたリダイレクトまたはミラーリングベースのオリジンフェッチルールの序数を取得します。
                System.out.println(result.getRoutingRules().get(0).getNumber());
                // ルールが一致するプレフィックスを取得します。
                System.out.println(result.getRoutingRules().get(0).getCondition().getKeyPrefixEquals());
                // HTTP ステータスコードを取得します。
                System.out.println(result.getRoutingRules().get(0).getCondition().getHttpErrorCodeReturnedEquals());
                // ルールが一致するサフィックスを取得します。
                System.out.println(result.getRoutingRules().get(0).getCondition().getKeySuffixEquals());
                // リダイレクトタイプを取得します。
                System.out.println(result.getRoutingRules().get(0).getRedirect().getRedirectType());
                // 持ち越されたリクエストパラメーターを取得します。
                System.out.println(result.getRoutingRules().get(0).getRedirect().getMirrorPassQueryString());
                // ミラーリングベースのオリジンフェッチのソース URL を取得します。
                System.out.println(result.getRoutingRules().get(0).getRedirect().getMirrorURL());
                // リダイレクトで返されたステータスコードを取得します。
                System.out.println(result.getRoutingRules().get(0).getRedirect().getHttpRedirectCode());
                // パススルーする指定されたヘッダーを取得します。
                System.out.println(result.getRoutingRules().get(0).getRedirect().getMirrorHeaders().getPass().get(0));
                // パススルーが禁止されている指定されたヘッダーを取得します。
                System.out.println(result.getRoutingRules().get(0).getRedirect().getMirrorHeaders().getRemove().get(0));
                // リダイレクトのプロトコルを取得します。
                System.out.println(result.getRoutingRules().get(0).getRedirect().getProtocol());
                // リダイレクトのドメイン名を取得します。
                System.out.println(result.getRoutingRules().get(0).getRedirect().getHostName());
                // リダイレクト中にオブジェクト名のプレフィックスを置き換える値を取得します。プレフィックスが空の場合、この文字列はオブジェクト名の先頭に挿入されます。
                System.out.println(result.getRoutingRules().get(0).getRedirect().getReplaceKeyPrefixWith());
                // リダイレクト中に ReplaceKeyWith で指定されたオブジェクト名の置換値を取得します。ReplaceKeyWith は変数をサポートします。
                System.out.println(result.getRoutingRules().get(0).getRedirect().getReplaceKeyWith());
                // リダイレクトで返されたステータスコードを取得します。
                System.out.println(result.getRoutingRules().get(0).getRedirect().getHttpRedirectCode());
            } 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();
                }
            }
        }
    }
  • ミラーリングベースのオリジンフェッチ構成の削除

    次のコードは、ミラーリングベースのオリジンフェッチ設定を削除する方法を示しています。

    import com.aliyun.oss.*;
    import com.aliyun.oss.common.auth.*;
    import com.aliyun.oss.common.comm.SignVersion;
    
    public class Demo {
    
        public static void main(String[] args) throws Exception {
            // 中国 (杭州) のエンドポイントを例として使用します。実際のエンドポイントを指定してください。
            String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
            // 環境変数からアクセス認証情報を取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
            EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
            // バケット名を指定します。例:examplebucket。
            String bucketName = "examplebucket";        
            // バケットが配置されているリージョンを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを cn-hangzhou に設定します。
            String region = "cn-hangzhou";
    
            // OSSClient インスタンスを作成します。
            // OSSClient インスタンスが不要になったら、shutdown メソッドを呼び出してリソースを解放します。
            ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
            clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);        
            OSS ossClient = OSSClientBuilder.create()
            .endpoint(endpoint)
            .credentialsProvider(credentialsProvider)
            .clientConfiguration(clientBuilderConfiguration)
            .region(region)               
            .build();
    
            try {
                // バケット名を指定します。
                ossClient.deleteBucketWebsite(bucketName);
            } 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();
                }
            }
        }
    }

関連ドキュメント

  • 静的 Web サイトホスティングとミラーリングベースのオリジンフェッチの完全なサンプルコードについては、「GitHub の例」をご参照ください。

  • 静的 Web サイトホスティングまたはミラーリングベースのオリジンフェッチを設定するために使用される API 操作の詳細については、「PutBucketWebsite」をご参照ください。

  • 静的 Web サイトホスティングまたはミラーリングベースのオリジンフェッチの設定を取得するために使用される API 操作の詳細については、「GetBucketWebsite」をご参照ください。

  • 静的 Web サイトホスティングまたはミラーリングベースのオリジンフェッチの設定を削除するために使用される API 操作の詳細については、「DeleteBucketWebsite」をご参照ください。