簡體   English   中英

Ruby / Amazon Route 53 Ruby gem語法和用法

[英]Ruby/Amazon Route 53 Ruby gem syntax and usage

我想知道是否有人可以幫助我,我在ruby中還很陌生,並且在嘗試使用Amazon Web Service Route53 gem編寫腳本時遇到了麻煩。

使用示例腳本創建新區域並使用它創建記錄時,它可以正常工作。 但是,我不確定在創建CNAME記錄時如何指定區域。 new_zone對象是不同的,並且我不確定它是如何工作的。

我正在嘗試執行此操作,只需創建一個新的cname記錄。 我在這里使用文檔: http : //rubydoc.info/gems/route53/0.2.1/frames

new_zone = 'abcd.net. /hostedzone/Z4W3K5G8FBG6R'

new_record = Route53::DNSRecord.new("cbs.abcd.net.","CNAME","3600",["abcd.net."],new_zone)
resp = new_record.create

如何指定區域? 我嘗試用字符串來做,但是失敗了...

/var/lib/gems/1.8/gems/route53-0.2.1/lib/route53.rb:364:in `create': undefined method `perform_actions' for "abcd.net. /hostedzone/Z4W3K5G8FBG6R":String (NoMethodError)
    from ./cname.rb:12

可能已經解決了,只是我發現了這個問題:

require 'route53'

HOSTED_ZONE_ID = "your_hosted_zone_id"

conn = Route53::Connection.new('AccessKey', 'SecretKey')
new_zone = Route53::Zone.new("example.com.", "/hostedzone/#{HOSTED_ZONE_ID}", conn) # you need to pass connection
new_record = Route53::DNSRecord.new("foo.example.com.","CNAME","3600", ["example.com."],new_zone)
resp = new_record.create

new_zone變量不是字符串,而是Route53 :: Zone對象。

如果要使用現有的區域,則需要將現有的區域對象提取到這樣的數組中:

conn = Route53::Connection.new('access_key','secret_key')
zones = conn.get_zones("abcd.net.")
new_record = Route53::DNSRecord.new("cbs.abcd.net.", "CNAME", "3600", ["abcd.net."], zones.first)
resp = new_record.create

或者,像這樣初始化Route53 :: Zone對象:

conn = Route53::Connection.new('access_key','secret_key')
zone = Route53::Zone.new("abcd.net.", "/hostedzone/Z4W3K5G8FBG6R", conn)
new_record = Route53::DNSRecord.new("cbs.abcd.net.", "CNAME", "3600", ["abcd.net."], zone)
resp = new_record.create

(我想這重復了上面的答案,但是更多的解釋會有所幫助)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM