2014-04-29 30 views
9

Tôi có một vài trường hợp Google Compute Engine và đã đặt siêu dữ liệu mẫu trên mỗi trường hợp, theo giả định chúng có sẵn trên bản thân biến môi trường, nhưng chúng không hiển thị. Sau đó tôi đọc here mà tôi cần truy vấn máy chủ siêu dữ liệu cho dữ liệu này, nhưng điều đó chỉ trả về 403 trái phép khi chạy từ bản thân cá thể đó. Có cách nào để truy cập siêu dữ liệu dưới dạng biến môi trường không?Các biến môi trường thể hiện

Trả lời

15

Có thể đáng nghiên cứu Metadata querying nhiều hơn một chút, nhưng tôi đoán là bạn đang cố gắng lấy siêu dữ liệu tùy chỉnh, điều này dẫn đến việc không tìm thấy nó. Đảm bảo bạn đang sử dụng thư mục attributes để truy cập bất kỳ siêu dữ liệu tùy chỉnh nào.

Ví dụ, điều này sẽ được tích hợp trong tags metadata:

curl "http://metadata.google.internal/computeMetadata/v1/instance/tags" \ 
    -H "Metadata-Flavor: Google" 

trong khi điều này sẽ nhận được siêu dữ liệu tùy chỉnh của bạn cho thuộc tính foo:

curl "http://metadata.google.internal/computeMetadata/v1/<instance|project>/attributes/foo" \ 
    -H "Metadata-Flavor: Google" 
+0

Ah, có ý nghĩa. Tôi đã theo ấn tượng rằng siêu dữ liệu tôi thêm vào một dự án sẽ tự động được thiết lập trong cá thể VM như các biến môi trường, nhưng có vẻ như tôi cần phải tự lấy chúng. Tôi nghĩ rằng tôi có thể đã nhầm lẫn GCE với AWS, nơi điều đó xảy ra. – regretoverflow

+1

Bạn có thể nghĩ rằng vì một số siêu dữ liệu thực sự được tải vào thể hiện dưới dạng biến môi trường và một số thực sự khác được tải vào tệp. Nếu bạn muốn, bạn có thể tạo một tập lệnh khởi động cũng như một công việc cron kéo tất cả siêu dữ liệu bằng khóa => giá trị và đặt biến môi trường theo cùng một cách, nhưng một số siêu dữ liệu lớn hơn nhiều so với tiêu chuẩn của bạn biến môi trường :) –

Các vấn đề liên quan