edit-icon download-icon

CNAME

最終更新日: Aug 26, 2017

OSS はカスタムドメイン名を OSS にバインドすることをサポートしているため、データストレージを OSS にシームレスに移行できます。たとえば、ドメイン名は my-domain.com で、以前のすべてのイメージリソースは http://img.my-domain.com/x.jpg と似た形式です。イメージストレージを OSS に移行した後、カスタムドメイン名を OSS にバインドすることで、元のアドレスのイメージにアクセスすることができます:

  • OSS サービスを有効にしてバケットを作成
  • 作成したバケットに img.my-domain.com をバインド
  • 作成されたバケットに画像をアップロード
  • DNS 設定を変更し、CNAME レコードを追加し、img.my-domain.com を OSS のエンドポイント(たとえば、my-bucket.oss-cn-hangzhou.aliyuncs.com) に転送

上記の手順で、元のアドレス`http://img.my-domain.com/xx.jpg`を使用して OSS 上の画像をアクセスできます。

カスタムドメイン名のバインド方法の詳細については、カスタムアドオンドメイン/バーチャルホスティング (CNAME) を参照してください。

SDK はエンドポイントとして CNAME の使用をサポートしています。これを行うには、’UseCname’ パラメーターを ‘true’ に設定する必要があります。以下に例を示します:

メモ: sample/cname_sample.go に CORES の例のコードがあります。

  1. import (
  2. "fmt"
  3. "io/ioutil"
  4. "strings"
  5. "github.com/aliyun/aliyun-oss-go-sdk/oss"
  6. )
  7. client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret", oss.UseCname(true))
  8. if err != nil {
  9. // HandleError(err)
  10. }
  11. bucket, err := client.Bucket("my-bucket")
  12. if err != nil {
  13. // HandleError(err)
  14. }
  15. err = bucket.PutObject("my-object", strings.NewReader("MyObjectValue"))
  16. if err != nil {
  17. // HandleError(err)
  18. }
  19. body, err := bucket.GetObject("my-object")
  20. if err != nil {
  21. // HandleError(err)
  22. }
  23. data, err := ioutil.ReadAll(body)
  24. if err != nil {
  25. // HandleError(err)
  26. }
  27. body.Close()
  28. data = data // Process data
  29. lsRes, err := bucket.ListObjects()
  30. if err != nil {
  31. // HandleError(err)
  32. }
  33. fmt.Println("Objects:", lsRes.Objects)
  34. err = bucket.DeleteObject("my-object")
  35. if err != nil {
  36. // HandleError(err)
  37. }

注意: CNAME がエンドポイントとして使用されている場合、’list_buckets’ インターフェイスは使用できません。(カスタムドメイン名は特定のバケットにバインドされているためです)。