مرجع خطاف الويب لـ Azure Container Registry
يمكنك تكوين خطاف الويب لسجل الحاوية الذي ينشئ الأحداث عند تنفيذ إجراءات معينة لها. على سبيل المثال، قم بتمكين خطافات الويب التي يتم تشغيلها عند دفع صورة حاوية أو دفع مخطط Helm البياني إلى سجل، عند الحذف. عند تشغيل خطاف ويب، يقوم Azure Container Registry بإصدار طلب HTTP أو HTTPS يحتوي على معلومات حول الحدث إلى نقطة نهاية تحددها. يمكن لنقطة النهاية بعد ذلك معالجة خطاف الويب والعمل وفقاً لذلك.
تقوم المقاطع التالية بعرض تفاصيل مخطط طلبات خطاف الويب الذي تم إنشاؤه بواسطة الأحداث التي تم دعمها. تحتوي مقاطع الأحداث على مخطط الحمولة لنوع الحدث، وحمولة طلب مثال، وأوامر مثال واحد أو أكثر التي من شأنها تشغيل خطاف الويب.
للحصول على معلومات حول تكوين خطافات الويب لسجل حاوية Azure، راجع استخدام خطافات ويب Azure Container Registry.
طلبات خطافات الويب
طلب HTTP
يقوم خطاف ويب مشغل بإجراء طلب HTTP POST
إلى نقطة نهاية URL التي حددتها عند تكوين خطاف الويب.
عناوين HTTP
تتضمن طلبات خطافات الويب Content-Type
من application/json
إذا لم تحدد عنوان Content-Type
مخصصاً لخطاف الويب لديك.
لا تتم إضافة عناوين أخرى للطلب بعيداً عن تلك العناوين المخصصة التي ربما حددتها لخطاف الويب هذا.
حدث الدفع
تم تشغيل خطاف الويب عند دفع صورة حاوية إلى مستودع.
دفع حمولة الحدث
العنصر | النوع | الوصف |
---|---|---|
id |
سلسلة | معرف حدث خطاف الويب. |
timestamp |
التاريخ والوقت | الوقت الذي تم فيه تشغيل حدث خطاف الويب. |
action |
سلسلة | الإجراء الذي قام بتشغيل حدث خطاف الويب. |
target | نوع معقد | الهدف من الحدث الذي قام بتشغيل حدث خطاف الويب. |
طلب | النوع المعقد | الطلب الذي قام بإنشاء حدث خطاف الويب. |
الهدف
العنصر | النوع | الوصف |
---|---|---|
mediaType |
سلسلة | نوع MIME للعنصر المُشار إليه. |
size |
Int32 | عدد وحدات البايت الخاصة بالمحتوى. حقل الطول نفسه. |
digest |
سلسلة | شفرة تجزئة المحتوى، كما هو محدد بواسطة مواصفات واجهة برمجة تطبيقات HTTP للإصدار 2 من السجل. |
length |
Int32 | عدد وحدات البايت الخاصة بالمحتوى. نفس حجم الحقل. |
repository |
سلسلة | اسم المستودع. |
tag |
سلسلة | اسم علامة الصورة. |
طلب
العنصر | النوع | الوصف |
---|---|---|
id |
سلسلة | معرف الطلب الذي بدأ الحدث. |
host |
سلسلة | اسم المضيف الذي يمكن الوصول إليه خارجياً لمثيل السجل، كما هو محدد بواسطة عنوان مضيف HTTP للطلبات الواردة. |
method |
سلسلة | أسلوب الطلب الذي قام بإنشاء الحدث. |
useragent |
سلسلة | عنوان عامل المستخدم للطلب. |
مثال على الحمولة: حدث دفع الصورة
{
"id": "cb8c3971-9adc-488b-xxxx-43cbb4974ff5",
"timestamp": "2017-11-17T16:52:01.343145347Z",
"action": "push",
"target": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 524,
"digest": "sha256:xxxxd5c8786bb9e621a45ece0dbxxxx1cdc624ad20da9fe62e9d25490f33xxxx",
"length": 524,
"repository": "hello-world",
"tag": "v1"
},
"request": {
"id": "3cbb6949-7549-4fa1-xxxx-a6d5451dffc7",
"host": "myregistry.azurecr.io",
"method": "PUT",
"useragent": "docker/17.09.0-ce go/go1.8.3 git-commit/afdb6d4 kernel/4.10.0-27-generic os/linux arch/amd64 UpstreamClient(Docker-Client/17.09.0-ce \\(linux\\))"
}
}
مثال على الأمر Docker CLI الذي يقوم بتشغيل خطاف ويب حدث دفع الصورة:
docker push myregistry.azurecr.io/hello-world:v1
حدث دفع المخطط البياني
تم تشغيل خطاف الويب عند دفع مخطط Helm البياني إلى مستودع.
حمولة حدث دفع المخطط البياني
العنصر | النوع | الوصف |
---|---|---|
id |
سلسلة | معرف حدث خطاف الويب. |
timestamp |
التاريخ والوقت | الوقت الذي تم فيه تشغيل حدث خطاف الويب. |
action |
سلسلة | الإجراء الذي قام بتشغيل حدث خطاف الويب. |
target | نوع معقد | الهدف من الحدث الذي قام بتشغيل حدث خطاف الويب. |
الهدف
العنصر | النوع | الوصف |
---|---|---|
mediaType |
سلسلة | نوع MIME للعنصر المُشار إليه. |
size |
Int32 | عدد وحدات البايت الخاصة بالمحتوى. |
digest |
سلسلة | شفرة تجزئة المحتوى، كما هو محدد بواسطة مواصفات واجهة برمجة تطبيقات HTTP للإصدار 2 من السجل. |
repository |
سلسلة | اسم المستودع. |
tag |
سلسلة | اسم علامة المخطط البياني. |
name |
سلسلة | اسم المخطط البياني. |
version |
سلسلة | إصدار المخطط البياني. |
مثال على الحمولة: حدث دفع المخطط البياني
{
"id": "6356e9e0-627f-4fed-xxxx-d9059b5143ac",
"timestamp": "2019-03-05T23:45:31.2614267Z",
"action": "chart_push",
"target": {
"mediaType": "application/vnd.acr.helm.chart",
"size": 25265,
"digest": "sha256:xxxx8075264b5ba7c14c23672xxxx52ae6a3ebac1c47916e4efe19cd624dxxxx",
"repository": "repo",
"tag": "wordpress-5.4.0.tgz",
"name": "wordpress",
"version": "5.4.0.tgz"
}
}
مثال على الأمر Azure CLI الذي يقوم بتشغيل خطاف ويب حدث chart_push:
az acr helm push wordpress-5.4.0.tgz --name MyRegistry
حذف الحدث
خطاف الويب الذي تم تشغيله عند حذف مستودع صورة أو بيان. لا يتم تشغيلها عند حذف علامة.
حذف حمولة الحدث
العنصر | النوع | الوصف |
---|---|---|
id |
سلسلة | معرف حدث خطاف الويب. |
timestamp |
التاريخ والوقت | الوقت الذي تم فيه تشغيل حدث خطاف الويب. |
action |
سلسلة | الإجراء الذي قام بتشغيل حدث خطاف الويب. |
target | نوع معقد | الهدف من الحدث الذي قام بتشغيل حدث خطاف الويب. |
طلب | النوع المعقد | الطلب الذي قام بإنشاء حدث خطاف الويب. |
الهدف
العنصر | النوع | الوصف |
---|---|---|
mediaType |
سلسلة | نوع MIME للعنصر المُشار إليه. |
digest |
سلسلة | شفرة تجزئة المحتوى، كما هو محدد بواسطة مواصفات واجهة برمجة تطبيقات HTTP للإصدار 2 من السجل. |
repository |
سلسلة | اسم المستودع. |
طلب
العنصر | النوع | الوصف |
---|---|---|
id |
سلسلة | معرف الطلب الذي بدأ الحدث. |
host |
سلسلة | اسم المضيف الذي يمكن الوصول إليه خارجياً لمثيل السجل، كما هو محدد بواسطة عنوان مضيف HTTP للطلبات الواردة. |
method |
سلسلة | أسلوب الطلب الذي قام بإنشاء الحدث. |
useragent |
سلسلة | عنوان عامل المستخدم للطلب. |
مثال على الحمولة: حدث حذف الصورة
{
"id": "afc359ce-df7f-4e32-xxxx-1ff8aa80927b",
"timestamp": "2017-11-17T16:54:53.657764628Z",
"action": "delete",
"target": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:xxxxd5c8786bb9e621a45ece0dbxxxx1cdc624ad20da9fe62e9d25490f33xxxx",
"repository": "hello-world"
},
"request": {
"id": "3d78b540-ab61-4f75-xxxx-7ca9ecf559b3",
"host": "myregistry.azurecr.io",
"method": "DELETE",
"useragent": "python-requests/2.18.4"
}
}
مثال على أوامر Azure CLI التي تشغل خطاف ويب حدث delete:
# Delete repository
az acr repository delete --name MyRegistry --repository MyRepository
# Delete image
az acr repository delete --name MyRegistry --image MyRepository:MyTag
حدث حذف المخطط البياني
خطاف ويب تم تشغيله عند حذف مستودع أو مخطط Helm البياني.
حمولة حدث حذف المخطط البياني
العنصر | النوع | الوصف |
---|---|---|
id |
سلسلة | معرف حدث خطاف الويب. |
timestamp |
التاريخ والوقت | الوقت الذي تم فيه تشغيل حدث خطاف الويب. |
action |
سلسلة | الإجراء الذي قام بتشغيل حدث خطاف الويب. |
target | نوع معقد | الهدف من الحدث الذي قام بتشغيل حدث خطاف الويب. |
الهدف
العنصر | النوع | الوصف |
---|---|---|
mediaType |
سلسلة | نوع MIME للعنصر المُشار إليه. |
size |
Int32 | عدد وحدات البايت الخاصة بالمحتوى. |
digest |
سلسلة | شفرة تجزئة المحتوى، كما هو محدد بواسطة مواصفات واجهة برمجة تطبيقات HTTP للإصدار 2 من السجل. |
repository |
سلسلة | اسم المستودع. |
tag |
سلسلة | اسم علامة المخطط البياني. |
name |
سلسلة | اسم المخطط البياني. |
version |
سلسلة | إصدار المخطط البياني. |
مثال على الحمولة: حدث حذف المخطط البياني
{
"id": "338a3ef7-ad68-4128-xxxx-fdd3af8e8f67",
"timestamp": "2019-03-06T00:10:48.1270754Z",
"action": "chart_delete",
"target": {
"mediaType": "application/vnd.acr.helm.chart",
"size": 25265,
"digest": "sha256:xxxx8075264b5ba7c14c23672xxxx52ae6a3ebac1c47916e4efe19cd624dxxxx",
"repository": "repo",
"tag": "wordpress-5.4.0.tgz",
"name": "wordpress",
"version": "5.4.0.tgz"
}
}
مثال على الأمر Azure CLI الذي يقوم بتشغيل خطاف ويب حدث chart_delete:
az acr helm delete wordpress --version 5.4.0 --name MyRegistry